dsp课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

DSP原理及应用课程设计(2014年至2015学年度第2学期)题目:低通FIR滤波器的DSP实现学生姓名:院(系、部):机电工程学院指导教师:张云设计时间:2015.6.15—2015.6.19HebeiNormalUniversityofScience&Technology专业:电子信息工程学号:0414120205摘要I摘要随着电子技术的飞速发展,人们正逐步进入数字化时代,数字滤波器越来越受到人们的关注,并且在近代电信设备和各类控制系统中的应用极为广泛,如语音处理、图像处理、通信、电视、雷达、生物医学信号处理等。数字滤波器根据其冲激响应函数的时域特性,可分为有无限长单位冲激响应(IIR)滤波器和有限长单位冲击响应(FIR)滤波器。IIR滤波器虽然可以利用模拟滤波器设计的结果,而模拟滤波器的设计有大量的图表可查,方便简单,但它的相位是非线性的。图像处理以及数据传输都要求信道具有线性相位,同时又可以具有任意的幅度特性。此外,FIR滤波器的单位冲激响应是有限长的,因而滤波器一定是稳定的。随着Matlab软件和信号处理工具箱的不断完善,可以利用Matlab信号处理工具箱快速有效地实现数字滤波器的设计、分析和仿真。关键字:FIR滤波;MATHLAB;CCS;DSP目录II目录1.绪论....................................................................11.1设计背景............................................................11.2设计内容及要求......................................................12.FIR滤波器简介..........................................................12.1FIR滤波器的特点...................................................22.2FIR滤波器的基本结构.............................................23.设计流程图..............................................................24.设计步骤................................................................34.1使用matlab中的fdatool设计滤波器.................................34.2利用matlab产生噪声信号...........................................34.3在CCS中编写FIR滤波器程序........................................45.滤波器仿真测试..........................................................46.总结....................................................................5参考文献………………………………………………………………………………………5《DSP原理及应用》课程设计-1-1绪论1.1设计背景在信号处理中,滤波占有十分重要的地位。数字滤波是数字信号处理的基本方法。数字滤波与模拟滤波相比有很多优点,它除了可避免模拟滤波器固有的电压漂移、温度漂移和噪声等问题外,还能满足滤波器对幅度和相位的严格要求。低通有限冲激响应滤波器(低通FIR滤波器)有其独特的优点,因为FIR系统只有零点,因此,系统总是稳定的,而且容易实现线性相位和允许实现多通道滤波器。DSP(数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选用TMS320C54X作为DSP处理芯片,通过对其编程来实现FIR滤波器。对数字滤波器而言,从实现方法上,有FIR滤波器和无限冲激响应(IIR)滤波器之分。由于FIR滤波器只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。但是FIR系统有自己突出的优点:①系统总是稳定的;②易实现线性相位;③允许设计多通带(阻带)滤波器。其中后两项是IIR系统不易实现的。1.2设计内容及要求已知x1(n)=sin(2*pi*f11*n*T);x2(n)=0.7*sin(2*pi*f12*n*T)x3(n)=0.5*sin(2*pi*f13*n*T);x(n)=x1(n)+x2(n)+x3(n)其中:f11=500Hz;f12=2000Hz;f13=4000Hz;fs=10000Hz要求设计一个基于DSP的FIR低通滤波器,把f12和f13滤掉,保留f11。FIR低通滤波器的系数由Matlab中的fdatool产生,信号也由Matlab产生。2FIR滤波器简介2.1FIR滤波器的特点数字滤波器的功能,就是把输入序列通过一定的运算变换成输出序列。它的实现方法有很多,其中比较常用到的是无限长脉冲响应滤波器IIR和有限长脉冲响应滤波器FIR两《DSP原理及应用》课程设计-2-种。在计算量相等的情况下,IIR数字滤波器比FIR滤波器的幅频特性优越,频率选择性也好。但是,它有着致命的缺点,其相位特性不好控制。它的相位特性)argH()f(je是使频率产生严重的非线性的原因。但是在图像处理、数据传输等波形传递系统中都越来越多的要求信道具有线性的相位特性。在这方面FIR滤波器具有它独特的优点,设FIR滤波器单位脉冲响应h(n)长度为N,其系统函数H(z)为10)()(NnnznhzHH(z)是1z的(N-1)次多项式,它在z平面上有(N-1)个零点,原点z=0是(N-1)阶重极点。因此,H(z)永远稳定,它可以在幅度特性随意设计的同时,保证精确、严格的线性相位。2.2FIR滤波器的基本结构数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列,FIR滤波器的差分方程为:10)()(Nkkknxany对上式进行Z变换得到FIR滤波器的传递函数为:10NikkzbzXzYzH由上式可以看出,H(z)是1z的N-1次多项式,它在z平面内有N-1个零点,同时在原点处有N-1个重极点。N阶滤波器通常采用N个延迟单元、N个加法器与N+1个乘法器,取图1中(a)、(b)两种结构。图1FIR滤波器的一般结构因为FIR滤波器的单位抽样响应是有限长的,所以它永远是稳定的。另外,若对h(n)提出一些约束条件,那么可以很容易地使H(z)具有线性相位,这在信号处理的很多领域是非常重要的。FIR滤波器的设计任务,是要决定一个转移函数H(z),使它的频率响应满足给定的要求。这里所说的要求,除了通带频率p、阻带频率及两个带上的最大和最小衰减p和s外,很重要的一条是保证H(z)具有线性相位。《DSP原理及应用》课程设计-3-3设计流程图图2设计流程图4设计步骤4.1使用Matlab中的Fdatool设计滤波器(1)在Matlab的Start菜单中选择Toolboxes-FilterDesign-FilterDesign&AnalysisTools(fdatool),或者在命令行中输入fdatool来启动滤波器设计分析器。(2)在选项中选择或输入滤波器参数,然后点击“DesignFilter”按钮,完成滤波器的设计。(3)从Matlab中导出FIR滤波器系数。a.在Fdatool中,选择Targets-CodeComposerStudio(tm)IDE,如图1-3。b.在出现的对话框中选择输出文件类型为Cheaderfile,输出系数类型为signed16-bitinteger,如图1-4所示。c.点击Generate按钮,选择路径,即可输出前一步设计出的FIR滤波器的系数表。系数表:constintBL=81;constint16_TB[81]={-185,-311,10,-123,13,30,115,153,183,169,123,41,-60,-164,-249,-295,-286,-216,-90,74,247,396,486,488,389,190,-84,用Matlab中Fdatool设计滤波器用Matlab产生待滤波数据导出滤波器系数表在CCS中设计FIR滤波器程序输出滤波并观察波形《DSP原理及应用》课程设计-4--393,-680,-882,-941,-809,-464,91,822,1666,2540,3351,4010,4439,4587,4439,4010,3351,2540,1666,822,91,-464,-809,-941,-882,-680,-393,-84,190,389,488,486,396,247,74,-90,-216,-286,-295,-249,-164,-60,41,123,169,183,153,115,30,13,-123,10,-311,-185};4.2利用Matlab产生噪声信号将下面代码另存为M文件,在Matlab中运行后将会生成input.dat文件。该数据文件中含有500Hz、3000Hz、8000Hz三种频率的信号,用于滤波器滤波效果测试。信号的时域图和频谱分别图2-1、图2-2所示。程序:f11=500;%/Hzf12=3000;%/Hzf13=8000;%/Hzfs=10000;%/采样HzN=1000%数据个数T=1/fs;%采样周期n=0:N;x11=sin(2*pi*f11*n*T);x12=0.7*sin(2*pi*f12*n*T);x13=0.5*sin(2*pi*f13*n*T);x_base=(x11+x12+x13);%待滤波信号波形figure(1)plot(x_base)%待滤波信号频谱figure(2)yff=abs(fft(x_base))df=n*(fs/N)《DSP原理及应用》课程设计-5-plot(df,yff)xout=x_base/max(x_base);%归一化xto_ccs=round(32767*xout)fid=fopen('input.dat','w');%打开文件fprintf(fid,'16511000\n');%输出文件头fprintf(fid,'%d\n',xto_ccs);%输出fclose(fid);图3时域图《DSP原理及应用》课程设计-6-图4频谱图4.3在CCS中编写FIR滤波器程序FIR滤波器程序#includestdio.h#includefdacoefs.h#defineN81//FIR滤波器的级数+1,本例中滤波器级数为80#defineLEN200//待滤波的数据长度longyn;intinput[LEN];//输入缓冲,在仿真时将从内存载入intoutput[LEN];//输出缓冲,直接存放在内存中voidmain(){inti,j;int*x;for(j=0;jLEN-1;j++){x=&input[j];yn=0;for(i=0;iN-1;i++)yn+=B[i]*(*x++);《DSP原理及应用》课程设计-7-output[j]=yn15;}while(1);cmd文件如下:MEMORY{PAGE0:EPROG:origin=0x1400,len=0x7c00VECT:origin=0xff80,len=0x80PAGE1:USERREGS:origin=0x60,len=0x1cBIOSREGS:origin=0x7c,len=0x4IDATA:origin=0x80,len=0x1380ByCraftorEDATA:origin=0x140

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功