IIR数字滤波器的优化设计和DSP实现_第1页
IIR数字滤波器的优化设计和DSP实现_第2页
IIR数字滤波器的优化设计和DSP实现_第3页
IIR数字滤波器的优化设计和DSP实现_第4页
IIR数字滤波器的优化设计和DSP实现_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、II R 数字滤波器的优化设计和D SP 实现张晓光,徐钊(中国矿业大学信电学院,江苏省徐州市221008摘要:首先叙述了直接型II R (无限冲击响应数字滤波器能够克服使用定点DSP 实现II R 数字滤波器时引起的输入数据的溢出问题;然后利用MAT LAB 软件生成滤波器的输入数据和系数,进行相应的数据压缩处理,并生成仿真波形;最后给出了用DSP 语言实现直接型结构II R 数字滤波器的完整程序、仿真结果,同时对仿真结果进行了分析、比较。关键词:II R 数字滤波器;MAT LAB;定点DSP中图分类号:T N911.72收稿日期:2005208209;修回日期:2005210210。0引

2、言数字滤波在DSP (数字信号处理中占有重要地位。数字滤波器按实现的网络结构或者从单位脉冲响应,分为II R (无限脉冲响应和F I R (有限脉冲响应滤波器。如果II R 滤波器和F I R 滤波器具有相同的性能,那么通常II R 滤波器可以用较低的阶数获得高的选择性,执行速度更快,所用的存储单元更少,所以既经济又高效。一般说来,从使用要求上来看,在对象为要求不敏感的场合,如语音通信等,选用II R 滤波器较为合适,这样可以充分发挥其经济、高效的特点。使用定点DSP 实现II R 滤波器是不容易的,II R 滤波器的反馈回路容易引起计算溢出。一般采用定标输入数据克服溢出问题,但定标的结果使输

3、出信号幅度降低。为克服输出信号电平低的问题,一般在硬件上人为地多加一个运算放大器,以自举输出信号电平。本文介绍一种II R 滤波器的优化设计方法,即借助组合两节II R 滤波器输入计算,克服输入数据溢出问题,从而可删除末级运算放大器。1II R 滤波器的设计一个高阶的II R 滤波器可以简化成几个二阶滤波器级联。高阶II R 滤波器的传递函数可表示为:H (z =H 1(z H 2(z H n (z (1式中:n 为滤波器的阶数。式(1可以转化为若干个二阶II R 滤波器级联,每个二阶II R 滤波器的传递函数可以表示成:H k (z =1+b 1k z -1+b 2k z-11-a 1k z

4、-1-a 2k z-1k =1,2, (2式中:H k (z 为二阶 II R 滤波器(见图1的传递函数。图1直接型二阶II R 滤波器该II R 滤波器提供输入和输出序列分离的延迟缓冲器,属于直接型。从该滤波器得到的输出为:y (n =a 11y (n -1+a 12y (n -2+b 11x (n -1+b 12x (n -2(3二阶II R 滤波器是两个级联的部分:零点和极点。因为II R 滤波器是线性系统,所以两部分可以交换,交换之后,由于延迟线的输出是相同的,所以可从滤波器结构中消除一对延迟线。这样得到图2,它可以使用较少的延迟单元,这种滤波器属于直接型结构,也是一种典型、规范的结构

5、。使用定点DSP 来实现II R 滤波器时,数据溢出是由于32比特的体系结构限制造成的。滤波器的增益是从极点部分得到的,如果该增益增加,会产生输出数据溢出,也就是这个数据值会突破 CP U32比特范围。在滤波应用中,只有输入数非常小,输出才能不溢出。图2二阶II R 滤波器典型结构如果我们使用直接型的II R 滤波器结构来编码,那么将出现两个问题:为了避免输出溢出,要浪费73第32卷第3期2006年3月电子工程师E LECTRON I C E NGI N EER Vol.32No .3M ar .2006时间调解输入值;系统需要附加硬件,即末级增加运算放大器以恢复输出信号电平。相反,使用直接型

6、II R 滤波器能够解决这些问题。当使用直接型II R 滤波器(见图1,在正向通道中计算零点,然后在反馈通路计算极点,由于零点的运算,中间结果m (n 非常小;在图2中,由于极点运算,中间结果d (n 比m (n 值大,输出数据y (n 能够借助传送中间值d (n 得到,因此能得到合适的电平。所以使用直接型II R 滤波器能消除溢出问题。多级二阶II R 滤波器级联的高阶II R 滤波器结构图如图3所示,每一个二阶II R 滤波器都采用直接型。延迟器的数量借助于组合当前级的二阶II R 滤波器极点(a 11,a 12和下一级的二阶II R 滤波器零点(b 11,b 12。级联部分的软件使用重复

7、的块结构,附加的软件来自第一部分零点(b 11,b 12计算和最后一部分的极点(a n 1,a n 2计算。输出数据y (n 处在正常电平,因此这种形式删除了原始II R 滤波器的运算放大器。图3典型高阶II R 滤波器结构2II R 滤波器的D SP 实现下面以一具体例子为参照,进行具体设计说明。已知一信号为x (t =sin (2×450t ,由于某种原因,信号被两个频率分别为200Hz 和220Hz 的噪声污染,设取样频率为1kHz,要求设计一个II R 高通滤波器对输入信号进行滤波。2.1系统框图II R 滤波器的DSP 实现框图如图4所示。图4II R 滤波器的D SP 实

8、现框图2.2应用M AT LAB 得到滤波器的输入数据和系数首先应用MAT LAB 编程生成频率为450Hz 的有用信号和频率分别为200Hz 、220Hz 的噪声,并进行FFT 频谱分析,见图5。然后根据要求,利用MAT LAB 软件中的滤波器设计工具箱fda 设计相应的高通滤波器,设计指标为:R p =1dB ,R s =60d B ,f p =0.4kHz,f s =0.3kHz,F =1kHz,见图6。最后用所设计的滤波器对输入信号进行滤波处理 ,其频谱见图5。图5M AT LAB 软件实现的滤波前后的信号频谱图6M AT LAB 软件实现的II R 滤波器频谱a 输入信号处理:将MA

9、T LAB 中产生的256点x (n 进行一定比例的压缩,使所有数据处于-11之间,然后采用Q15格式进行数据格式转换,使转换后的数据处于-3276832768之间,作为.data 段的输入数据存储在数据存储区。b 将以上所设计的滤波器系数进行类似输入数据的压扩变换,引入到汇编语言程序中。在此例中,经过MAT LAB 程序设计得到满足技术要求的滤波器系数如下:b =10-30.0464-0.27820.6956-0.92740.6956-0.27820.0464a =1.00004.869410.380712.33678.59693.32680.5586千万注意不能原封不动把MAT LAB 生

10、成的系数拿过来直接用,其中最大的数据12.3367超出了-11的范围,不能直接进行Q15格式转换,要先对数据进行压扩变换。因为a,b 中有大于1的数。为将所有数据压缩至-11之间,所有系数a,b 同除以一个大数c (c >|max h (n |。2.3D SP 汇编语言实现II R 滤波器前面已经分析,二阶II R 滤波器可以化成如图2所示的直接型结构,其优点是在运算过程中先衰减后增益,系统的动态范围和鲁棒性都要好一些。编程时,将变量和系数都存放在DARAM 中,并采83信号处理与显示技术电子工程师2006年3月用循环缓冲区方式寻址; 程序算法主要实现部分如下:filter_start:

11、ST M #K_C I R,BK /设置循环缓冲区长度ST M #1,AR0ST M #inputdata,OR I GI N ST M #bufferdatax,I N P UT ST M #bufferdatay,F I L TERST M #filterdata,OUTP UT /初始化RPT #K_A -1/a1,a2的个数MVDD 3OR I GI N +,3I N P UT +0%/初始化前K_A 个Y值ST M #bufferdatax,I N P UT /设置初始化滤波数据RPT #K_A -1MVDD 3I N P UT +0%,3F I L TER +0%/初始化K_A 个

12、Y值ST M #bufferdatay,F I L TER /滤波ST M #K_DAT A_SI ZE -3-1,BRC /前K_A 个X 值直接通过RPT B filter_end -1MVDD 3OR I GI N +,3I N P UT RPT #K_B -1-1/b1,b2,b3的个数MAR 3I N P UT -0%/调整输入到相应位置MPY 3I N P UT +0%,#b3,B /B =b33x (i LD B,AMPY 3I N P UT +0%,#b2,B /B =b23x (i +1ADD B,AMPY 3I N P UT +0%,#b1,B /B =b13x (i +2

13、ADD B,A /y (x +2=AMPY 3F I L TER +0%,#a2,B /B =y (i 3a2ADD B,A /A =A +BMPY 3F I L TER +0%,#a1,B /B =y (i +13a1ADD B,A /y (i +2=A +B STH A,3F I L TER STH A,3OUTP UT +RPT #K_A -1-1MAR 3F I L TER -0%/调整滤波器到相应位置filter_end:NOP RET2.4滤波结果分析图7(a 、(b 分别为II R 高通滤波器的输入、输出信号的频谱图,滤波器性能要求为:f p =400Hz,f s =300Hz,

14、F =1kHz,R p =1d B ,R s =60d B 。由于采用归一化频率,可看出在坐标的0.2,0.45附近共有3个频率分量,根据模拟频率和数字频率间的对应关系:f =F ,可知3个频率分量分别为f 1=200Hz ,f 2=220Hz,f 3=450Hz,对比输入、输出信号频谱图,可以看出处在滤波器阻带内的200Hz 、220Hz 的低频分量被滤除,剩下了通带内450Hz 的高频分量,可见滤波性能很好 。图7汇编语言实现的滤波前后的信号频谱3结束语本文介绍了基于DSP 实现的数字滤波器,该滤波器实时滤波效果比较理想,并且可以随时调整滤波器参数,具有比较高的实用价值。参考文献1戴明桢,

15、周建江.T M S320C54XDSP 结构、原理及应用M .北京:北京航空航天大学出版社,2001.2丁玉美,高西全.数字信号处理M .第2版.西安:西安电子科技大学出版社,2000.3张雄伟,陈亮,徐光辉.集成开发与应用实例M .北京:电子工业出版社,2002.Opti m i zed Desi gn of II R D i git al Filter and Its Reali zati on with DSPZHANG X i a o 2guang,XU Zhao(Chinese University of M ine &Technol ogy,Xuzhou 221008,Ch

16、ina Abstract:Firstly,this paper describes why direct 222type filter can overcome the overfl o w of input data when we design II R filter with fixed 2point DSP .Secondly,the paper sho ws how t o generate the input data and coefficients by MAT LAB ,then t o comp ress the data and t o generate the si m ulati on wave f or m.Finally,the comp lete p r ogra m ,si m ulati on wave f or m of direct 222type II

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论