基于DSP的数字滤波器的设计与仿真要点_第1页
基于DSP的数字滤波器的设计与仿真要点_第2页
基于DSP的数字滤波器的设计与仿真要点_第3页
基于DSP的数字滤波器的设计与仿真要点_第4页
基于DSP的数字滤波器的设计与仿真要点_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、2.1系统功能介绍一个实际的应用系统中,总存在各种干扰。数字滤波器在语音信号处理、信号 频谱估计、信号去噪、无线通信中的数字变频以及图像信号等各种信号处理中都有 广泛的应用,数字滤波器也是使用最为广泛的信号处理算法之一。在本设计中,使用 matlab模拟产生合成信号,然后利用 ccs进行滤波 设定模拟信号的采样频率为 48000hz,。设计一个fir低通滤波器,其参数为:滤波器名称:fir低通滤波器采样频率:fs=48000hz通带截止频率:15000hz阻带截止频率:16000hz通带最大衰减:0.1db阻带最少衰减:80db滤波器系数:由matlab根据前述参数求得。2.2总体设计方案流程

2、图图1总体设计方案主要内容和步骤3.1 滤波器原理对于一个fir滤波器系统,它的冲击响应总是又限长的,其系统函数可记为: nh z= hnzn z0其中n 1是fir的滤波器的阶数,z为延时结,h(n)为端口信号函数。最基本的fir滤波器可用下式表示:n 1y n =hkxn-k k=0其中x(n-k )输入采样序列,h(k )是滤波器系数,n是滤波器的阶数y(n)表示 滤波器的输出序列,也可以用卷积来表示输出序列 y(n)与x(n)、h(n)的关系,如 下:yn=xn hn3.2 操作步骤(1)打开fdatool,根据滤波要求设置滤波器类型、通带截止频率、指定 阶数、采样频率等。指定完设计参

3、数后单击按钮design filter,生成滤波器系数。(2)把生成的滤波器系数传到目标 dsp。选择菜单targets-export to code composer studio(tm)ide,打开 export to c header file对话框,选才c c header file ,指定变量名(滤波器阶数和系数向量),输出数据类型可选浮点型或 32 b, 16 b 整型等,根据自己安装选择目标板板号和处理器号,单击 ok,保存该头文件,需 指定文件名(filtercoeff . h)和路径(保存在c: timyprojectsfir工程中)。(3)修改ccs汇编程序,删掉数据前的所

4、有文字,在开头加上.data,第二行 加coeff .word,在每行的前面加上.word,比且把每行的最后的逗号去掉。(4)编译汇编程序,如果有错误,按错误进行修改;没错误,则往下执行。(5)加载初始化data数据。运行程序,查看输入输出波形,修改相应参数 进行调试11第4章详细设计在本实验中使用matlab模拟产生信号,观察滤波前的时域波形和频域波形。matlab仿真后,使用得到的滤波器参数,进行 dsp编程,在dsp中实现 带通滤波,并使用ccs的频谱分析功能,查看dsp的滤波效果。matlab 程序流程图如图4.1所示图4.1 matlab程序流程图ccs汇编程序流程图如图4.2所示图

5、4.2 ccs汇编程序流程图第5章实验过程5.1 汇编语言实验步骤与内容matlab辅助dsp实现fir ,其总体过程为在dsp中编写处理程序,在 matlab中利用滤波器设计、分析工具(fdatool ),根据指定的滤波器性能 快速设计一个 fir ,然后把滤波器系数以头文件形式导入ccs中,头文件中matlab 辅助dsp实现fir数字滤波器含滤波器阶数和系数数组,在 matlab 中调试、运行 dsp程序并显示、分析处理后的数据。使用该方法,便 于采用汇编语言来实现程序。头文件名不变,当matlab中设计的滤波器系数改 变时,相应头文件中系数也改变,方便了程序调试、仿真。(1)在matl

6、ab中先编写程序,查看待滤波和已滤波的信号的时域和频域 波形,如图5.1和图5.2所示。图5.1待滤波信号的时域图图5.2待滤波信号的频域图利用fda tool设计fir滤波器的参数,操作步骤如图5.3所示frequency c.khzmr sueierworttifiker orderspeerry order: ida utnimum gnek-r options/ sea* f&郡sgiiawrtndnvv:k&l9*er口 flr wkidowoesigaing filtef done| view |图5.3 fir滤波器的参数打开export,把numerator改为b,如图5.4所

7、示。图5.4 export 设置已滤波的信号的时域和频域波形,如图 5.5和图5.6所示e11+ e4iir*mr i口 l*。1 hlp-eil* hi* 1= lr. mr l u+u 则口 力hlp0 0li*k色h的国驷口口国口企id当 k色冷爬口 口x 10sj filler design fli arhalysis tool - luntitled-fda *ehe edit analysis targets view window help0 0 bi自用 国沁m泣亡|国os旧喏寺的l图僦回回mngnhucic remt 钙(db)siorfl finer.frfcr mansa

8、er图5.5已滤波信号时域波形图图5.6已滤波信号频域波形图matlab滤波器设计工具在完成fir设计后,如图5.7所示,在export as 中选择16bit符号整数输出,然后单击 ok按钮。生成fir.h c语言头文件。将系 数稍作修改,调整后拷贝到程序的系数初始化空间即可。图5.7 matlab输出数值转换图(2)在ccs中编写汇编语言程序,进行调试,实现带通滤波的功能。在ccs ide中建立lhm.pjt工程,用汇编语言编写处理主程序fir.asm。另外根据板上的 存储器配置方式,编写存储器配置文件fir.cmd文件,将matlab生成的lhm.h 和input1.dat文件拷贝到lh

9、m.pjt工程文件夹下,进行编译、链接,生成可执行文 件 lhm.out。(3)加载初始化data数据,图5.8所示。图5.8 data初始化图运行程序,查看输入输出波形,修改相应参数进行调试。5.2 实验过程中出现的错误及解决的办法(1)在matlab程序设计中,采样频率设置的过小,截止频率大于采样频 率的一半,运行的时候图形出现错误。(2) fir.m中的采样频率要和开始设置时的采样频率一致,否则结果会出现偏差(3)在ccs中未定义标号,程序运行错误。(4)在.h文件中未把coeff顶格写,编译时出现错误。(5)未将fir.h和input.dat文件考入工程文件中。(6)间接寻址过程中,程

10、序中丢失。(7) 在 view 的 graph 中单击 time/frequency 出现 graph property dialog 框,未修改抽样点数。显示的图形出现差异5.3 ccs程序运行后的各种输出结果在 view 的 graph 中单击 time/frequency 出现 graph property dialog 框。将显示类型,图形名称,起始地址,抽样点数,数据类型等分别进行设置,输出各种波形。输出滤波前的信号时域波形。首先,设置如图5.9所示,输出滤波前的信号时域波形。图 5.9 graph property dialog设置框图单击ok后生成如下图5.10波形。图5.10滤

11、波前信号波形图图5.10为滤波前的信号,波形很杂乱,从时域上很难看出信号的周期性。修改 相应设置,输出如图5.11所示滤波前信号频谱。图5.11滤波前信号频谱波形图经过滤波后,时域波形频谱波形如图5.12和5.13所示图5.12滤波后信号时域波形图图5.13滤波后信号频谱图由上述的所有截图可知,输入参数中,通带截止频率和阻带截止频 率是比较重要的两个参数,不宜过小,过小滤掉的高频成分太多,很难 还原出远波形的形状,也不宜过大,过大滤波效果欠佳。在本课程设计 中,通带截止频率选用4000hz,阻带截止频率选用4500hz,因此,显 示图形时的,时域显示的抽样点数为 1024,频域显示的带宽为0.

12、5hz。 对比滤波前后信号的时域图5.10和5.12、频谱波形图5.11和5.13可 以知道,滤波前的时域信号的波形图的波形很杂乱,很难看出信号的周 期性,滤波后周期性也相对的明显起来了;滤波前信号分布在整个频带上,滤波后阻带范围内的基本被滤掉,这些都可以从上述截图看出。附件:源程序清单用线性缓冲区实现fir滤波器程序清单:.titlefir1.asm”.mmregs.defstart.usect” cx, 8pa0.setpa1.set.datacoef:.word1*32768/10.word2*32768/10.word-4*32768/10.word3*32768/10.word-4*

13、32768/10.word2*32768/10.word1*32768/10.textstart: ssbxfrctstm#x+7,ar2stm#6,ar0ld#x+1,dpportr pa1,x+1fir1: rptz a,#6macd *ar2-,coef,asth a,*ar2portw *ar2+,pa0bdfir1portr pa1,*ar2+0.end用循环缓冲区实现fir滤波器程序清单:.titlefir2.asm”.mmregs .def start .bss y,1 xn.usect“xn”,7b0.usect“b0”,7pa0.set0pa1.set1.data table

14、: .word 1*32768/10 .word 2*32768/10 .word 3*32768/10 .word 4*32768/10 .word 5*32768/10 .word 6*32768/10 .word 7*32768/10 .text start: ssbx frctstm #b0,ar1 rpt #6 mvpd table,*ar1 + stm #xn+6,ar2 stm #b0+6,ar3 stm #7,bk stm #-1,ar0 ld #xn,dp portr pa1,xnfir2: rptz a,#6 mac *ar2+0%,*ar3+0%,a sth a,y po

15、rtw y,pa0 bd fir2portr pa1,*ar2+0% .end汇编程序清单ihm.h文件内容:.datacoeff .word -85,-64,-61,-36, 8, 62, 110, 136, 131.word 96, 42, -11, -44, -44, -11,39, 85, 106.word 88, 37, -29, -83, -101, -73, -7, 70, 124 .word 131, 82, -5, -96, -151, -144, -72, 37, 140.word 191, 162,61, -76, -191, -231, -174, -35, 132.w

16、ord 256, 278, 180, -7, -208, -337, -330, -176, 72.word 316, 445, 392, 156, -178, -475, -599, -470, -108.word 361, 745, 857, 594, -6, -748, -1336, -1456, -893.word 386, 2192, 4154, 5816, 6768, 6768, 5816, 4154, 2192.word 386, -893, -1456, -1336, -748, -6, 594, 857, 745.word 361, -108, -470, -599, -47

17、5, -178, 156, 392, 445.word 316, 72, -176, -330, -337, -208, -7, 180, 278.word 256, 132, -35, -174, -231, -191, -76, 61, 162.word 191, 140, 37, -72, -144, -151, -96, -5, 82.word 131, 124, 70, -7, -73, -101, -83, -29, 37.word 88, 106, 85, 39, -11, -44, -44, -11,42.word 96, 131, 136, 110, 62, 8, -36,

18、-61, -64.word -85fir.asm 内容:.title fir.asm .mmregs.global _c_int00;the length of input dataorder .set 154xna0d_len .set 1024.usect xn, (order-1).usect a0, (order-1)ii; get coefs from coef.hinput .usect input, d_len output .usect output, d_len .copy hm.h .text.asg ar0, fir_index.asg ar2, fir_data.asg

19、 ar3, fir_coef.asg ar5, data_in.asg ar6, data_out_c_int00:ssbx frctstm #a0,fir_coef; copy a0(coefs) tofir_coef(ar3)rpt#order-1mvpd #coeff,*fir_coef+stm#1, fir_indexstm#xn, fir_data; copy xn(data)tofir_data(ar2)rptz a,#order-1stl a, *fir_data+stm#(xn+order-1), fir_datastm#(a0+order-1), fir_coefstm#input, data_in;get datafrom inputstm#output, data_out;writedata to ou

温馨提示

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

评论

0/150

提交评论