逆向iir滤波器的实现

这是一个新的算法,来自一个文档。不同于最广泛应用的block process,还有iir尾部序列抵消(cancellation)的策略。

首先看一个单极点的iir滤波器,其z函数为:

 (1)

其中|c|<1。然后根据高中学的等比序列之和的公式,展开记得到后面的一长串加法,再一变就成了一系列的乘法了,这就说明,对于这个iir滤波器,可以通过延迟(z^(-n)),衰减(c^n),以及旁路(bypass)操作形成的单元滤波器级联而成。每一级滤波器的延迟时间为n=2^N,而且幅度相应衰减。图1画出了对应的框图:


图 1

由于iir滤波器的冲击响应为无限长度,因此要准确表达iir的精度需要考虑无限多个单元级联项。但是实际上,可以在某个给定的阈值水平上进行iir截断,使得其变成一个FIR。因为每一个单元衰减是指数级的,截断误差可以做到任意小的水平。既然成了FIR滤波器,一切都好说了。FIR 的逆滤波器实现很直接:只要将冲击响应序列反转然后加上一个总的延迟,使得逆滤波器为因果滤波器即可。图1中的IIR结构被截断后,逆滤波器结构为:


图2 的结构对应的逆滤波器的传输函数为式(2)。式(2)提供了一个稳定的算法,运用一系列的延迟和衰减因子实现了iir 的逆滤波器。

文章后面还有对共轭极点的传输函数的逆滤波实现。

这个方式的优点是,滞后量比block processing的方式少,结构稳定,性能优异。不过说实话,我还没能完全体会这个算法的优点和精髓,sigh。。。以后有机会再来研究吧。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值