앞으로 몇 개의 글에 걸쳐서 Kalman filter에 대해서 정리해보고자 합니다.
해당 글들은 "칼만 필터는 어렵지 않아" (김성필) 책을 기반으로 정리하는 내용들입니다. 책의 지향점과 마찬가지로 수학적인 유도와 증명보다는 칼만 필터의 핵심 알고리즘의 작동 개념을 이해하고 여러 예제를 통해 학습하는 것을 목표로 합니다.
먼저 Kalman filter를 이해하기 위해 필요한 기본적인 filter인 average filter, moving average filter, low-pass filter에 대해서 정리하겠습니다.
평균 필터 (Average Filter)
정말 간단한 연산으로써 만약 개의 데이터 가 있다면 모든 데이터를 더한 뒤 로 나눠주는 필터입니다.
해당 연산을 표현하면 아래와 같습니다.
위의 식을 통해 평균을 구하게 된다면 새로운 데이터 가 추가된다면 다시 모든 데이터를 더한 뒤 을 나눠줘야 합니다. 이렇게 데이터가 추가되었을 때 앞서 구한 를 사용하여 평균을 구하게 된다면 계산량에서 큰 이득을 얻을 수 있습니다. 따라서 해당 식을 재귀식으로 변경하면 아래와 같습니다.
위와 같이 이전의 계산 결과 와 로 나타낸 평균 를 구하는 재귀식을 얻었습니다.
조금 더 간단히 표현해 보기 위해 이라고 정의하게 되면 가 됩니다. 해당 정의를 위의 재귀식에 대입하면 아래와 같은 좀 더 간소화된 평균 필터를 구할 수 있습니다.
이동평균 필터 (Moving Average Filter)
주식 차트에서 많이 볼 수 있는 이동평균선을 구하는 이동평균 필터입니다.
이전에 정리했던 평균 필터의 경우에는 잡음의 영향을 효과적으로 줄여주지만 시간에 따라 측정하는 값이 변하는 경우 동적인 변화를 없앤 하나의 평균값을 구하게 됩니다. 하지만 우리가 앞으로 다룰 대부분의 물리량은 시간에 따라 값이 변합니다. 이러한 동적인 변화를 반영하기 위해 제안된 방법이 이동평균입니다.
이동평균 필터는 모든 측정 데이터가 아닌 지정된 개수의 최근 측정값만 사용하여 평균을 계산합니다. 만약 새로운 데이터가 들어온다면 가장 오래된 데이터는 버리는 방식으로 일정한 개수의 데이터를 유지하며 평균을 구합니다. 개의 데이터에 대한 이동평균을 수식으로 표현하면 아래와 같습니다.
평균 필터와 마찬가지로 이동평균 필터 식을 재귀식으로 바꿔보겠습니다.
위의 두 식을 빼서 정리를 해보면
최종적으로 위와 같은 재귀식을 얻을 수 있습니다.
저주파 통과 필터 (Low-pass Filter)
대학교 학부 수업에서 종종 들었던 low-pass filter는 이름 그대로 저주파 신호는 통과시키고 고주파 신호는 걸러내는 필터를 의미합니다. 주로 우리가 측정하는 신호는 저주파 성분을 가지고 있고 잡음(noise)은 고주파 성분으로 되어 있어 low-pass filter를 통해 신호의 잡음을 제거하는 용도로 많이 사용됩니다. 해당 글에서는 1차 low-pass filter의 작동 개념에 대해서 이해해 보겠습니다.
Moving average filter는 동적인 변화를 반영할 수 있다는 장점이 있지만 단점도 존재합니다. Moving average filter의 정의를 다시 풀어써보겠습니다.
위 식을 보면 모든 데이터 n개에 대해서 동일한 가중치 을 부여하여 계산이 됩니다. 즉, 가장 오래된 데이터 와 가장 최근 데이터 가 같은 비중으로 평균에 반영된다는 의미입니다.
만약 측정되는 물리량이 시간에 따라 크게 변한다고 가정해 봅시다. 측정값이 [2, 3, 10, 20, 25]로 변하는 값이 있다고 했을 때 가장 오래된 데이터인 1과 가장 최근 데이터인 25를 동일한 가중치로 평균을 계산하였을 때는 12의 값을 가지게 됩니다. 이렇게 변화량이 매우 큰 경우엔 moving average filter의 오차는 커질 수밖에 없다는 단점이 존재합니다.
가장 최근 데이터에는 좀 더 큰 가중치인 을 가장 오래된 데이터에는 좀 더 작은 가중치인 을 부여하여 계산하게 되면 어떨까요? 계산 결과는 19.3으로 가장 최근 데이터의 영향을 많이 받아 최근 데이터에 근사한 값을 얻을 수 있습니다.
동일한 가중치로 모든 데이터를 구하게 되는 moving average filter의 단점을 보완하여 과거 데이터들보다 현재에 가까운 데이터들에 더 높은 가중치를 주어 구하는 것을 low-pass filter라고 합니다.
1차 low-pass filter를 수식으로 표현하자면 아래와 같습니다.
여기서 는 인 임의의 상수입니다. 위의 수식은 이전에 보았던 average filter와 매우 유사한 형식을 띠고 있습니다. 다만 다른 점은 average filter는 를 지정할 수 없고 데이터 개수에 따라 결정된다는 점이 다릅니다.
그렇다면 low-pass filter가 moving average filter의 단점을 보완하였는지 확인해 보겠습니다.
이 수식에 다시 의 값을 넣어보면 아래와 같이 정리됩니다.
이때 이므로 관계가 성립하게 됩니다.
따라서 과거의 데이터보다 최근에 가까울수록 더 높은 가중치를 부여해 추정값을 계산함으로써 moving average filter의 단점을 보완하였음을 알 수 있습니다.
'Study > Radar' 카테고리의 다른 글
FMCW (Frequency-Modulated Continuous Wave) Radar (9) | 2024.10.13 |
---|