다음의 예제를 통해 이동평균 필터의 성능을 살펴보기로 하자.
--------------------------------------------------------------------------------------------------------------
고평균 연구원은 초음파 거리계를 개발하는 중이다. 시제품의 성능을 검증하기 위해 헬기에 초음파 거리계를 장착하고, 지면까지의 거리를 측정하는 비행 시험을 실시했다. 측정값은 0.02초 간격으로 저장했다. 그런데 헬기의 진동, 지면의 상태 등의 영향으로 측정 데이터에 잡음이 심했다. 그래서 이동평균 필터로 이 잡음을 제거하기로 했다.
--------------------------------------------------------------------------------------------------------------
우선 초음파 거리계의 측정값이 아래와 같이 주어져있다고 하자.
아래 R 코드는 위 문제를 풀기 위한 테스트 프로그램이다.
rm(list = ls())
set.seed(123)
z = c(as.matrix(read.csv("SonarAlt.csv")))
k = 10;
Nsamples = 500
Xsaved = rep(0, Nsamples)
Xmsaved = rep(0, Nsamples)
prevAvg = 0;
for (n in 1:Nsamples)
{
if (n == 1) {
avg = mean(z[1:k]);
} else {
xm = z[n:(n+k-1)];
avg = prevAvg + ((xm[k]-xm[1]) / k)
}
prevAvg = avg;
Xsaved[n] = avg;
Xmsaved[n] = z[n];
}
dt = 0.02
t = seq(0, length = Nsamples, by=dt)
plot(t, Xmsaved)
points(t, Xsaved, col="red")
아래 그림은 측정 거리와 이동평균 필터 출력값을 비교한 그래프이다. 이동평균 필터로 처리한 결과를 보면 측정 데이터의 잡음이 제거되고 고도 변화 추이도 잘 따라간다. 특히 6~8초 사이에는 측정값의 잡음이 심한데도 이동평균 출력은 비교적 안정되어 있다.
그런데 이동평균 처리된 고도에 약간씩 시간 지연이 있는 것이 보인다. 실제 고도의 변화가 바로 반영되지 않고 조금씩 늦게 나타나는 것이다. 만약 시간 지연이 너무 크다면, 데이터 개수(k)를 줄여야 한다. 대신 측정 잡음을 제거하는 성능은 더 떨어지게 된다. 반대로 데이터 개수를 늘리면 잡음 제거 성능은 개선되지만, 시간 지연은 커져 측정 데이터의 변화가 바로 반영되지 않게 된다.
이처럼 이동평균 필터를 설계할 때는, 평균에 동원하는 데이터 개수(k)를 잘 선정해야 한다. 이 값이 잡음 제거와 변화를 빨리 쫓아가려는 노력을 기울이고, 움직임이 느리다면 이동평균의 데이터 개수를 늘려 잡음 제거 특성을 높이는게 바람직하다.
더불어, 이동평균 필터는 평균 필터와 달리 알고리즘을 재귀식으로 바꿔도 큰 장점이 없다. 이동평균을 구할 때 총합을 구하는 데이터 개수는 k개로 항상 일정하다. 그래서 새로운 측정 데이터가 들어와도 평균을 내는 데 드는 계산량은 증가하지 않는다. 평균과 달리 애초부터 계산 부담이 별로 크지 않아, 재귀식이 힘을 발휘할 여지가 별로 없는 것이다.
'노트 > Kalman Filter' 카테고리의 다른 글
칼만 필터 알고리즘 - 시스템 모델 (0) | 2016.04.09 |
---|---|
칼만 필터 알고리즘 - 예측 과정 (0) | 2016.04.01 |
칼만 필터 알고리즘 - 추정 과정 (0) | 2016.03.22 |
칼만 필터 알고리즘 - 개요 (0) | 2016.03.19 |
저주파 통과 필터 - 1차 저주파 통과 필터 R코드 (0) | 2016.03.15 |
저주파 통과 필터 - 1차 저주파 통과 필터 (0) | 2016.03.14 |
이동평균 필터 - 이동평균의 재귀식을 사용할 때의 한계 (0) | 2016.03.14 |
이동평균 필터 - 이동평균의 재귀식 (0) | 2016.03.11 |
평균 필터 - 평균의 재귀식 R 코드 (0) | 2016.03.10 |
평균 필터 - 평균의 재귀식 (0) | 2016.03.09 |