当前位置:首页 期刊杂志

基于Code Composer Studio的无限冲激响应滤波器(IIR)的设计*

时间:2024-05-04

许志敏 魏海峰 陆彦如

(江苏科技大学电子信息学院 镇江 212003)

1 引言

数字信号处理技术伴随着信息科学的发展而迅速发展,滤波器在数字信号处理中基础而又十分重要。数字滤波器通过数值计算实现滤波,其工作稳定、体积小、重量轻、灵活、处理精度高,并且可通过模拟信号和数字信号相互转换的技术来处理模拟信号,这些优点使其广泛应用于语音图像处理、数字通信、频谱分析、模式识别、自动控制等领域,成为数字信号处理中最重要的组成部分之一。

数学信号处理器的出现彻底改变了通信,其具有高速灵活性、可编程性和低消耗等特点,让其在图形、图像处理和语音处理等方面发挥着重要作用。数字信号处理器是一个专用处理器,在模拟信号转换为数字信号后执行高速实时处理,处理速度比CPU快10~50倍。在数字化时代背景下,DSP已经成为通信、计算机、消费类电子产品等领域的基本组成部分。

有限冲激响应滤波器(FIR)和无限冲激响应滤波器(IIR)是常用的两种数字滤波器,无限冲激响应滤波器(IIR)相较于有限冲激响应滤波器(FIR),实现算法更为复杂。但是IIR滤波器工作量相对小,可以用低阶数来实现较高性能要求,所需的存储单元少,从而运行效率得到提高,更加经济。

文献[1]实现了IIR数字滤波器在Matlab中的仿真。文献[2]介绍了后向差分法和双线性变换法,以实现模拟控制器的离散化,本文将采用双线性变换法。文献[3]提出了四种典型的归一化模拟器实现方法,并在Matlab进行仿真实验。文献[4]提出冲激响应不变法会带来的频谱混叠失真问题,“数字-数字频带变化”设计的数字滤波器是一种有效的抗混叠的设计办法。文献[5]在DSPTMS320C54x芯片上实现了FIR低通滤波器。文献[6]用AT89C51合成脉冲波形。文献[7]在DSPTMS320C55x实现IIR数字滤波器。文献[8]通过FPGA实现IIR数字滤波器。文献[9~10]说明滤波器在语音信号处理中的实际应用。文献[11]设计基于Delphi环境实现了IIR滤波器。文献[12~16]、[18]研究了数字滤波器的参数设定、优化等问题。文献[17]设计了基于FPGA的FIR数字带通滤波器。

结合上述文献,本文将采用双线性变换法来设计巴特沃斯滤波器,并在DSP集成开发环境CCS上进行仿真实验。

2 双线性变换法

脉冲响应不变法和双线性变换法是设计IIR数字滤波器的两种常用方法,脉冲响应不变法无法有效解决频谱混淆的问题。因此,本文采用双线性变换法设计IIR数字低通滤波器。

设过渡模拟滤波器的系统函数用Ha(s),s=jΩ,将Ha(s)的复数自变量压缩到±π/T得到系统函数用Ha(s1),s=jΩ1表示,用正切变换频率进行压缩,实现了s平面上整个虚轴完全压缩到s1平面上虚轴的±π/T之间,得到

再按照Z=es1T从s1平面转换到z平面变换成Ha(z),得到

此时便不会出现频谱混淆的问题。式(2)分子、分母函数均是线性的,称为双线性变换。

图1 双线性变换过程示意图

3 模拟滤波器设计步骤

1)本系统的设计技术指标为

通带边缘频率fp1、待求阻带边缘频率fs1和待求阻带衰减-20 logδsdB。

模拟边缘频率为fp1=1000Hz,fs1=12000Hz阻带边缘衰减为-20 logδs=30dB

2)将数字低通滤波器的技术指标转换成模拟低通滤波器的技术指标。

用非线性关系Ω1=2πf/fs将待求边缘频率转换成用弧度表示,得到Ωp1和Ωs1。

3)由于双线性变换会出现频率变换非线性,所以预扭曲模拟频率来避免非线性引起的失真。由w=2fstan(Ω/2)求得wp1和ws1,单位为弧度/秒。

4)根据所需要的阻带衰减-20 logδs来计算出阻带边缘增益δs。

因为-20 logδs=30,所以logδs=-30/20,δs=0.03162。

利用结束计算公式求模拟滤波器的最低阶数:

因此,一阶巴特沃斯滤波便可达到要求,完成所需的性能指标。

一阶巴特沃斯滤波器系统传输函数为

通过双线性变换式(2)得到数字滤波器系统传输函数为

因此系统差分方程为

4 IIR滤波器的实现

软件设计分为两大部分,波形产生子程序和无限冲激响应滤波器子程序,采用了C语言与汇编语言相合的方式,在开发环境方面,采用的是DSP集成开发环境Code Composer Studio(CCS)。

1)主程序模块设计如图2所示。

图2 主程序模块设计流程图

2)波形产生子程序设计如图3所示。

图3 波形产生子程序流程图

3)无限冲激响应滤波器(IIR)子程序设计如图4所示。

图4 无限冲激响应滤波器(IIR)子程序流程图

5 IIR滤波器的实现

软件调试结果如图5、6所示。

输入波形是低频正弦波和高频余弦波的叠加。

由图5所示的时域仿真结果可以看出:当低频正弦波和高频余弦波相互叠加的信号进入滤波器后,观察输出波形,高频部分的余弦波受到遏制作用而衰减,低频部分的正弦波信号得到保留。

图5 时域仿真结果

结合图6所示的频域仿真结果可以更显著地看出:低频部分(横坐标为0~0.1)的波形无明显变化,而高频部分(横坐标为0.4附近)的波形幅值减小,表明高频部分的波形受到明显的遏制作用。

图6 频域仿真结果

6 结语

本文采用CCS集成开发环境软件设计双线性变换法的IIR数字低通滤波器,当输入波形是低频的正弦波和高频的余弦波叠加时,通过观察频域和时域的仿真结果图,得知:当低频正弦波和高频余弦波相互叠加的信号进入滤波器后,高频部分的余弦波收到遏制作用而衰减,低频部分的正弦波信号得到保留。通过无限冲激响应低通滤波器,可以准确地过滤掉输入波形中的高频部分,显示输入波形中的低频部分。

本文简要说明了数字滤波器在数字信号处理的重要作用、数字信号处理器在通信方面的重要地位,分析了有限冲激响应滤波器(FIR)和无限冲激响应滤波器(IIR)的优劣,通过巴特沃斯数字低通滤波器的实例,阐述了双线性变换法的设计步骤,通过仿真结果得出:IIR数字低通滤波器可以准确过滤掉输入信号中的高频部分,显示输入波形中的低频部分。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!