IIR滤波器零相位数字滤波实现及应用

时间:2014-06-20来源:网络

(5) 进行反向滤波:将正向滤波结果反转,记x′(n)=y(P+6N-n),重复步骤4°,得到反向滤波后的结果。

(6) 将反向滤波的结果反转,并删除首尾的扩展部分,即可得到最后的滤波结果。

3.2 零相位数字滤波的实现

Borland公司推出的Delphi编程语言,具有合理的单元化结构、优化的编译环境,开发 速度快、编程效率高。在实现同样功能的情况下与其它语言相比,不仅编写的代码量少、程序可移植性强,而且还有许多优秀的组件包可供使用。最为方便的是可以 使用动态数组,随时能够改变数组的长度,这一点非常适合数字信号处理。

作者利用Delphi7编写了利用双线性Z变换法设计Butterworth型IIR滤波器和利用窗函数法设计FIR滤波器,以及差分数字滤波算法和零相位数字滤波算法应用程序,并作为集成测试软件平台的一个虚拟仪器。其中零相位数字滤波算法程序设计流程如图6所示。

  图6零相位数字滤波算法的流程图

图7所示为图2所示信号零相位数字滤波后的波形,通过与原信号(图2)和差分滤波后的信号(图 4)对比不难看出:零相位数字滤波后的输出与原信号中的相位基本一致,并且起始部分没有畸变。但不可否认,零相位数字滤波算法相对于普通差分滤波算法计算 量要大许多,但以目前计算机的运算能力,计算量稍大并不是什么主要问题。

  图7零相位滤波后的波形

4结束语

本文介绍了一种利用四次差分滤波算法,实现零相位数字滤波的方法,并利用Delphi7编写了应用软件。通过与普通差分滤波器的实例对比分析,说明零相位数字滤波不仅能够避免相移,而且还能改善差分滤波起始部分的波形畸变。这一点在数字信号处理中具有重要的应用价值。

1 2 3

关键词: IIR 滤波器 零相位 数字滤波 四次差分 滤波算法

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版