




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
iir数字滤波器的cad设计及dsp实现摘 要:介绍了数字滤波器的基本概念、技术要求和性能指标,给出了iir数字滤波器的设计方法,并用matlab软件设计出了几种常用的数字滤波器。讨论了数字滤波器的实现结构,并通过ccs5000以tms320c54x dsp为目标器件,以从方波中提取同频率正弦信号为滤波任务,完成了iir数字滤波器的dsp实现,并对实验结果进行了分析讨论。关键词:iir数字滤波器;matlab;dspthe design and realization of iir digital filter by using cad software and dspabstract: the concept, specification and performance index of digital filter are introduced, then the design method of digital filter is given, several kind of commonly digital filter are designed by using matlab software. the realization structure of digital filter is presented, with ccs5000 and using tms320c54x dsp as the goal component, the iir digital filter is designed, its function is getting the same frequency sine signal from the square-wave.key word: iir digital filter; matlab; dsp目 录0引言 41数字滤波器概述 41.1数字滤波器的分类 41.2数字滤波器的技术要求和性能指标 51.3 iir数字滤波器的设计方法 72 基于matlab的iir数字滤波器设计82.1 iir数字滤波器的双线性变换设计法82.2 基于matlab函数直接设计iir数字滤波器 92.3 利用matlab的fdatool工具实现iir数字滤波器的设计122.4 iir数字滤波器的实际应用举例133 iir数字滤波器的dsp实现 153.1 iir滤波器的结构分析 153.2 iir滤波器的实现方法 16 3.2.1 直接型iir数字滤波器的实现方法17 3.2.2 直接型iir数字滤波器的实现方法183.3软件开发环境code composestudio (ccs)193.3.1 ccs 简介193.3.2 设计举例20结束语22参考文献23谢辞24附录250引言随着计算机和信息技术的发展,数字信号处理技术已形成一门独立的学科系统,并围绕着理论、现实和应用三个方面迅速发展。作为数字信号理论,一般是指利用经典理论(如数字、信号与系统分析等)作为基础而形成的独特的信号处理理论,以及各种快速算法和各类滤波技术等基础理论。由此在各个应用领域,如语音与图象处理、信息的压缩与编码、信号的调制与调解、信道的辨识与均衡、各种智能控制与移动通讯等,都延伸出各自的理论与技术,可以说凡是用计算机来及其技术处理各类信号的场合都引用了数字信号处理的基本理论、概念和技术。数字滤波器(df, digital filter)在数字信号处理中起着重要的作用,滤波是信号处理的基础,滤波运算是信号处理中的基本运算,在信号的检测与参数的估计等方面,数字滤波器是使用最为广泛的一种线形系统。因此滤波器的设计问题也是数字信号处理中的基本问题。本文介绍了iir数字滤器的设计原理、步骤及matlab设计方法,并通过实例讨论了iir数字滤器的dsp实现。1 数字滤波器概述数字滤波器是数字信号处理的重要组成部分,所谓数字滤波器是指输入输出均为数字信号,通过一定运算关系改变输入信号所含频率成分相对比例或者滤除某些频率成分的器件。因此它与模拟滤波器的概念是相同的,只是信号的形式和实现滤波的方法不同,但数字滤波器具有比模拟滤波器精度高、体积小、重量轻、稳定、灵活和不要求阻抗匹配以及实现模拟滤波器无法实现的特殊滤波功能等优点,因而被广泛应用。1.1数字滤波器的分类数字滤波器按照不同的分类方法,可以有多种分类,但总起来可以分为两大类。一类被称为经典滤波器,即一般的滤波器,其特点是输入信号中有用的频率成分和希望滤除的频率成分各占有不同的频带,通过一个合适的选频滤波器就可以达到滤波的目的。这种滤波器只能处理输入信号和干扰信号的频带互不重叠的情况,而对于干扰信号和输入信号有频率重叠的情况,这种滤波器就无能为力了,这时就需要采用另一类的滤波器即现代滤波器,这种滤波器能够按照随机信号内部的一些统计分布规律,从干扰中最佳地提取有用信号。例如卡尔曼滤波器,维纳滤波器、自适应滤波器等就属于这种滤波器。与模拟滤波器类似,一般数字滤波器按频率特性划分为低通、高通、带通、带阻、全通等滤波器。需要注意的是这种全通理想滤波器是不可能实现的,因为它们的单位脉冲相应均是非因果而且是无限长的,所以我们只能按照某些准则设计滤波器,使之尽可能逼近它,这种理想的滤波器可作为逼近的标准用。另外,数字滤波器的传输函数都是周期性的,周期为2。滤波器的低频通带在2的整数倍附近处,而高频通带在的奇数倍附近处,这一点是它和模拟滤波器的不同之处。按实现的网络结构或者单位脉冲响应的特性,数字滤波器可分为无限脉冲响应(iir,infinite response)滤波器和有限脉冲响应(fir, finite response)滤波器。它们的系统函数分别为: (1.1) (1.2)1.1式中的h(z)称为n阶iir滤波器函数,1.2式中的h(z)称为(n-1)阶fir滤波器函数。二者相比,通常iir数字滤波器可用较低阶数获得高的选择性,并且执行速度快,所用存储单元更少,所以既经济又高效。本文主要介绍iir数字滤波器的matlab设计及dsp实现。 1.2数字滤波器的技术要求和性能指标一般来说,滤波器的技术要求包括下面几个方面:1.滤波器的截止频率:滤波器类型通带技术要求阻带技术要求 幅频特性低通通带上限频率阻带下限频率高通通带下限频率阻带上限频率带通通带上限频率 通带下限频率下阻带上限频率 上阻带下限频率带阻上通带截止频率下通带截止频率阻带下限频率 阻带上限频率2.通带阻带的容限:滤波器中带通带阻的容限与的具体技术指标,往往由容许的最大衰减及阻带应达到的最小衰减给出。通带及阻带的衰减, 分别定义为:式中均假定已被归一化为1。3 采样频率:由于在数字滤波器的设计中是用弧度表示的,而实际上给出的频率要求往往是频率,单位为hz,因此在数字滤波器的设计中还应给出采样频率。滤波器的性能指标往往以频率响应的幅度特性的允许误差来表征。以低通滤波器特性为例(如图一),频率响应有通带、过渡带及阻带三个范围。在通带内: 1 0在阻带中: 其中为通带截止频率,为阻带截止频率,为通带误差,为阻带误差。从到称为过渡带,一般是单调下降的。当幅度下降到0.707时,此时,称为3db通带截止频率。、和统称为边界频率,它们在滤波器的设计中是非常重要的。图1 低通滤波器幅频特性1.3 iir数字滤波器的设计方法一个iir数字滤器可以用系统函数表示为 (1.3) 设计iir数字滤波器也就是要确定系统函数,即求(1.3)式中的 和,也就是要找到一组能满足特定滤波器要求的系数向量a和b.iir数字滤波器具有无限宽冲激响应,因而与模拟滤波器相匹配。又模拟滤波器的设计可借助于许多图表与公式,因此设计数字滤波器可按技术要求先设计一个模拟滤波器再按一定转换关系,将模拟滤波器转换成相应的数字滤波器,这过程需要两种变换(1)频带变换(2)模/数变换,根据这两种变换的先后次序,相应地有两种设计方法。第一种方法:第二种方法:模/数变换的方法很多,但在工程上比较常用的是脉冲响应不变法和双线性变换法。脉冲响应不变法的优点是其频率坐标变换是线性的,即=,缺点是会产生频率混叠现象,对于双线性变换法,它不可能产生频率混叠现象,这是它与脉冲响应不变法相比的最大优点,因此,大多情况下都采用双线形变换法。双线性变换的关系可以定义为:或者等效表示为基于双线形变换的iir数字滤波器设计的基本步骤如下:(1)根据任务,先确定性能指标,在设计一个滤波器之前,首先根据工程实际需要确定滤波器的技术指标:边界频率 ,阻带最小衰减和通带最大衰减;(2)将数字滤波器的技术指标转换成模拟滤波器的技术指标,主要是边界频率, 的转换,(3)用模拟滤波器的设计方法得到模拟滤波器的传输函数;可借助巴特沃思(butterworth)滤波器、切比雪夫(chebyshev)滤波器等,这些滤波器都有严格的设计公式,现成的曲线和图表供设计人员使用;(4)映射实现:利用双线形变换法将模拟滤波器转换成数字滤波器;(5)用适当的软硬件技术实现。包括采用计算机软件、数字滤波器硬件或者软件结合。2 基于matlab的iir数字滤波器设计matlab的意思是矩阵实验室,matlab语言在矩阵运算和数值运算等方面具有强大的功能,而且其界面非常直观、简洁,人机交互性好,目前它已经覆盖了几乎所有的科学研究和工程领域,如数字信号处理、数字图像处理、仿真技术、自动控制、神经网络、小波分析等。同样,用matlab语言也可以实现滤波器的设计,而且,matlab的信号处理工具箱中的fdatool就是专门进行滤波器设计和谱分析的,它使原来繁琐的程序设计简化成函数的调用,使滤波器的设计更为简便。2.1 iir数字滤波器的双线性变换设计法这种方法设计方法的步骤是先设计模拟滤波器,再通过matlab函数将模拟滤波器转化为数字滤波器,在matlab中,可以通过系统设定的函数来直接实现双线性变换,既bilinear函数,其调用格式为:bz,az=bilinear(b,a,fs); 设计举例1:使用双线形z变换法设计一个低通数字滤波器,给定技术指标为=150hz,=350hz, =3db, =30db, 抽样频率=1000hz fp=100;fs=300;fs=1000; rp=3;rs=30; wp=2*pi*fp/fs; ws=2*pi*fs/fs; fs=fs/fs; wap=tan(wp/2); was=tan(ws/2); n,wn=buttord(wap,was,rp,rs,s) z,p,k=buttap(n);bp,ap=zp2tf(z,p,k);bs,as=lp2lp(bp,ap,wap)bz,az=bilinear(bs,as,fs/2)h,w=freqz(bz,az,256,fs*1000); plot(w,abs(h); grid on;运行结果n = 3wn = 0.6207bs = 0.1323as = 1.0000 1.0191 0.5192 0.1323bz = 0.0495 0.1486 0.1486 0.0495az = 1.0000 -1.1619 0.6959 -0.1378图2 基于双现性变换法设计的数字滤波器的幅频相应曲线2.2 基于matlab函数直接设计iir数字滤波器 matlab工具箱中提供了几个直接设计数字滤波器的函数,它们使iir数字滤波器的设计变得更简单,这些函数有butter,cheby1,cheby2,ellip,yule-wale,prony,lpc,stmcb,以及infreqz,我们可由上述函数直接设计出巴特沃思,切比雪夫,椭圆等各种滤波器,下面以butter函数为例介绍基于巴特沃思法直接设计iir数字滤波器。 在matlab中可利用butter函数直接设计各种形式(低通、高通、带通、带阻型)的数字滤波器它的语法为:b,a=butter(n,wn)b,a=butter(n,wn,ftype)z,p,k=butter()a,b,c,d=butter() 该函数有三种输出形式:传递函数形式、零极点增益形式及状态方程形式。b,a=butter(n,wn)用于设计阶次为n,截止频率为wn的低通数字滤波器,截止频率wn是指滤波器幅度下降到-rpdb时的频率,它是归一化的频率,在0到1 之间取值,其中1对应于奈奎斯特频率即二分之一采样频率。它的返回值b,a分别表示阶次为n+1的数字低通滤波器系统传递函数的分子和分母多项式系数向量。系统传递函数的表达式可描述为:其中a(0)=1.b,a=butter(n,wn,ftype)用于设计高通、带通或带阻滤波器,并由参数ftype确定滤波器的形式。(1)当ftype=high时,为高通滤波器,此时滤波器的阶次为n:(2)当ftype=band(默认值)时,为带通滤波器,此时wn=wl,wh,返回的b,a所构成的滤波器是阶次为2n的带通滤波器,带通范围为wlwh(3)当ftype=stop时,为带阻滤波器,此时wn=wl,wh,返回的b,a所构成的滤波器是阶次为2n的带阻滤波器,带阻范围为wl ws=1200/12500ws =0.0960 wp=2800/12500wp =0.2240 n,wn=buttord(ws,wp,30,-45)n =2wn =0.0175 b,a=butter(n,wn)b =0.0007 0.0015 0.0007a =1.0000 -1.9222 0.9251 freqz(b,a,512,25000)求得系数为b =0.0007 0.0015 0.0007a =1.0000 -1.9222 0.9251(2)利用直接型结构编写iir低通滤波器实现程序这里我们还是在daram中开辟四个循环缓冲区,用来存放变量和系数,并采用循环缓冲区方式寻址。四个循环缓冲区的结构如下图所示。其中循环区长度为3,步长为1,依次递减,输入数据由new_ad传送到寄存器a,再由寄存器a传送到缓冲区,程序中遇到系数需要定标的问题,这里我们采用分步计算的方法解决,即在程序中先定义 再使指针地址不变利用两次加法运算来实现,这样仅仅多用了一个机器周期就解决了问题,使所有系数保持了精度,实现iir低通滤波器的程序片段如下:ld new_ad,-2,a stm # -1,ar0; stm # 3, bk stl a,*ar3 mpy *ar3+0%,*ar2+0%,a mac *ar3+0%,*ar2+0%,a mac *ar3,*ar2,a mac *ar4+0%,*ar5+0%,a mac *ar4,*ar5,a mac *ar4+0%,*ar5+0%,amar *ar5+0%(3)利用ccs进行仿真开发, 然后将程序加载到tms320c5402评估板上实时运行,并通过图形仿真工具观察输入输出信号的波形,以此实现设计要求。实现步骤入下:1. 连接试验箱,短接jp12,使得des5402pp的信号输出通道与输入通道相连;2. 启动ccs,并新建工程文件,输入汇编程序并存为.asm文件,输入链接命令文件并存为.cmd文件,再依次将他们添加到工程文件中;3. 在asm文件中设置断点,以便观察到连续更新的滤波输出.在view选项中设置输入和输出的图形显示窗口;4. 使用build选项完成编译、链接,然后将自动生成的.out文件装入des5402pp板,最后运行程序,观察输入输出信号波形。运行结果如下图所示: (4)滤波结果分析:从运行结果可以看出,输出波形还不是正规的正弦波,有明显的直流分量和残余频率成分,有以下几个方面原因: iir数字滤波器具有无限长的单位脉冲响应,在结构上存在反馈回路,具有递归性,因此iir数字滤波器的输出不仅与输入有关而且与过去的输出有关,由于定点dsp和cpu的32bit结构,在运算的过程中会对序列进行舍入处理,这种有限字长的效应有时会引起寄生震荡; iir数字滤波器只有当所有的极点在单位圆内时才是稳定的,事实上,对于一般设计的滤波器是不满足这一点的,本例中的滤波器就是不稳定的,它有一个极点在单位圆外; iir数字滤波器虽然可以用较低的阶数获得较高的选择性,且所用存贮单元少,经济高效,但这个高效率是以相位的非线性为代价的,因此iir数字滤波器存在相位的非线性问题; 定点dsp要求所输入的数据的绝对值是小于一的,而事实上滤波器的系数b遍大于一, 因此会遇到系数定标的问题,虽然可以用分步计算的方法保持精度,但是误差不可避免; 所选用的滤波器只有二阶,阶数过低,其过渡带太宽,所以滤波器不能有效地滤除干扰频率成分,滤波效果不太理想; 实验设备本身存在不稳定现象。(5)解决方法:可以采用更高阶的iir数字滤波器来实现提取方波中的同频率正弦波,由于高阶iir数字滤波器可以由若干个二阶基本节相级联或并联构成,所以可以调整系数和缓冲区,依次实现各阶滤波器,这时候若采用改进的直接型结构既可以节省存储单元而且还能避免溢出问题。4 结束语数字化是信息时代发展的方向。因此,数字信号处理技术应成为每一个电子信息科学工作者必须掌握的重要知识。数字滤波器做为数字信号处理的主要组成部分有着十分广泛的应用,而且滤波器的设计和实现问题是数字信号处理中的基本问题,因此掌握滤波器的设计和实现问题是具有现实意义的。参考文献:1丁玉美,高西全,数字信号处理 m 第二版 西安:西安电子科技大学出版社,20002邹彦,dsp原理及应用 m 北京:电子工业出版社3飞思科级产品研发中心,matlab7辅助信号处理技术与应用m 北京:电子工业出版社2005.34张立材,数字信号处理 m 北京:北京邮电大学出版社 2003谢 辞在本文的撰写过程中,我受到了老师和同学们的大力帮助,我的指导老师段旭朝老师在文章的整体思路和结构框架方面给了我很大的帮助,并在百忙中抽时间不厌其烦地为我一遍遍地修改论文,也是他一直鼓励我最终完成实验部分内容,穆美好老师在我做实验时耐心地帮我修改程序,查找错误,也给里我很大的帮助,最终我在他们的帮助下成功做出实验,完成论文,在此我向他们表示崇高的敬意和由衷地感谢!附录: .title test vc5402bootloader. .def _c_int00 .mmregsgpiocr .set 3chgpiosr .set 3dhdxr10 .set 23hdrr10 .set 21hspsa0 .set 38hspcr10 .set 39hspcr20 .set 39hxcr10 .set 39hpcr0 .set 39hdxr11 .set 43hspsa1 .set 48hspcr11 .set 49hspcr21 .set 49hxcr11 .set 49hpcr1 .set 49hsrgr1 .set 49hsrgr2 .set 49hswcr .set 2bhtimer_count .set 060hmcbsp_init .set 061hwave_ptr .set 062his_new_data .set 063hnew_ad .set 064hout_wave_ptr .set 065ht_ar2 .set 066ht_ar3 .set 067htemp .set 068ht_ar4 .set 069ht_ar5 .set 06ahwave_buf .set 0900h out_wave_buf .set 01000hn .set 2 ; iir tapsiir_coefa_buf .set 100h ; iir coef bufferiir_coefb_buf .set 080hiir_data .set 200h iir_counted_data .set 280h .text;-; interrupte vector table !中断向量表;-rs b _c_int00 nop nopnmi b _ret nop nopsint17 b _ret nop nopsint18 b _ret nop nopsint19 b _ret nop nopsint20 b _ret .word 0,0sint21 b _ret .word 0,0sint22 .word 01000h .word 0,0,0sint23 .word 0ff80h .word 0,0,0sint24 .word 01000h .word 0,0,0sint25 .word 0ff80h .word 0,0,0sint26 .word 01000h .word 0,0,0sint27 .word 0ff80h .word 0,0,0sint28 .word 01000h .word 0,0,0sint29 .word 0ff80h .word 0,0,0sint30 .word 01000h .word 0,0,0int0 b _
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国NATS交通信号控制系统数据监测研究报告
- 2025年中国FVC防腐涂料数据监测研究报告
- 2025年中国CD机芯电机数据监测报告
- 2025年中国3-甲氧基补有脂素片数据监测报告
- 2025至2030年中国药用级二水磷酸氢钙市场分析及竞争策略研究报告
- 2025至2030年中国罗纹华夫格粗细针市场分析及竞争策略研究报告
- 2025至2030年中国硬铝母线市场分析及竞争策略研究报告
- 2025至2030年中国电压互感器手车市场分析及竞争策略研究报告
- 2025至2030年中国灯具组件市场分析及竞争策略研究报告
- 2025至2030年中国汽车空调压缩机直伞齿轮市场分析及竞争策略研究报告
- 多芯粒集成芯片系统级可测试性设计优化研究
- 2025年中国USB-C充电器行业市场全景分析及前景机遇研判报告
- 化学●甘肃卷丨2024年甘肃省普通高中学业水平等级性考试高考化学真题试卷及答案
- 2025年山东省普通高中学业水平合格考预测历史试卷(含答案)
- 仓库组长考试试题及答案
- 衣柜厂家合作协议书
- 2025年数字媒体艺术考试试卷及答案
- 新生儿高胆红素血症诊治指南(2025)解读
- T∕CWEA 29-2024 水利水电工程砌石坝施工规范
- 在线媒体舆情公关合同(2篇)
- 西学中结业考核复习测试有答案
评论
0/150
提交评论