主要内容gydF4y2Ba

移动平均滤波器与FIR滤波器有什么不同?gydF4y2Ba

移动平均滤波器是常规FIR滤波器的一种特殊情况。两个滤波器都有有限的脉冲响应。移动平均滤波器使用一系列缩放的1作为系数,而FIR滤波器系数是根据滤波器规格设计的。它们通常不是1的序列。gydF4y2Ba

流数据的移动平均是用一个有限滑动窗口计算的:gydF4y2Ba

米gydF4y2Ba ogydF4y2Ba vgydF4y2Ba 一个gydF4y2Ba vgydF4y2Ba ggydF4y2Ba =gydF4y2Ba xgydF4y2Ba [gydF4y2Ba ngydF4y2Ba ]gydF4y2Ba +gydF4y2Ba xgydF4y2Ba [gydF4y2Ba ngydF4y2Ba −gydF4y2Ba 1gydF4y2Ba ]gydF4y2Ba +gydF4y2Ba ...gydF4y2Ba +gydF4y2Ba xgydF4y2Ba [gydF4y2Ba ngydF4y2Ba −gydF4y2Ba NgydF4y2Ba ]gydF4y2Ba NgydF4y2Ba +gydF4y2Ba 1gydF4y2Ba

NgydF4y2Ba+ 1是过滤器的长度。该算法是正则FIR滤波器的一种特殊情况,其系数向量为[gydF4y2BabgydF4y2Ba0gydF4y2Ba,gydF4y2BabgydF4y2Ba1gydF4y2Ba、……gydF4y2BabgydF4y2BaNgydF4y2Ba]。gydF4y2Ba

FgydF4y2Ba 我gydF4y2Ba RgydF4y2Ba OgydF4y2Ba ugydF4y2Ba tgydF4y2Ba pgydF4y2Ba ugydF4y2Ba tgydF4y2Ba =gydF4y2Ba bgydF4y2Ba 0gydF4y2Ba xgydF4y2Ba [gydF4y2Ba ngydF4y2Ba ]gydF4y2Ba +gydF4y2Ba bgydF4y2Ba 1gydF4y2Ba xgydF4y2Ba [gydF4y2Ba ngydF4y2Ba −gydF4y2Ba 1gydF4y2Ba ]gydF4y2Ba +gydF4y2Ba ...gydF4y2Ba +gydF4y2Ba bgydF4y2Ba NgydF4y2Ba xgydF4y2Ba [gydF4y2Ba ngydF4y2Ba −gydF4y2Ba NgydF4y2Ba ]gydF4y2Ba

为了计算输出,常规FIR滤波器将每个数据样本与[gydF4y2BabgydF4y2Ba0gydF4y2Ba,gydF4y2BabgydF4y2Ba1gydF4y2Ba、……gydF4y2BabgydF4y2BaNgydF4y2Ba向量并添加结果。移动平均过滤器不使用任何乘数。该算法将所有数据样本相加,并将结果与gydF4y2Ba1 /gydF4y2BafilterLengthgydF4y2Ba.gydF4y2Ba

移动平均滤波器和FIR滤波器的频率响应gydF4y2Ba

比较移动平均滤波器的频率响应与常规FIR滤波器的频率响应。将常规FIR滤波器的系数设置为按比例缩放的1的序列。缩放因子为1/|filterLength|。gydF4y2Ba

创建一个gydF4y2Badsp。F我RFilter系统对象™,并设置其系数为1/40。要计算移动平均线,请创建一个gydF4y2Badsp。MovingAveragegydF4y2Ba长度为40的滑动窗口的系统对象。两个滤波器都有相同的系数。输入为均值为0,标准差为1的高斯白噪声。gydF4y2Ba

Filter = dsp。FIRFilter (gydF4y2Ba“分子”gydF4y2Ba的(40)/ 40);mvgAvg = dsp.MovingAverage(40);Input = randn(1024,1);filterOutput = filter(input);mvgAvgOutput = mvgAvg(输入);gydF4y2Ba

使用fvtool可视化两个滤波器的频率响应。gydF4y2Ba

hfvt = fvtool(filterOutput,1,mvgAvgOutput,1);传奇(hfvtgydF4y2Ba数字滤波器的gydF4y2Ba,gydF4y2Ba“移动平均滤波器”gydF4y2Ba);gydF4y2Ba

图幅度响应(dB)包含一个轴对象。标题为Magnitude Response (dB)的axis对象包含2个类型为line的对象。这些对象代表FIR滤波器,移动平均滤波器。gydF4y2Ba

频率响应完全匹配,证明了移动平均滤波器是FIR滤波器的一种特殊情况。gydF4y2Ba

为了便于比较,请查看无噪声滤波器的频率响应。gydF4y2Ba

fvtool(过滤器);gydF4y2Ba

图幅度响应(dB)包含一个轴对象。标题为Magnitude Response (dB)的axes对象包含一个类型为line的对象。gydF4y2Ba

将滤波器的频率响应与理想滤波器的频率响应进行比较。你可以看到通带中的主波瓣不是平坦的,而阻带中的波纹是没有约束的。移动平均滤波器的频率响应与理想滤波器的频率响应不匹配。gydF4y2Ba

为了实现一个理想的FIR滤波器,将滤波器系数改为一个不是按比例缩放的1序列的向量。滤波器的频率响应发生变化,趋向于向理想滤波器响应移动。gydF4y2Ba

根据预定义的滤波器规格设计滤波器系数。例如,设计一个等纹波FIR滤波器,其归一化截止频率为0.1,通带纹波为0.5,阻带衰减为40 dB。使用gydF4y2Bafdesign.lowpassgydF4y2Ba来定义筛选器规范和gydF4y2Ba设计gydF4y2Ba方法来设计滤波器。gydF4y2Ba

FIReq = fdesign.lowpass(gydF4y2Ba“N, Fc,美联社,Ast”gydF4y2Ba现年40岁的0.1,0.5,40);filterCoeff =设计(FIReq,gydF4y2Ba“equiripple”gydF4y2Ba,gydF4y2Ba“SystemObject”gydF4y2Ba,真正的);fvtool (filterCoeff)gydF4y2Ba

图幅度响应(dB)包含一个轴对象。标题为Magnitude Response (dB)的axis对象包含2个类型为line的对象。gydF4y2Ba

滤波器在通带中的响应几乎是平坦的(类似于理想响应),阻带具有约束的等波纹。gydF4y2Ba

相关的话题gydF4y2Ba