多级半带IIR滤波器设计

这个例子展示了如何设计多级半带IIR抽取器。

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

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

成本效益案例研究

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

Fs=9.6e3;%采样频率:9.6 kHzTW=120;%过渡宽度Ast=80;%最小阻带衰减:80 dBM=8;%抽取因子NyquistDecimDesign=设计抽取器(M,“奈奎斯特”,M,TW,Ast,Fs);

多级半带FIR设计

获得有效FIR设计的一种方法是通过使用多速率多级技术。这种设计导致三个FIR半带抽取器级联。半带滤波器非常有效,因为每个其他系数都为零。

多级FIRDECIM=设计(NyquistDecimDesign,“多阶段”,...“半带设计法”,“等波纹”,“系统对象”,对);成本(多级FIRDECIM)
ans=带字段的结构:NumCoefficients:69个NumStates:126个乘法SPERINPUTSAMPLE:12.8750 AdditionsPerInputSample:12

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

多级半带IIR设计

椭圆滤波器是最佳等波纹滤波器的IIR等价物。该设计产生三个级联IIR半带抽取器。椭圆设计产生最有效的IIR半带设计。

多阶段设计=设计(NyquistDecimDesign,“多阶段”,...“半带设计法”,“埃利普”,“系统对象”,对);成本(多阶段)
ans=带字段的结构:NumCoefficients:11个NumStates:17个乘法SperInputSample:2.5000 AdditionsPerInputSample:5

这种方法的平均计算成本仅为2.5 MPI。

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

fvFig=fvtool(多阶段FirDecim、多阶段Decim、,“颜色”,“白色”);图例(fvFig,“多速率/多级FIR多相”,...“多速率/多级IIR多相”)

仔细检查实际上表明IIR滤波器的通带纹波远远优于FIR滤波器。因此,计算成本节约不会以降低震级响应为代价。

fvtool(MultistageFIRDecim、MultistageIrDecim、,“颜色”,“白色”);头衔(“通带幅值响应(dB)”)轴([0.325-0.0016 0.0016])

准线性相位半带IIR设计

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

IIRLinearPhaseFilt=设计(NyquistDecimDesign,“多阶段”,...“半带设计法”,“iirlinphase”,“系统对象”,对);成本(IIRLinearPhaseFilt)
ans=带字段的结构:NumCoefficients:25个NumStates:55乘法SPRINPUTSAMPLE:4.3750加法SPRINPUTSAMPLE:8.7500

虽然没有椭圆情况下的效率高,但该设计仍然比使用FIR半带更有效。

群时延比较

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

fvFig=fvtool(多阶段FirDecim、多阶段Decim、IIRLinearPhaseFilt、,...“颜色”,“白色”,“分析”,“grpdelay”);轴([0.6 0 225])标题(“通带群延迟”)图例(fvFig,“线性相位FIR”,“非线性相位椭圆IIR”,...“准线性相位IIR”)

不动点鲁棒性

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

希尔伯特设计=fdesign.hilbert(“TW,美联社”,96,.1,Fs);希尔伯特IIRFILT=设计(希尔伯特设计,“iirlinphase”,...“过滤器结构”,“瀑布道”,...“系统对象”,对);成本(HilbertIIRFilt)
ans=带字段的结构:NumCoefficients:10个NumStates:33乘法PRInputSample:10 AdditionsPRInputSample:25

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

realizemdl(HilbertIIRFilt)

总结

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

利用多速率/多相位技术的现代FIR滤波器设计工具弥补了这一差距,同时提供了线性相位响应以及对量化效应的良好敏感性,并且在定点实现时不存在稳定性和极限环问题。

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