1 .介绍
滑动平均值滤波可以消除随机噪声。 由于测量过程中随机噪声的影响,测量结果不准确,通过多次测量同一数据源,采用多点集平均的方法获得数据,一种比较合理的估计是滑动均值滤波。
例如第80个采样点第5次平均值滤波:
y [ 80 ]=1/5(x [ 80 ] x [ 81 ] x [ 82 ] x [ 83 ] x [ 84 ] ) )
这种均值滤波存在时间延迟,在正弦采样序列中使用移动平均滤波时,过零点偏移最为明显。 一般在应用上进行了改进,以现在的点为中点,在左右各N/2点进行移动平均,n为偶数时可以在边界点上追加乘以0.5的系数。
y [ 80 ]=1/5(x [ 78 ] x [ 79 ] x [ 80 ] x [ 81 ] x [ 82 ] ) )
介绍通过在正弦信号上叠加随机噪声并进行移动平均来消除测量值毛刺的简单实验。
2 .时域计算方法
平均二字是指各点权重相同,如果对各点单独计算权重,即为指数加权滤波。
移动平均的计算看起来很简单,但是是非常花时间的计算,特别是平均分数多的话会变得明显。
y[n]=1/m*(x[1]x[2]x3[3]…x[m-1] ) )
观察计算公式可知,每次新的测量值相对于上次的测量值只有两点不同。 通过舍弃最老的点,累积最新的点,可以进行改善。 如开头示例所示,5点滑动平均滤波。
y [ 80 ]=1/5(x [ 78 ] x [ 79 ] x [ 80 ] x [ 81 ] x [ 82 ] ) )
改进后,分数越多越明显。
y[80]=y[79]1/5(x[82]-x[77] )。
3 .频率特性
移动平均值滤波也是低通滤波器的一种,研究IIR和FIR滤波器的表达式可知,移动平均值滤波是FIR滤波器的特例,各阶滤波系数相同。
通用FIR滤波: y [ n ]=b [0] * x [ n ] b [1] * x [ n-1 ] b [2] * x [ n-2 ] . b [ nums-1 ] * x [ n-num S1 ]
设b [0]=b [1]=b [2]=…=b [ nums-1 ]=1/nums。 也就是说
是FIR滤波的特例,可以改写为
、其中b [0]=b [1]=b [2]=…=b [ num-1 ]=1/num。
为了简化计算,直接从连续信号进行观察,
Tw是平均幅度,该公式的频率响应为
设输入函数x(t )=cos t=cos 2ft,t=0时,x ) t )达到最大,x ))=x ) t=0)=1,y ))=y ) t=0)计算如下:
传输函数
来修改选定线条的属性。 可知其传递函数为sinc函数,频率响应为面积为1的矩形,时域为最大值为1的冲击波,直流信号通过时f=0,h(f )=1。
截止频率为fco,此时增益为-3db,即衰减倍率为0.707,根据sinc(x )特性曲线求出sinc(x )=0.707,得到x=1.3917。 所以只要带入sinc(x )=sin(x ) (x )/x为h ) (w )就可以得到
、简化后: Tw=0.443/fco。
这里,Tw是平均宽度,在采样率已知情况下,Tw的大小依赖于平均点数,Tw=N * T0=N/fs .
滑动平均滤波器的点数和截止频率的关系可以表示如下。
N=0.443*fs/fco。
式中,n为平均分数,fs为采样频率,fco为截止频率。
应该注意的是,从上面的sinc(x )特性曲线可以看出,因为sinc是振动曲线,所以h ) w )有时为复数0。 这可以从h(w )的分子中看出,当f=n/Tw时,h ) w )为0。 下图是基于平均值滤波器截止频率的频率响应,在图表上可以看到多个0点。
4 .用FFT法分析滑动滤波器截止频率(参考文献3 )
sincethefirstfrequencyisalmostzero,could I design low pass filter,like Moving Average?
fc=(0.443/numberofpoint ) * Fsampling
It is correct?
amovingaveragefilteristhisfir :
{ 1/L 0=n L
h[n]={
{ 0 otherwise
list he ' number of taps ' (ifimplementednaively ) or the length of the
简单数据库(elay )。
ithasadefinitefrequencyresponse,and the -3.01 dB frequency (文艺之桃/p 'half-power point ' ) can be computed。
h(w )=DTFT{ h[n] }
L-1
=sum{1/l*e^(-j*w*n ) }
n=0
L-1
=1/L*sum{e^(-j*w*n ) }
n=0
1-e^(-j*w*l ) ) ) ) )1-e^(-j*w*l ) ) ) ) ) )。
=1/L---------
1-e^(-j*w ) )。
e^(-j*w*L/2 ) e^ ) j*w*L/2 )-e^ )-j*w*L/2 ) ) ) ) ) ) ) ) 65
=1/l---------------------------l
e^(-j*w/2 ) e^(-j*w/2 )e^(-j*w/2 ) ) ) ) ) ) ) ) ) ) ) 65
=1/L*E^(-J*W*(L-1 )/2 ) sin ) W*L/2 )/sin ) w/2 ) ) ) ) ) ) ) ) )。
youcanseethatinthelimitasw-0h (w )-1.nowwewanttoknowatwhatnormalizedangularfrequencywthat|h (w )|^2=1/2。
|h(w )|^2=(1/L*sin ) w*L/2 )/sin ) w/2 ) ) ^2=1/2
now,theickypartisthatwehavetosolvethisforthesmallestw 0
that|h|w|^2=1/2. anditwillbenon-simplefunctionofl.if lis
a large integer,thensin(w/2 ) is about w/2 for any frequency of
interest. then this becomes
sin(/(w*L/2 )w*L/2 )=sqrt(1/2) ) ) ) ) ) ) ) ) ) ) ) 65
thathappenswhenw * lis about 2.783113 orwhenw/(2* pi )=0.442946/L。
this is good only if L 1。
5 .参考文档
1.sinc函数
2. sinc
3.whichisthecut-offrequencyofmovingaveragelpfilter?