2016年3月3日16:32:50
第一步EMWA滤波
Exponentially Weighted Moving Average(EWMA)指数加权移动平均是一种常用的序列数据处理方式,如下:
在时间 t, 根据实际的观测值(或量测值)我们可以求取 EWMA(t)如下:
EWMA(t ) = λY(t)+ ( 1-λ) EWMA(t-1) for t = 1, 2, …, n.
- EWMA(t):t时刻的估计值
- Y(t): t 时间之量测值﹐
- n is the number of observations to be monitored including EWMA0
- λ ( 0 < λ< 1 ) ﹐表EWMA对于历史量测值之权重系数﹐其值越接近1,表对过去量测值的权重较低
从另一个角度看, λ 决定了EWM A估计器跟踪实际数据突然发生变化的能力,即时效性, 显然随着λ 增大, 估计器的时效性就越强,反之,越弱;另一方面,由于 λ 的存在,EWMA还表现出一定的吸收瞬时突发的能力,这种能力称为平稳性。显然随着 λ 减小, 估计器的平稳性增强,反之降低。1
Img = imread('pic/barcode.bmp');
data = double(Img(50,:));
len = length(data);
%EWMA filter
EWMA_WEIGHT = 0.78;
y = data(1);
y0 = zeros(1,len);
y0(1:3) = data(1:3);
y00=y;y01=y;y02=y;y03=y;
y11=0;y12=0;
y21=0;y22=0;
for x = 4:len
y = data(x);
y01 = y0(x-1);
y00 = y01 + (y-y01) * EWMA_WEIGHT;
y0(x) = y00;
y02 = y0(x-2);
y03 = y0(x-3);
end
figure(1);
plot(data);
hold on;
plot(y0);
hold off;