页面加载中,请稍候
来源:电子设计工程发布时间:2011-09-18
询问 AI摘要:IIR滤波器是一种被广泛应用的基本的数字信号处理部件。基于DSP信号处理的优越性,将Matlab与DSP相结合应用于IIR滤波器的设计。介绍了IIR数字滤波器的理论及其Matlab常用设计函数,并针对TI公司的TMS320VC5416 DSP,结合某高通滤波器的设计,给出了其Matlab仿真设计及在DSP上的实现过程及结果。该方法具有较强的实用性,对其它数字滤波器设计及DSP实现提供了参考价值。
关键词:数字滤波器;IIR;Matlab;DSP
21世纪是数字化的时代,随着越来越多的电子产品将数字信号处理(DSP)作为技术核心,DSP已经成为推动数字化进程的动力。在数字信号处理中,数字滤波占有极其重要的地位。在经典滤波中,常用的数字滤波器有FIR滤波器和IIR滤波器,其中IIR数字滤波器因具有结构简单、占用存储空间少、运算速度快、较高的计算精度和能够用较低的阶数实现、较好的选频特性等特点,得到了广泛应用。
1 IIR数字滤波器的基本理论及设计方法
数字滤波器的功能是把输入序列x(n)通过一定的运算变换成输出序列y(n)。不同的运算处理方法决定了滤波器实现结构的不同。IIR数字滤波器的单位抽样响应h(n)是无限长的,其差分方程如式(1)所示,是递归式的,即结构上存在着输出信号到输入信号的反馈。其系统函数如式(2)所示,因此在z平面的有限区间(0<|z|<∞)有极点存在。
在编写汇编语言程序之前。首先确定滤波器的参数,从上面滤波器的设计中得出滤波器的参数如下:
Numemtor: 0.323557 -0.970672 0.970672 -0323557
Denominator:1.000000 -0.921478 0.642247 -0024733
若设计参数有大于1的的数据.这样一个大于1的数据要直接用到DSP中,需要进行数据格式的浮点运算,这将增加编程的复杂度,而且会导致DSP运行程序速度的降低。一般情况下都不这样使用,而是将数据做一定比例的压缩后计算。例如将上面数据做8倍的压缩(即将上面数据除以8),得到新的数据为:
Numerator: 0.040 45 -0.121 334 0.121 334 -0.040 45
Denominator:1.000 000 -0.115 185 0.080 28 -0.003 092
[!--empirenews.page--]
3 IIR数字滤波器的实现
TMS320VC5416是TI公司生产的新一代16位定点的数字信号处理器。在TMS320VC5416 DSP上实现IIR数字滤波器编程时,分别开辟4个缓冲区、存放输入、输出变量和滤波器系数,并将Matlab设计滤波器的系数A、B存入滤波器的缓冲区。并在TMS320VC5416 DSP上成功实现了IIR滤波,实验仿真结果如图5~图8所示,在TMS320VC5416DSP上输入100 Hz和300 Hz的混合信号,通过所设计的IIR数字滤波器达到滤波效果。通过实验结果表明IIR滤波器准确度高、稳定性好,设计结果满足性能指标要求。
4 结束语
本文首先介绍了IIR数字滤波器的理论及其Matlab常用设计函数,并针对TI公司的TMS320VC5416 DSP,结合一个高通滤波器的设计,叙述了其Matlab仿真设计及在DSP上的实现过程及结果。根据其实现思路,可以很方便设计出符合要求的滤波器。该该方法具有很强的实用性,对其他数字滤波器设计及DSP实现也有很好的参考价值。
新闻来源:电子设计工程,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!

2026-06-16

2026-06-24