칼만필터(Kalman filter)는 시스템의 동역학 모델과 센서의 확률적 특성을 이용하여 시스템의 상태를 추정하는 알고리즘이다 (https://pasus.tistory.com/105). 만약 시스템의 동역학 모델이 선형이고 그 모델의 오차와 센서 노이즈를 가우시안(Gaussian) 확률 함수로 정확히 표현할 수 있다면 칼만필터가 계산한 시스템의 상태 추정값은 최소평균제곱오차(MMSE, minimum mean-square error) 관점에서 최적(optimal)이다. 가우시안이 아니더라도 칼만필터는 최상(best)의 추정값을 산출한다.
하지만 실제로는 많은 상황에서 시스템 모델의 오차와 센서 노이즈의 확률적 특성을 모르거나 부분적으로만 아는 경우가 많기 때문에 부정확한 확률 특성 값을 사용한 칼만필터의 상태 추정값은 최적 또는 최상이 아닐 수 있고 심지어 발산할 수도 있다.
이 문제를 해결하기 위한 방안으로 적응(adaptive) 칼만필터에 대한 연구가 그동안 많이 진행되어 왔다. 현재 적응 칼만필터는 공학의 전 분야와 일기예보 및 계량경제학 등 다양한 분야에서 활용되고 있다.
적응 칼만필터에서 필수적인 부분은 칼만필터에서 요구되는 시스템 모델의 오차와 센서 노이즈의 확률적 특성, 정확히는 프로세스 노이즈 및 센서 노이즈의 공분산(covariance) 행렬을 식별(identification)하는 문제다. 이에 대한 연구도 많이 있는데 여기서는 2006년에 Odelson이 개발한 자기공분산최소제곱(ALS, autocovariance least-squares) 추정방법을 소개한다.
이 방법은 칼만필터의 이노베이션을 이용하여 노이즈 공분산 행렬을 추정하는 것으로서, 다른 방법보다 계산이 간단하고 제약이 적은 장점이 있다. 반면 단점도 적지 않아서 이에 대한 후속 연구도 많은 편이다. 여기서는 처음 개발된 알고리즘을 소개하며 관련 연구는 다음 논문을 참고하기 바란다.
B. Odelson, "A new autocovariance least-squares method for estimating noise covariances", Automatica, 2006.
M. Rajamani, Data-based Techniques to Improve State Estimation in Model Predictive Control, Ph.D. thesis, 2007.
L. Zhang, " On the Identification of Noise Covariances and Adaptive Kalman Filtering: A New Look at a 50 Year-Old Problem", IEEE Access, 2020.
X. Lin, "A real-time autocovariance least-squares algorithm", Digital Signal Processing, 2022.
다음과 같은 선형 시스템에 대해서
칼만필터 알고리즘은 다음과 같다 (https://pasus.tistory.com/355).
식 (1)에서 행렬
그런데 만약 일정한 조건을 만족하면 공분산이 상수 행렬로 수렴하며 그와 함께 칼만게인도 상수 행렬이 되는 것을 볼 수 있다. 이런 상태를 정정상태(steady-state)라고 한다.
상수 칼만게인을 이용하는 칼만필터를 정정상태 칼만필터(steady-state KF)라고 한다. 정정상태 칼만필터는 준최적(suboptimal) 필터이지만 공분산을 업데이트할 필요가 없고 사전에 미리 계산된 게인값을 사용하므로 계산량이 대폭 감소되는 장점이 있어 가장 많이 사용되는 칼만필터 형태다.
수학으로 풀어보는 칼만필터 알고리즘 - 예스24
수학 때문에 칼만필터에 장벽을 느끼는 이들을 위한 책!칼만필터는 수학 알고리즘이다. 따라서 수학식 없이는 칼만필터를 이해할 수도, 사용할 수도 없다. 『수학으로 풀어보는 칼만필터 알고
www.yes24.com
식 (2)에서 예측 공분산
그러면 정상상태 칼만필터 알고리즘은 다음과 같이 된다.
즉 상수 행렬인 칼만필터 게인
위 식을 이산시간 대수 리카티 방정식(discrete-time algebraic Riccati equation)이라고 한다. 이산시간 대수 리카티 방정식은
그렇다면 정정상태 칼만필터에서는 이노베이션(innovation),
최적 칼만필터에서 이노베이션이 평균이
먼저
여기서
이다. 따라서 평균 전파식은
이 되는데 칼만게인
이므로
이번에는 정상(stationary) 가우시안 시퀀스가 됨을 증명한다. 이전 게시글 (https://pasus.tistory.com/355)에 의하면 이노베이션의 자기공분산은 다음과 같이 계산된다.
여기서
식 (12)에 의하면 이노베이션의 자기공분산은 시간차
이제 이노베이션의 자기공분산은 시간차 만의 함수이므로 시간스텝 하첨자를
시간차
이제 시스템의 운동 모델 (1)에서
그러면 식 (14)에서
크로넥커 곱과 벡터화 기법 (https://pasus.tistory.com/354)을 이용하여 식 (14)를 벡터화시키면 다음과 같다.
여기서
이제 식 (6)을 백터화시키면 다음과 같다.
식 (17)에서
여기서
이다. 식 (18)에서 각 행렬의 차원을 보면
이제
여기서
먼저 첫번째 방법은 이노베이션 시퀀스를
이 방법은 시간 시프트

두번쨰 방법은 시간 평균에 사용되는 데이터 수를 고정시키는 방법으로서 다음 식으로 시간 평균을 계산한다.

지금까지 ALS 알고리즘에 대해서 설명했는데 이 방법의 단점은 다음과 같다. 먼저
'유도항법제어 > 칼만필터를 넘어서' 카테고리의 다른 글
이노베이션 (Innovation)의 확률적 특성 (0) | 2024.12.15 |
---|---|
[PF-2] SIS에서 파티클 필터로 (0) | 2021.07.11 |
[PF-1] 순차 중요 샘플링 (Sequential Importance Sampling) (0) | 2021.06.13 |
베이즈 필터 (Bayes Filter) (0) | 2021.06.08 |
칼만필터 알고리즘 (0) | 2021.03.04 |
댓글