为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

FIR数字滤波器的MATLAB设计及DSP的实现

2011-02-20 3页 doc 53KB 29阅读

用户头像

is_407370

暂无简介

举报
FIR数字滤波器的MATLAB设计及DSP的实现一、引言   一、引言         数字滤波是语音处理、图像处理、模式识别、频谱分析等应用的基本处理算法。数字滤波具有稳定性好、精确度高、不受环境影响、灵活性好的特点。数字滤波器分为无限冲激响应滤波器(IIR)和有限冲激响应滤波器(FIR)滤波器。FIR数字滤波器不含反馈环路、稳定和可以实现严格线性相位等优点。         二、FIR滤波器的MATLAB设计         FIR滤波器的设计方法有窗函数设计法、频率采样设计法和等波纹逼近法。窗函数法设计FIR滤波器是工程实践中应用最广泛的设计方法。窗函数设计FIR滤波...
FIR数字滤波器的MATLAB设计及DSP的实现
一、引言   一、引言         数字滤波是语音处理、图像处理、模式识别、频谱分析等应用的基本处理算法。数字滤波具有稳定性好、精确度高、不受环境影响、灵活性好的特点。数字滤波器分为无限冲激响应滤波器(IIR)和有限冲激响应滤波器(FIR)滤波器。FIR数字滤波器不含反馈环路、稳定和可以实现严格线性相位等优点。         二、FIR滤波器的MATLAB         FIR滤波器的设计方法有窗函数设计法、频率采样设计法和等波纹逼近法。窗函数法设计FIR滤波器是工程实践中应用最广泛的设计方法。窗函数设计FIR滤波器的基本思想:根据给定的滤波器技术指标,选择滤波器长度M和窗函数W(N),使其具有最窄的主瓣和最小的旁瓣。其核心是从给定的频率特性通过加窗以确定有限长单位脉冲响应序列h(n)。实际实现的滤波器的单位取样响应为h(n),长度为N,其系统函数为H(z)。工程实际中常用的窗函数有6种,即矩形窗、三角窗、汉宁窗、哈明窗、布莱克曼窗和凯泽窗。         滤波器设计需要进行大量复杂的运算,利用MATLAB强大的计算功能进行计算机辅助设计,可以快速有效地设计数字滤波器,大大地简化了计算量。应用MATLAB设计Fir数字滤波器时,先根据给定过渡带宽度和阻带最小衰减的选择合适的窗函数,之后,调用窗函数编译相应的程序计算滤波器的阶数M、hd(n)、h(n)和实际的幅频特性,之后由输出验证设计是否满足性能指标要求。         例:用窗函数法设计一个带通滤波器,指标要求如下:低端阻带截止频率ws1=0.2π;低端通带截止频率wp1=0.35π;高端阻带截止频率wp2=0.8π;高端通带截止频率wsp2=0.65π;通带最大衰减Rp=1dB;阻带最小衰减As=50dB。 MATLAB部分源程序如下:         凯泽窗设计低通.m: HYPERLINK "http://www.lwckw.com/lunwen/UploadFiles_2994/201011/2010112609415237.png" \t "_blank"   . ws1=0.2*pi;wp1=0.35*pi;wp2=0.65*pi;ws2=0.8*pi;As=50; tr_width=min((wp1-ws1),(ws2-wp2)); M=ceil(8*pi/tr_width)+1 n=[0:1:M-1]; wc1=(ws1+wp1)/2;wc2=(wp2+ws2)/2; hd=ideal_lp(wc2,M)-ideal_lp(wc1,M); w_bla=(hamming(M))' h=hd.*w_bla; [db,mag,pha,grd,w]=freqz_m(h,[1]); delta_w=2*pi/1000; Rp=-min(db(wp1/delta_w+1:1:wp2/delta_w)) As=-round(max(db(ws2/delta_w+1:1:501))) RHpah=unwrap(pha);         三、FIR数字滤波器的DSP实现         FIR滤波器的输出表达式:   .         式中,bi为滤波器系数,x(n)为滤波器在 时刻的输入,y(n)为n时刻的输出。它的基本算法是一种乘法—累加运算。即不断地输入样本x(n),经过z-1延时后,再进行乘法-累加,最后输出滤波结果y(n)。在TMS320C54x中,实现z-1算法,可采用线性缓冲区法或者循环缓冲区法。本文以循环缓冲区算法为例说明。         (一)循环缓冲区实现z-1         1.在数据存储器中开辟一个N个单元的缓冲区(滑窗),用来存放最新的N个输入样本。         2.从最新样本开始取数。         3.读完最老样本后,输入最新样本来代替最老样本,而其他数据位置不变。         4.用BK寄存器对缓冲区进行间接寻址,使缓冲区地址首尾相邻。         第1次运算,求y(n)(以N=8阶为例)。         1.以ARx为指针,按x(n)……x(n-7)的顺序取数,每取一次数后,数据向下移一位,并完成一次乘法累加运算。         2.当经过8次取数、移位和运算后,得y(n)。         3.求得y(n)后,ARx指向最老样本x(n-7)单元。         4.从I/O口输入新样本x(n+1),替代最老样本x(n-7),为下次计算做准备。         第2次运算求的y(n+1)后,ARx指向x(n-6),输入的新样本x(n+2)将替代x(n-6)样本,在循环缓冲区中新老数据的位置不是很直观,但不需要数据移动,不要求能够进行一次读和一次写的数据存储器,因此可将缓冲区定位在数据存储器的任何区域。实现N个循环缓冲区单元首尾相邻,可用BK寄存器按模间接寻址来实现。         其中,circ是根据BK寄存器中的缓冲区长度,对(ARx+1)、(ARx-1)、(ARx+AR0)、(ARx-AR0)和(ARx+1k)的值进行取模,使指针ARx指向缓冲区,实现循环缓冲区首尾相邻。         在循环缓冲区中新老数据的位置不是很直观,但不需要数据移动,不要求能够进行一次读和一次写的数据存储器,因此可将缓冲区定位在数据存储器的任何区域。实现N个循环缓冲区单元首尾相邻,可用BK寄存器按模间接寻址来实现。         其中,circ是根据BK寄存器中的缓冲区长度,对(ARx+1)、(ARx-1)、(ARx+AR0)、(ARx-AR0)和(ARx+1k)的值进行取模,使指针ARx指向缓冲区,实现循环缓冲区首尾相邻。         (二)FIR滤波器的设计与实现实例         设计一个FIR低通滤波器,其设计参数:滤波器阶数:N=40;截止频率:wp=0.35p,ws=0.4p。         1.由给定的滤波器的性能指标应用MATLAB设计完成滤波器设计。         2.采用循环缓冲区实现FIR滤波器的部分源程序如下。         ……         FIR_INIT:SSBX  FRCT                            ;设置小数乘法           STM   #FIR_COFF,AR5                  ;AR1指向b0单元           RPT   #K_FIR_BFFR-1                   ;设置传输次数           MVPD  #COFF_FIR_START,*AR5+          ;系数bi传输至数据区           STM   #D_DATA_BUFFER,AR4    ;D_DATA_BUFFER缓冲区清0           RPTZ  A,#K_FIR_BFFR-1           STL   A,*AR4+           STM   #(D_DATA_BUFFER+K_FIR_BFFR-1),AR4           STM   #(FIR_COFF_TABLE+K_FIR_BFFR-1),AR5         STM   #-1,AR0                               ;设置双操作数减量           LD    #D_DATA_BUFFER,DP           ;设置页指针           PORTR PA1,@D_DATA_BUFFER          ;输入x(n)         FIR_TASK:STM   #K_FIR_BFFR,BK           RPTZ  A,#K_FIR_BFFR-1             ;重复操作           MAC   *AR4+0%,*AR5+0%,A          ;双操作数乘法-累加           STH   A,@y                        ;暂存y(n)           ……         五、结束语         自20世纪80年代初DSP芯片诞生以来,DSP技术得到了飞速的发展,已经在通信与电子系统、信号与信息控制、自动控制、雷达、军事、航空航天、医疗、家用电器等许多领域得到广泛的应用。应用MATLAB软件设计FIR数字滤波器,并用DSP实现了FIR数字滤波是解决数字滤波器从设计到实现的有效办法,具有一定的实际应用价值。 参考文献: [1]丁玉美,高西全.数字信号处理[M].西安:西安电子科技大学出版社,2005 [2]王华奎,张立毅.数字信号处理及应用[M].北京:高等教育出版社,2004,11 [3]张雄伟,陈亮,徐光辉.DSP集成开发与应用实例[M].北京:电子工业出版社,2002 [4]彭启宗.DSP技术原理及应用[M].北京:电子工业出版社,199
/
本文档为【FIR数字滤波器的MATLAB设计及DSP的实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索