摘要: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|<∞)有极点存在。
目前,IIR数字滤波器设计最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询,因此,充分利用这些已有的资源将会给数字滤波器的设计带来很大方便,IIR数字滤波器的设计步骤是:
1)按一定规则将给出的数字滤波器的技术指标转换为模拟滤波器的技术指标;
2)根据转换后的技术指标设计模拟低通滤波器H(s);
3)在按一定规则将H(s)转换为H(z);
若所设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通、带通或者带阻滤波器,那么还有步骤4);
4)将高通、带通或者带阻数字滤波器的技术指标先转化为低通滤波器的技术指标,然后按上述步骤2)设计出模拟低通滤波器H(s),再由冲击响应不变法或双线性变换将H(s)转换为所需的H(z)。
2 IIR数字滤波器的Matlab设计
Matlab信号工具箱提供了几个直接设计IIR数字滤波器的函数,直接调用这些函数就可以很方便地对滤波器进行设计。用巴特沃斯法、切比雪夫I、切比雪夫Ⅱ、椭圆法设计数字滤波器的函数如下: