主要内容

多级半带IIR滤波器设计

这个例子说明了如何设计多级半频带IIR滤波器。

与FIR多速率滤波器类似,IIR半带抽取/插值器可以使用高效的多相结构实现。IIR多相滤波器有几个有趣的特性:它们需要非常少的乘法器来实现,它们具有固有的稳定性,具有低舍入噪声灵敏度和无极限环。

巴特沃斯滤波器和椭圆IIR滤波器可以设计为半带抽取/插值响应类型。此外,使用专门的IIR设计算法可以实现几乎线性的相位响应。

成本效益案例研究

衡量过滤器计算成本的一种方法是确定每个输入样本(MPIS)需要计算(平均)多少次乘法。考虑一个MPIS计数案例研究:FIR vs IIR以下过滤器规格:

Fs = 9.6 e3;%采样频率:9.6 kHzTW = 120;%过渡宽度Ast = 80;%最小阻带衰减:80 dBM = 8;%大量毁灭的因素NyquistDecimDesign = fdesign.decimator (M,“奈奎斯特”、米、TW Ast, Fs);

多级半带FIR设计

获得有效FIR设计的一种方法是使用多速率多级技术。该设计实现了三个FIR半频带级联抽取器。半带滤波器非常有效,因为其他系数都是零。

MultistageFIRDecim =设计(NyquistDecimDesign,“多级”...“HalfbandDesignMethod”“equiripple”“SystemObject”,真正的);成本(MultistageFIRDecim)
ans = struct带有以下字段:NumCoefficients: 69 NumStates: 126 MultiplicationsPerInputSample: 12.8750 AdditionsPerInputSample: 12

该方法的计算成本平均为12.875 MPIS。

多级半带IIR设计

椭圆滤波器是最优等纹波滤波器的IIR等效。该设计实现了三个IIR半带小数级联。椭圆设计产生最有效的IIR半带设计。

MultistageIIRDecim =设计(NyquistDecimDesign,“多级”...“HalfbandDesignMethod”“ellip”“SystemObject”,真正的);成本(MultistageIIRDecim)
ans = struct带有以下字段:NumCoefficients: 11 NumStates: 17 MultiplicationsPerInputSample: 2.5000 AdditionsPerInputSample: 5

该方法的计算成本平均仅为2.5 MPIS。

如果我们叠加FIR和IIR多速率多级滤波器的幅度响应,这两个滤波器看起来非常相似,都符合规范。

fvFig = fvtool (MultistageFIRDecim MultistageIIRDecim,“颜色”“白色”);传奇(fvFig“多重速率的/多级冷杉多相”...“多重速率的/多级IIR多相”

仔细观察就会发现,IIR滤波器的通带纹波远优于FIR滤波器。因此,节省计算成本并不是以降低量级响应为代价。

fvtool (MultistageFIRDecim MultistageIIRDecim,“颜色”“白色”);标题(“通频带幅度响应(dB)”)轴([0 0.325 -0.0016 0.0016])

准线性相位半带IIR设计

通过修改用于实现每个IIR半带滤波器的结构,可以使用IIR滤波器实现几乎线性的相位设计。这种设计也产生了三个半频带级联小数。然而,每个半带以一种特定的方式实现,其中包括一个与全通滤波器并联的纯延迟。这种实现上的约束有助于提供准线性相位响应。与椭圆设计相比,这是以略微增加计算成本为代价的。

IIRLinearPhaseFilt =设计(NyquistDecimDesign,“多级”...“HalfbandDesignMethod”“iirlinphase”“SystemObject”,真正的);成本(IIRLinearPhaseFilt)
ans = struct带有以下字段:NumCoefficients: 25 NumStates: 55 MultiplicationsPerInputSample: 4.3750 AdditionsPerInputSample: 8.7500

虽然效率不如椭圆情况下,设计仍然比使用FIR半带更有效。

群时延比较

叠加三种设计的群延迟,并聚焦滤波器的通带(感兴趣的区域),我们可以验证后一种IIR设计在该区域实现准线性相位(几乎平坦的群延迟)。相比之下,椭圆滤波器虽然效率更高(总体组延迟更低),但具有明显的非线性相位响应。

fvFig = fvtool (MultistageFIRDecim MultistageIIRDecim IIRLinearPhaseFilt,...“颜色”“白色”“分析”“grpdelay”);轴([0 0.6 0 225])标题(通频带的群延迟的)传说(fvFig“线性相位冷杉”“非线性相位椭圆IIR”...“准线性相位IIR”

定点的鲁棒性

多相IIR滤波器可以用不同的方法实现。我们已经在前面的部分中遇到了单速率和多速率级联allpass。现在以希尔伯特变压器为例。准线性相位IIR Hilbert滤波器的过渡宽度为96Hz,最大通带纹波为0.1 dB,可以实现级联波数字滤波器,仅使用10个MPIS,而FIR等效滤波器使用133个MPIS:

HilbertDesign = fdesign.hilbert (TW,美联社的, 96年。1、Fs);HilbertIIRFilt =设计(HilbertDesign,“iirlinphase”...“FilterStructure”“cascadewdfallpass”...“SystemObject”,真正的);成本(HilbertIIRFilt)
ans = struct带有以下字段:NumCoefficients: 10 NumStates: 33 MultiplicationsPerInputSample: 10 AdditionsPerInputSample: 25

波形数字滤波器已被证明是非常稳健的,即使极点接近单位圆。它们本质上是稳定的,具有低舍入噪声特性,并且没有极限环。要将IIR Hilbert滤波器转换为定点表示,可以使用realizemdl命令和定点工具对Simulink模型进行浮点到定点的转换:金宝app

realizemdl (HilbertIIRFilt)

总结

IIR滤波器传统上被认为比FIR滤波器更有效,因为它们需要更少的系数来满足给定的一组规格。

利用多速率/多相技术的现代FIR滤波器设计工具,在提供线性相位响应的同时,在定点实现时,具有良好的量化效应灵敏度和稳定性和极限环问题的缺乏,弥补了这一缺陷。

然而,IIR多相滤波器具有FIR滤波器的大部分优点,并且需要非常少的乘数来实现。