에듀테크 프로젝트 대시보드
칼만 필터 (Kalman Filter)
GPS 신호는 계속 튀고, 센서는 잡음투성이입니다. 그런데도 내비게이션 화면 속 내 차는 도로 위를 매끄럽게 달립니다. 비결은 "다음 위치를 예측"하고, "새 측정값으로 살짝 보정"하는 일을 매 순간 반복하는 칼만 필터입니다. 1960년 아폴로 달 착륙 항법 컴퓨터에 처음 실렸고, 지금은 드론·로봇·스마트워치 걸음 수까지 어디에나 들어 있습니다.
진짜 상태(위치·속도)는 볼 수 없고, 잡음 섞인 측정만 온다. 그 뒤에 숨은 진짜 값을 매 순간 추정한다.
내 예측이 더 믿을 만하면 예측 쪽으로, 측정이 더 정확하면 측정 쪽으로 — 불확실성 비율로 가중 평균.
과거 데이터를 저장할 필요 없이 직전 추정값 하나만 들고 재귀적으로 갱신. 실시간·저메모리.
회색 점은 원을 그리며 도는 진짜 목표입니다(마우스를 누르고 움직이면 직접 조종). 화면에 흩뿌려지는 빨간 점은 잡음 섞인 측정값(가짜 GPS), 초록 선은 칼만 필터의 추정 경로입니다. 슬라이더로 잡음 크기를 바꾸며 필터가 어떻게 반응하는지 보세요.
칼만 필터가 아는 것은 두 가지뿐입니다: 상태 추정값 x와 그 불확실성 P(공분산).
매 프레임 아래 두 단계를 반복합니다.
운동 모델(등속 등)로 상태를 앞으로 굴린다. x⁻ = F·x
아무 측정도 안 봤으니 불확실성은 커진다. P⁻ = F·P·Fᵀ + Q
측정 잔차 y = z − H·x⁻를 계산하고, 칼만 이득 K = P⁻Hᵀ / (H·P⁻Hᵀ + R)만큼만 반영.
x = x⁻ + K·y, P = (I − K·H)·P⁻ → 불확실성은 다시 줄어든다.
핵심은 칼만 이득 K입니다. 개념적으로 K = 내 예측의 불확실성 ÷ (내 예측 불확실성 + 측정 잡음).
K가 1에 가까우면 "측정을 통째로 믿는다", 0에 가까우면 "내 예측을 유지한다". 필터가 스스로 매 순간 이 비율을 조정합니다.
위치·속도를 추정하는 1D 등속 모델. 행렬 없이 스칼라만으로도 본질이 드러납니다.
[x, y, vx, vy]를 쓰는 등속(constant-velocity) 모델입니다.
속도는 직접 측정하지 않지만, 위치 측정이 쌓이면서 필터가 속도까지 추정해 냅니다 —
이것이 칼만 필터가 "숨은 상태"를 복원한다고 말하는 이유입니다.
| 방법 | 하는 일 | 칼만과의 차이 |
|---|---|---|
| 이동 평균 / 저역통과 필터 | 최근 N개 값을 평균 | 고정된 신뢰도. 잡음↑ 상황에 스스로 적응 못 함. 지연이 큼 |
| 최소제곱법 | 모든 데이터로 한 번에 직선 맞춤 | 배치(전체 데이터 필요). 칼만은 재귀적·실시간이며 사실상 "온라인 최소제곱" |
| PID 제어기 | 오차를 줄이도록 출력을 조종 | PID는 제어(actuate), 칼만은 추정(estimate). 실무에선 칼만으로 상태를 추정해 PID에 넣음 |
| 파티클 필터 | 수천 개 후보 샘플로 분포 표현 | 비선형·다봉 분포까지 처리. 대신 무겁다. 칼만은 "가우시안 하나" 가정으로 초경량 |
아폴로 유도컴퓨터, GPS+IMU 융합, 미사일·드론 자세 추정.
스마트폰 걸음 수·실내 위치, 스마트워치 심박, 화면 회전 감지.
라이다·카메라·바퀴 엔코더 센서 융합, 물체 추적(다중 객체 트래킹).
경제 지표 평활화, 배터리 잔량(SOC) 추정, 신호처리 잡음 제거.
더 읽을거리: 비선형 시스템엔 확장 칼만 필터(EKF)·무향 칼만 필터(UKF)를 쓴다. 칼만 필터는 선형·가우시안 가정 아래에서 이론적으로 최적(minimum variance) 추정기라는 것이 증명되어 있다.