主要内容

多级半频带IIR过滤器设计

此示例显示了如何设计多级半频带IIR Deimimator。

类似于FIR Multirate滤波器,可以使用有效的多相结构来实现IIR半带抽取器/内插器。IIR多相滤波器存在几个有趣的特性:它们需要一个非常少量的乘法器实现,它们本质上是稳定的,具有低的循环噪声灵敏度和无限循环。

Butterworth和Elliptic IIR滤波器可以使用半频带抽取器/内插器响应类型设计。此外,可以使用专门的IIR设计算法实现几乎线性相位响应。

成本效率案例研究

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

fs = 9.6e3;%采样频率:9.6 kHztw = 120;%过渡宽度AST = 80;%最小停滞衰减:80 dBm = 8;%抽取因子nyquistdecimdesign = fdesign.decimator(m,'奈奎斯特',m,tw,ist,fs);

多级半频段冷杉设计

通过使用多型多级技术获得高效的FIR设计的方法。这种设计在级联的三个FIR半带抽取器中。半带滤波器非常有效,因为每个其他系数为零。

MultiStageFirdecim = Design(nyquistdecimdesign,“多级”......'halfbanddesignmethod''平静''systemobject',真的);成本(MultiStageFirdecim)
ANS =带有字段的结构:NumCofiratients:69 NumStates:126乘法PerInputSample:12.8750 AdderdsPerInputSample:12

该方法平均实现12.875个MPI的计算成本。

多级半频带IIR设计

椭圆滤波器是最佳平方滤波器的IIR等效。这种设计导致级联中的三个IIR半带抽取器。椭圆设计产生最有效的IIR半频带设计。

MultiStageIrdecim = Design(nyquistdecimdesign,“多级”......'halfbanddesignmethod''椭圆''systemobject',真的);成本(MultiStageIrdecim)
ANS =带字段的结构:NumCoffients:11 NumStates:17多拼接PerInputSample:2.5000 AdderdsPerInputSample:5

这种方法平均实现了2.5个MPI的计算成本。

如果我们覆盖FIR和IIR多速率多级滤波器的幅度响应,则两个过滤器看起来非常相似,均满足规格。

fvfig = fvtool(MultiStageFirdecim,MultiStageIrdecim,'颜色''白色的');传奇(FVFIG,'多速率/多级FIR多相'......'多速率/多级IIR多相'

关闭检查实际上显示了IIR过滤器的通带纹波远远优于FIR滤波器。因此,计算成本节省不符合退化幅度响应的价格。

FVTool(MultiStageFirdecim,MultiStageIrdecim,'颜色''白色的');标题('通带幅度响应(DB)')轴([0 0.325 -0.0016 0.0016])

准线性相位半带IIR设计

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

IIRLINEARPHASEFILT = DESIGN(NYQUISTDECIMDESIGN,“多级”......'halfbanddesignmethod''iirlinphase''systemobject',真的);成本(iirlinearphasefilt)
ANS =带有字段的结构:NumCofients:25 NumStates:55乘法PultInputSample:4.3750 AdderdsPerInputSample:8.7500

虽然与椭圆形不如椭圆形,但是该设计比使用FIR半频段更有效。

组延迟比较

覆盖三个设计的群组延迟,并专注于过滤器的通带(感兴趣的区域),我们可以验证后者IIR设计在该区域中实现了准线性相位(几乎平坦的群延迟)。相反,椭圆滤波器,虽然更有效(并且具有较低的组延迟),具有明显的非线性相位响应。

fvfig = fvtool(MultiStageFirdecim,MultiStageIrdecim,iirlInearphasefilt,......'颜色''白色的''分析''grpdelay');轴([0 0.6 0 225])标题('通带组延迟')传奇(FVFIG,'线性相位冷杉''非线性相椭圆IIR'......'准线性相位IIR'

定点鲁棒性

多相IIR过滤器可以以不同的方式实现。我们已经遇到了以前部分的单速率和多速率级联allpass。现在拍摄一个Hilbert变压器。具有96Hz的过渡宽度的准线性相位IIR HILBERT滤波器和0.1 dB的最大通带纹波可以作为级联波数字滤波器来实现,而仅使用10 MPI的级联波数字滤波器,而FI​​R等效应:

希尔伯特= fdesign.hilbert('tw,ap',96,.1,fs);希尔伯蒂河=设计(希尔伯特代表,'iirlinphase'......'filterstructure''cascadewdflipps'......'systemobject',真的);成本(希尔伯蒂菲尔特)
ANS =带字段的结构:NUMCOFICERS:10 NUMSTATES:33多拼接PERINPUTSAMPLE:10 AdderdsPerInputSample:25

即使杆靠近单位圈,也已被证明是浪潮数字滤波器非常强劲。它们本质上是稳定的,具有低的圆形噪声属性,并且没有极限循环。要将IIR HILBERT过滤器转换为定点表示,我们可以使用RevizeMDL命令和固定点工具来执行Simulink模型的固定点转换的浮点:金宝app

Realizemdl(希尔伯蒂河)

概括

传统上,IIR过滤器的被认为比他们需要更少数量的系数,以便达到较少数量的规格的感觉。

利用多速率/多相技术的现代FIR滤波器设计工具已经桥接了间隙,同时提供线性相位响应以及在定点中实施时对量化效果的良好敏感性和稳定性和限制循环问题。

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