主要内容

多级滤波器设计中的IIR半带级

这个例子讨论了多级抽取器和插值器中的IIR半带级。

简介

速率转换滤波器可以使用多级抽取器和插值器有效地实现,它们是低通滤波器和下采样或上采样块的级联。您可以使用designMultistageDecimator而且designMultistageInterpolator获得如此高效的多级设计。这些设计默认使用FIR低通滤波器(通常是凯泽窗或等纹波设计)。然而,可以用IIR等价物替换FIR低通滤波器,只要这些IIR等价物提供与FIR级相同的滤波器规格。与FIR多速率滤波器类似,IIR抽取器和插值器可以使用多相结构有效地实现。IIR多相滤波器相比FIR设计有几个有趣的优点。这些滤波器需要非常少的乘数来实现,因此产生更小的计算成本。它们也有更好的增益响应。IIR设计的缺点是它们的非线性相位,以及由于不稳定性、量化敏感性和极限环问题在定点实现时的潜在挑战。然而,在某些情况下,IIR设计的这些缺点是可以解决的。

这个例子关注的是半频带阶段的decimator,但这个方法可以推广到更高的速率,以及插值器。

成本效益案例研究

卷积滤波器的计算成本主要受平均每个输入样本(MPIS)所需要的乘法次数的影响。在本例中,我们测量MPIS计数作为过滤器的计算成本。作为一个案例研究,分析几种FIR和IIR设计的滤波器规格如下。

Fs = 9.6 e3;采样频率:9.6 kHzTW = 120;%过渡宽度Ast = 80;最小阻带衰减:80 dBM = 8;%大量毁灭的因素

多级半波段标准FIR设计

你可以获得一个高效的多级FIR decimator设计使用designMultistageDecimator.在这个例子中,设计一个率的decimator= 8使用designMultistageDecimator产生了三个FIR半波段decimator的级联。

TW MultistageFIRDecim = designMultistageDecimator (M, Fs, Ast)
MultistageFIRDecim = dsp。FilterCascade属性:Stage1: [1x1 dsp.][1x1 dsp.]FIRDecimator] Stage3: [1x1 dsp.]FIRDecimator] CloneStages:假的

这种默认设计的计算成本平均为12.875 MPIS。使用成本函数来确定所设计滤波器级联系统对象的数值成本。

成本(MultistageFIRDecim)
ans =结构体字段:NumCoefficients: 69 NumStates: 126 MultiplicationsPerInputSample: 12.8750 AdditionsPerInputSample: 12

Halfband IIR转换

考虑到级联MultistageFIRDecim,用等效的IIR设计替换每个半带decimator级。这个函数redesignHalfbandStages (origDesign DesignMethod)随本演示版本发货的将替换级联的每个半带级origDesign与一个dsp。IIRHalfbandDecimator系统对象设计采用的方法DesignMethod.设计方法可以是任意一种“椭圆”“准线性阶段”

首先,使用椭圆设计,这是IIR等效的最优FIR等纹滤波器。椭圆设计产生最有效的IIR半波段设计。

MultistageIIRDecim = redesignHalfbandStages (MultistageFIRDecim,“椭圆”);成本(MultistageIIRDecim)
ans =结构体字段:NumCoefficients: 11 NumStates: 17 MultiplicationsPerInputSample: 2.5000 AdditionsPerInputSample: 5

这种方法平均只实现2.5 MPIS的计算成本——比FIR设计便宜5倍多。

级反应比较

覆盖FIR和IIR多速率多级滤波器的幅度响应。这两个过滤器看起来非常相似,都符合规格。

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

图1:量级响应(dB)包含一个坐标轴对象。标题为幅度响应(dB)的axis对象包含两个类型为line的对象。这些对象表示多速率/多级FIR多相,多速率/多级IIR多相。”,“Tex”:“幅度响应(dB)”,“LaTex”:[]}

近距离观察实际上显示,IIR滤波器的通带波纹远优于FIR滤波器。因此,计算成本的节省并不是以降低震级响应为代价的。

缩放(fvFig,[0 0.325 -0.0016 0.0016])

图1:量级响应(dB)包含一个坐标轴对象。标题为幅度响应(dB)的axis对象包含两个类型为line的对象。这些对象表示多速率/多级FIR多相,多速率/多级IIR多相。”,“Tex”:“幅度响应(dB)”,“LaTex”:[]}

准线性相位半带IIR设计

IIR设计的缺点是相位的非线性,这可能导致失真。这可以通过对非线性相位的补偿在很大程度上缓解。使用专门的IIR设计算法可以实现几乎线性的相位响应。的设计方法“准线性阶段”dsp。IIRHalfbandDecimator在滤波器的通带上实现几乎线性的相位响应。

在这种方法中,IIR半带滤波器以一种包括与全通滤波器并行连接的纯延迟的方式实现。这种对实现的约束有助于提供准线性相位响应(几乎是平群延迟)。与椭圆设计相比,这种实现的代价是计算成本略有增加。

IIRLinearPhaseFilt = redesignHalfbandStages (MultistageFIRDecim,“准线性阶段”);成本(IIRLinearPhaseFilt)
ans =结构体字段:NumCoefficients: 25 NumStates: 55 MultiplicationsPerInputSample: 4.3750 AdditionsPerInputSample: 8.7500

虽然没有椭圆情况下的效率,设计是远远高于使用FIR半带滤波器的效率。

群时延比较

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

fvFig = fvtool(MultistageFIRDecim, MultistageIIRDecim, IIRLinearPhaseFilt, Analysis=“grpdelay”);缩放(fvFig, [0 0.6 0 225]);传奇(fvFig“线性相位冷杉”“非线性相位椭圆型IIR”“准线性相位IIR”

图2:Group delay包含一个axes对象。标题为Group delay的axis对象包含3个类型为line的对象。这些对象表示线性相位FIR,非线性相位椭圆IIR,准线性相位IIR

总结

根据问题规格和要求,可以选择FIR或IIR进行多速率设计。每种方法都有自己的优点和缺点。

  • IIR滤波器传统上被认为在满足给定的一组规格时,其数值效率远远高于FIR滤波器。它们还提供更好的量级响应。缺点是,它们呈现非线性相位(这导致失真),并可能是数字敏感的。

  • 相比之下,FIR滤波器可以提供线性相位响应以及鲁棒的数值行为(特别是在定点实现中)。然而,与IIR滤波器相比,它们的计算成本更高,而且具有较差的幅度响应。

利用特殊结构(如多相技术)可以弥合两种方法之间的差距。多相FIR滤波器的计算效率比单相滤波器高。类似地,多相IIR滤波器享有FIR滤波器的大部分优点(数值稳定性和接近平坦的群延迟),同时保持计算成本低廉。

Baidu
map