首页 基于MATLAB 和DSP 的IIR 滤波器

基于MATLAB 和DSP 的IIR 滤波器

举报
开通vip

基于MATLAB 和DSP 的IIR 滤波器 《自动化技术与应用》2010年第 29卷第 7期 42 | Techniques of Automation & Applications 通信与信息处理 Communication and Information Processing 基于MATLAB和 DSP的 IIR滤波器 的设计与仿真 * 方 刚 1,任小洪 1 , 2,贺映光 1,王天文 1 (1.四川理工学院自电学院,四川 自贡 643000;2.人工智能四川省重点实验室,四川 自贡 643000) 摘 要:采用了 TI公司的 T...

基于MATLAB 和DSP 的IIR 滤波器
《自动化技术与应用》2010年第 29卷第 7期 42 | Techniques of Automation & Applications 通信与信息处理 Communication and Information Processing 基于MATLAB和 DSP的 IIR滤波器 的设计与仿真 * 方 刚 1,任小洪 1 , 2,贺映光 1,王天文 1 (1.四川理工学院自电学院,四川 自贡 643000;2.人工智能四川省重点实验室,四川 自贡 643000) 摘 要:采用了 TI公司的 TMS320C55XX数字信号处理器完成 IIR滤波器的设计,利用MATLAB的滤波器设计工具箱(FDATool)来 设计最小阶切比雪夫低通滤波器,并用代码调试器(CCS)进行软硬件的调试和仿真。结果表明,该滤波器可以有效的滤除干扰 信号,且设计方法简单可靠,具有较强的稳定性。 关键词:MATLAB;DSP;IIR滤波器;仿真 中图分类号:TN919.3 文献标识码:B 文章编号:1003-7241(2010)07-0042-03 Design and Simulation of IIR Filter Based on Matlab and DSP FANG Gang1, REN Xiao-hong1.2, HE Ying-guang1, WANG Tian-wen1 ( 1. Sichuan University of Science & Engineering, Zigong 643000 China; 2. Sichuan Artificial Intelligence Laboratory, Zigong 643000 ) Abstract: Adopt the DSP TMS320C55XX of TI Corporation to realize the IIR filter’s design, to design the minimum order Chebyshev low-pass filter with the help of the FDATool, and to utilize Code Composer Studio (CCS) for debugging and simulation of the relative software and hardware. The results show that the filter can effectively filter out interfer signals and this design is simple and reliable, and simulation test indicates that the filter can operate stabely. Key words: MATLAB; DSP; IIR Filter; simulation *基金项目:四川省教育厅人工智能重点实验室开放基金资助项 目(2007-2010)(编号:2007R011) 收稿日期:2010-01-05 1 引言 在测控系统中,从传感器得到的信号中往往包含噪 声和许多与测量无关的信号,并且原始的测量信号经传 输、放大、变换、及其它处理中也会产生许多不同形式 的噪声,这些信号的处理与分析都是基于滤波器而进行 的,数字滤波器在各种数字信号处理中发挥着十分重要 的作用,其设计一直是信号处理领域的重要研究课题[1]。 常用的数字滤波器有 FIR(Finite Impulse Response,有限 冲激响应)滤波器和 IIR(Infinite Impulse Response,无限冲 激响应)滤波器,IIR 数字滤波器因具有结构简单、占用内 存空间少、运算速度快、较高的计算精度和能够用较低 的阶数实现较好的选频特性等特点而得到广泛的应用。 但是传统的数字滤波器设计非常复杂需要用繁琐的公式 进行计算,参数改变后又要重新进行计算,尤其是高阶滤 波器的设计工作量更大。DSP(数字信号处理器)具有精度 高、速度快、实时性强,是实现数字滤波器设计与仿真的 重要途径[2]。因此,基于MATLAB和DSP的滤波器设计 可以大大简化设计过程和提高滤波器的滤波效果。 2 IIR数字滤波器的基本原理 无论是 IIR滤波器还是 FIR滤波器的输入 x[k]和输 出 y[k]之间的关系都可以用如下常系数线性差分方程 及其 Z变换来描述[3],即 0 1 [ ] [ ] [ ] M N i i i i y k b x k a y k i = = = - -å å 则系统的传输函数为: 1 0 0 1 1 1 1 ...[ ] ( ) [ ] 1 ... 1 M k Nk k N N N k N k k b z b b z b zY z H z X z a z a za z - - - = - - - = + + + = = = + + ++ å å H ( z ) 具有N个零点和N个极点,如果任何一个极点在 Z平面 《自动化技术与应用》2010年第 29卷第 7期 Techniques of Automation & Applications | 43 通信与信息处理 Communication and Information Processing 单位圆外系统就不稳定。 本文以 ChebyshevI型数字滤波器为例设计一个低 通滤波器以最小阶数实现滤波功能。 3 在MATLAB FDA工具箱中设计滤 波器 FDATool是MATLAB一个专门设计滤波器的工具 箱[4 ],它是一种图形设计界面,通过输入有关滤波器的参 数就可以设计出满足客户要求的滤波器,包括滤波器的 类型(IIR或 FIR)、阶数(Specify order)、截止频率(Fpass)、 带宽、纹波系数(Apass)、采样频率(Fs)等相关参数。打开 M A T L A B ,在命令窗中输入 f d a t o o l 回车就打开 FDATOOL界面,选 IIR(Chebyshev type1),用最小阶方法。 图 1所示 IIR型的最小阶切比雪夫低通滤波器,采样频率 为 2000 Hz,通带截止频率 500Hz,阻带频率为 600 Hz.。 菜单Analysis用来选择不同的分析显示方式,例如幅度响 应、相位响应、脉冲响应、阶跃响应、滤波器系数等。 指定完设计参数后单击按钮Design Filter,生成滤波器系 数。设计完成后,在 FDATOOL设计界面中选择 Targets → Export to Code Composer Stu-dio IDE,按提示将生 成的滤波器系数作为头文件输出到CCS工程中。 4 MATLAB通用语言编写 Cle ar a l l ; / / 清寄存器的值 Cl c ; / / 清屏 N= 256; / / 显示数据的点数 Fs= 2000; / / 采样频率 d t= (1 :N) / fs ; / / 时间间隔 f1= 200; / / 输入信号频率 f2= 800; / / 输入信号频率 x=sin(2*pi*f1*dt)+sin(2*pi*f2*dt); //产生混合输 入信号 Wp=500/1000; / / 通带截止频率 Ws=600/1000; / / 阻带截止频率 [n,wn]=cheblord(wp,ws,3,30); / /计算滤波器所 需的最小阶数 [b,a]=cheby1(n,3,wn); / /给出滤波器系数 Freqz(b,a,512,2000); 5 在CCS中进行滤波器的设计与仿真 在CCSIDE中建立 iir55xx.pjt工程,采用C语言和汇 编语言混合编程的方法,既能编程简单又能提高DSP的执 行速度。用C语言编写处理主程序 iir55xx.c,利用汇编语 言编写调用子程序 iir.asm,另外根据板上的存储器配置方 式,编写存储器配置文件 iir.cmd,把各种子程序及头文件 都加载到 iir55xx.pjt工程中,然后进行编译、链接,没有 错误后生成可执行文件(iir.out文件),加载到目标 DSP 程 序存储器中,然后运行,在主菜单View中找到Graph选择 Time/Frequency,出现如图 2所示,在“Display Type”选 图1 FDATOOL设计 IIR滤波器 (幅相曲线)界面 图2 图形属性设置 (下转第 79页) 图3 滤波器的输入(上)输出(下)时域波形 《自动化技术与应用》2010年第 29卷第 7期 Techniques of Automation & Applications | 79 现场总线与网络 Field Bus and Networks 史数据。 5 结束语 采用LonWorks技术作为系统的技术平台,不仅可以 实现动态的湿度和温度调节,在选择产品时可以有更多的 选择余地,这样有效地控制了系统成本。而且可以控制分 散在不同区域的空调设备,规模扩展灵活,可通过网关接 口及串行接口与大楼的BA系统或消防系统、保安系统等 控制系统相连接,构成功能更加强大的控制系统。 参考文献: [1] Neuron Ch ip Manual Techn ical Reference, the 作者简介:李凤霞(1977-),女,讲师,在读硕士研究生,研究 方向:智能控制。 图4 滤波器输入时的频域波形图 图5 滤波器输出时的时域波形图 择“Dual Time”在“Start Address-U”选择“data_in” 在“Start Address-L”选“out”,生成的输入输出时域波 形图如图3所示。把“Display Type”改为“FFT Magnitude” 则可以观察到信号滤波前后的频谱,如图 4,图 5所示。 从输入输出的频域波形图可以清楚的看出滤波效 果良好,并且具有较好的选频特性。 6 结束语 本文集合了MATLAB的信号系统仿真能力和DSP 的实时数据处理能力的优势,在 MATLAB 的 FDATOOL Lonworks Company Echelon[Z].2000. [2] 刘鑫,LonWorks现场总线网络产品的开发与应用[J].电 子技术应用,1998,24(10):35-37. [3] 宁永生,王琪辉,张英,大型空调中央监控系统设计,暖 通空调[J].2004,(3):59-61. [4] 朱松梅,朱志松 Lonworks总线在楼宇自动化系统中的 应用[J].自动化技术与应用,2005.(5):51-53. [5] 马莉,智能控制与 Lon网络开发技术[M].北京:北京航 空航天大学出版社(第一版),2003.61-86. [6] 张英,王琪辉,基于 JTAG的在线编程[J].单片机与嵌入 式系统应用,2004 ,(12):77 -78. 作者简介:方刚(1980-),男,硕士研究生,研究方向:射频识 别与无线传感器网络。 工具箱内可以快速有效的设计出指定的数字滤波器,使 用CCSLink工具,可在MATLAB的环境下完成对 CCS 和硬件目标DSP的操作,根据滤波器特性,在 FDATOOL 中随时更改参数,生成滤波器的系数以头文件的形式加 载到滤波器的软件设计中 ,以达到滤波器设计的最优 化,并把此值写入 DSP中,并实时地读出 DSP的处理结 果。此设计方便、快捷、准确度高,大大减轻了工作量, 加快了 IIR滤波器的DSP软件的开发。利用 MATLAB 和DSP设计数字滤波器在数字通信系统和计算机领域 信号处理中,有着广泛的应用前景。 参考文献: [1] RULPH CHASSAING.DSP Applications Using C and the TMS320C6x DSK[M].北京:电子工业出版社,2005. [2] 赵顺珍,马英.基于DSP的 FIR数字滤波器设计与实现 [J].微计算机信息,2009,(25):162-163. [3] 纪震,钟锦春,强乐.DSP系统入门与实践[M].北京:电 子工业出版社,2006. [4] 王秀芳,关凌涛.基于MatLab与DSP的滤波器快速设 计方法[J].现代计算机,2008,(277):97-99. [5] 胡庆钟,李小刚,吴玉淳等.TMS32055XX DSP原理、 应用和设计[M].北京:机械工业出版社,2006. [6] 姜颖韬.基于DSP的 IIR滤波器设计与仿真[J].科协论 坛,2008,(6 ):44 -45. [7] 方小明,姚善化.基于MATLAB辅助设计 IIR滤波器的 方法研究[J].仪表技术,2008,(3):30-34. [8] 罗军益,李磊民,陈泉根.IIR滤波器的设计研究[J].微计 算机信息,2007,(23):306-308. (上接第 43页)
本文档为【基于MATLAB 和DSP 的IIR 滤波器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_672950
暂无简介~
格式:pdf
大小:254KB
软件:PDF阅读器
页数:3
分类:互联网
上传时间:2011-05-24
浏览量:16