반응형
이전에 이동평균에 대해 다루어 보았습니다.
이동 평균 필터
주식(비트코인) 그래프를 보면 매 순간의 데이터가 아닌 평균을 이용해 중장기적인 추이를 보고는 합니다 (아래의 파란색 선) 평균과 차이 평균은 모든 데이터를 고려 했습니다. 반면 이동 평균
lceland.tistory.com
이동 평균의 단점으로는
샘플 내에서 오래된 데이터와 최신 데이터의 영향이
같다는 점이 있었고
이로 인해 시간 지연이 발생했습니다.
저주파 통과 필터에서는 이를 해결하기 위해
오래된 값일 수록 가중치를 낮게 두도록 하였습니다.
재귀식은 다음과 같습니다.
위 식에서 가중치 α(알파) 는
0 < α < 1 이며
따라서 오래 된 값일 수록 지수적으로
감소함을 알 수 있습니다.
따라서 이를 "지수 가중 이동평균 필터"라고도 부릅니다.
MATLAB 코드
clear all;
Nsamples = 500;
Xsaved = zeros(Nsamples, 1);
Xmsaved = zeros(Nsamples, 1);
for k=1:Nsamples
xm = GetSonar();
x = LPF(xm);
Xsaved(k) = x;
Xmsaved(k) = xm;
end
dt = 0.02;
t = 0:dt:Nsamples*dt-dt;
figure
hold on
plot(t, Xmsaved, 'r.');
plot(t, Xsaved, 'b');
legend('Measured', 'LPF')
function xlpf = LPF(x)
persistent prevX
persistent firstRun
if isempty(firstRun)
prevX = x;
firstRun = 1;
end
alpha = 0.7;
xlpf = alpha*prevX + (1 - alpha)*x;
prevX = xlpf;
end
뭐 큰 효과는 없지만
그래도 시간 지연을 약간 감소 시켰습니다.
LPF 에서는 α 를 얼마나 잘 선정했느냐에 따라
성능이 좌우 됩니다.
이동 평균 필터에서는 n 을 얼마로 정하는 것인지가
비슷한 역할을 합니다.
α 가 클수록 이전 데이터를 고려하는 것이고
작을 수록 최신 데이터를 고려하는 것입니다.
이전 데이터를 고려할수록 전체 평균의 역할 처럼
잡음을 제거하는 성질이 있고
최신 데이터를 고려할수록 변화에 민감하게
반응 하는 것입니다.
LPF 를 다른 재귀 필터들과
비교하면 다음과 같습니다.
반응형
'others > 수학 (기본기)' 카테고리의 다른 글
[선형대수학] introduction to Linear Algebra 4th Edition 1-2 Challenge Problems 풀이 (0) | 2022.11.09 |
---|---|
이동 평균 필터 (4) | 2022.09.16 |
푸리에 변환 - 구형파(사각형 펄스) <-> sinc 함수 (0) | 2022.09.15 |
Sinc 함수 (sinc function).. 뭐하는 놈이냐? (0) | 2022.09.15 |
"칼만 필터는 어렵지 않아" 1-1 평균 필터 (0) | 2022.09.05 |