基于DSP的IIR带通滤波器设计

时间:2022-08-16 06:38:28

基于DSP的IIR带通滤波器设计

【摘要】通过matlab设计了一个无限冲击响应(IIR)带通滤波器,并基于TMS320C5402数字信号处理芯片,在CCS集成开发环境下利用汇编语言编程实现了该滤波器,并对滤波器的性能进行了测试分析,结果表明:所设计的滤波器能有效实现带通滤波。

【关键词】无限冲击响应滤波器;带通滤波器;数字信号处理器;matlab

在信号的产生和传输过程中,难免会混杂噪声,因此在信号的接收端必须消除或减弱噪声干扰。根据噪声与信号的不同特性,滤除或消弱信号中的噪声成分就称为滤波。数字滤波器由于其精度高,稳定性好,使用灵活等特点,广泛应用在数据通信、语音信号处理及图像处理等众多领域[1]。带通滤波器滤波器作为滤波器中重要的一种,它主要功能是使某一频率范围内的信号通过,而其它频率范围的信号被衰减或滤除。DSP作为通用的数字信号处理芯片,内部具有专门针对信号处理的硬件单元,使其在数字信号处理领域具体独特的优势。

1.IIR滤波器基本结构

IIR滤波器可以用较少的阶数获得很高的传输特性,所用的存储单元少,运算次数少,具有经济高效的特点。N阶无限冲击响应滤波器的脉冲传递函数可以表达为:

它的差分方程表达式为:

由式(2)知,y(n)由两部分构成:第一部分是一个对x(n)的M节延时链结构,是一个横向结构网络;第二部分是对y(n)的延时,是个反馈网络[2]。

IIR滤波器的一般结构[3]如图1所示:

2.IIR滤波器的matlab设计

Matlab信号处理工具箱中包含了许多执行信号处理算法的函数,方便了滤波器的设计[4]。利用matlab的信号处理函数设计了一个切比雪夫带通滤波器,滤波器参数为:采样频率Fs为16kHz,通频带在3.2kHz和4.8kHz之间,内损耗不大于1dB;频率小于2.4kHz和大于5.6kHz为阻带,阻带衰减大于20dB。

核心程序为:

wp=[3.2,4.8];ws=[2.4,5.6];rp=1;rs=20;

[n,wn]=cheb1ord(wp/8,ws/8,rp,rs);

[b,a]=cheby1(n,rp,wn);

由以上程序计算出滤波器的系数如表1所示:

仿真所得带通滤波器的幅频特性如图2所示。

3.IIR带通滤波器的DSP实现

采用TMS320C5402为目标芯片,它是是16位定点DSP,具有改进的哈佛结构、一组程序总线和三组数据总线,高度并行性的算术逻辑单元ALU,专用硬件逻辑,片内存储器,片内外设和专业的指令集,使该芯片在信号处理领域得到了广泛应用[5]。

在用DSP汇编编程时,将滤波器的系数定标为Q15,将变量和系数都存放在DARAM中,并采用循环缓冲区方式寻址,共开辟4个循环缓冲区,用来存放变量和系数。这4个循环缓冲区的定义如下:

BN .usect "BN",7; 存放系数bi

AN .usect "AN",7; 存放系数ai

IN .usect “IN”,256; 输入缓冲区

OUT .usect “OUT”,256; 输出缓冲区

实现IIR带通滤波器的核心程序为:

IIR: SUB A, A

STM #BN,BCOFF_P

STM #AN,ACOFF_P

RPT #5; 计算前向通道

MAC *XN_P+,*BCOFF_P+,A

MAC *XN_P,*BCOFF_P,A

MAR *XN_P-0; 将AR2指向x(n-N) RPT #5; 计算反馈通道

MAC *YN_P+,*ACOFF_P+,A

STH A,*YN_P-0; 保存y(n)

EEND B EEND;

.end

利用c语言编程产生一个含有4kHz和6.5kHz混合的正弦信号作为测试输入信号,经过带通滤波器滤波后输出。利用DSP集成开发环境CCS的图形显示功能,分别对输入信号x(n)、输出信号y(n)的时域和频域波形进行了观察分析,波形如图3-4所示:

(a)时域波形

(b)频谱

(a)时域波形

(b)频谱

从图3和图4的输入信号频谱和输出信号的频谱比较可以看出,经过滤波器滤波处理后,原输入信号中频率为6.5kHz的信号也衰减的很小,只剩下频率为4kHz的信号。

4.结语

IIR滤波器在信号处理领域有着广泛的应用,而DSP作为通用数字信号处理器,在信号处理方面具体其它硬件无法比拟的优势。本文首先根据数字滤波器的性能指标,用matlab编程计算出了滤波器的系数,然后以TMS320C5402为目标芯片,在ccs集成开发环境下,用汇编编程实现了该滤波器,并对滤波器的滤波效果进行了测试分析,结果表明:该滤波器能有效实现对信号的带通滤波。

参考文献

[1]王亚军,李艳芳.基于GA-BP网络的FIR数字滤波器优化设计[J].电测与仪表,2010,47(7):13-15.

[2]戴明桢,周建江.TMS320C54x DSP结构原理及应用[M].北京:北京航空航天大学出版社,2001.

[3]程佩青.数字信号处理教程(第三版)[M].北京:清华大学出版社,2010.

[4]朱习军,隋思涟 等. Matlab在信号与图像处理中的应用[M].北京:电子工业出版社,2009.

[5]邹翼.基于DSP的G.729语音编码的研究与实现[D].长沙:湖南大学,2009.

作者简介:宋治国(1984—),男,湖南保靖人,硕士,吉首大学物理与机电工程学院教师,研究方向:信号与信息处理。

上一篇:主数据管理在信息化建设中的应用 下一篇:新型带清零的半静态D触发器芯片设计