《基于DSP的FIR数字低通滤波器设计.doc》由会员分享,可在线阅读,更多相关《基于DSP的FIR数字低通滤波器设计.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、郑州交通职业学院 数字信号处理课程论文(设计)课程设计题: 基于DSP的FIR数字低通滤波器 所属系别 专业班级 姓名 学号 指导教师 撰写日期 2013 年 6 月1.引言随着电子技术的飞速发展,人们正逐步进入数字化时代,数字滤波器越来越受到人们的关注,并且在近代电信设备和各类控制系统中的应用极为广泛,如语音处理、图像处理、通信、电视、雷达、生物医学信号处理等。数字滤波器根据其冲激响应函数的时域特性,可分为有无限长单位冲激响应(IIR)滤波器和有限长单位冲击响应(FIR)滤波器。IIR滤波器虽然可以利用模拟滤波器设计的结果,而模拟滤波器的设计有大量的图表可查,方便简单,但它的相位是非线性的。
2、图像处理以及数据传输都要求信道具有线性相位,同时又可以具有任意的幅度特性。此外,FIR滤波器的单位冲激响应是有限长的,因而滤波器一定是稳定的。随着Matlab软件和信号处理工具箱的不断完善,可以利用Matlab信号处理工具箱快速有效地实现数字滤波器的设计、分析和仿真。2.设计目的为了熟练使用DSP,在本课程结束之际,利用所学的数字信号处理知识设计一FIR滤波器,并在基于DSP平台的仿真软件CCS下通过软件模拟仿真实现基本的滤波功能,其中输入信号和滤波器的各个参数自行确定。首先可以借助Matlab来产生输入数据,并根据输入信号确定滤波器参数,然后根据产生滤波器参数在CCS下编写程序实现滤波器功能
3、,最后进行滤波器性能的测试,完成本次课程设计。3.FIR滤波器基本理论(1)FIR滤波器的特点数字滤波器的功能,就是把输入序列通过一定的运算变换成输出序列。它的实现方法有很多,其中比较常用到的是无限长脉冲响应滤波器 IIR和有限长脉冲响应滤波器FIR两种。在计算量相等的情况下,IIR数字滤波器比FIR滤波器的幅频特性优越,频率选择性也好。但是,它有着致命的缺点,其相位特性不好控制。它的相位特性是使频率产生严重的非线性的原因。但是在图像处理、数据传输等波形传递系统中都越来越多的要求信道具有线性的相位特性。在这方面 FIR滤波器具有它独特的优点,设FIR滤波器单位脉冲响应h(n)长度为N,其系统函
4、数H(z)为H(z)是的(N-1)次多项式,它在z平面上有(N-1)个零点,原点z=0是(N-1)阶重极点。因此,H(z)永远稳定,它可以在幅度特性随意设计的同时,保证精确、严格的线性相位。(2)FIR滤波器的基本结构 数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列,FIR滤波器的差分方程为: 对上式进行Z变换得到FIR滤波器的传递函数为: 由上式可以看出,H(z)是的N-1次多项式,它在z平面内有N-1个零点,同时在原点处有N-1个重极点。N阶滤波器通常采用N个延迟单元、N个加法器与N+1个乘法器,取图中(a)、(b)两种结构。图 FIR滤波器的一般结构因为FIR
5、滤波器的单位抽样响应是有限长的,所以它永远是稳定的。另外,若对 h(n)提出一些约束条件,那么可以很容易地使 H(z)具有线性相位,这在信号处理的很多领域是非常重要的。FIR滤波器的设计任务,是要决定一个转移函数H(z),使它的频率响应满足给定的要求。这里所说的要求,除了通带频率、阻带频率及两个带上的最大和最小衰减和外,很重要的一条是保证H(z)具有线性相位。(3)Chebyshev逼近法窗函数法和频率采样法设计出的滤波器的频率特性都是在不同意义上对所给理想频率特性的逼近。由数值逼近理论可知,对某个函数f(x)的逼近一般有以下三种方法:插值法(Interpolating Way)最小平方逼近法
6、(Least Square Approaching Way)一致逼近法(Consistent Approaching Way)切比雪夫最佳一致逼近的基本思想是,对于给定区间a,b上的连续函数,在所有n次多项式的集合中,寻找一个多项式 p(x),使它在a,b上对的偏差和其它一切属于的多项式 p(x)对f(x)的偏差相比是最小的,即 切比雪夫逼近理论,这样的多项式是存在的,且是唯一的,并指出了构造这种最佳一致逼近多项式的方法,就是有名的“交错点组定理”。4.FIR滤波器的MATLAB实现MATLAB辅助DSP 实现FIR ,其总体过程为在DSP中编写处理程序,在MATLAB中利用滤波器设计、分析工
7、具( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,再把滤波器系数以头文件形式导入CCS 中,头文件中MATLAB 辅助DSP 实现FIR 数字滤波器含滤波器阶数和系数数组,在MATLAB中调试、运行DSP 程序并显示、分析处理后的数据。使用该方法,便于采用汇编语言来实现程序。头文件名不变,当MATLAB中设计的滤波器系数改变时,相应头文件中系数也改变,方便程序调试、仿真。(1)输入信号的产生首先利用Matlab产生导入CCS的dat文件,具体实现如下代码所示sl=500; %有效信号ns1=3000; %高频噪声ns2=8000; %高频噪声fs=20000; %采样频率N=
8、1000;T=1/fs;n=0:N;signal=sin(2*pi*sl*n*T);noise1=0.7*sin(2*pi*ns1*n*T);noise2=0.4*sin(2*pi*ns2*n*T);x=(signal+noise1+noise2);%待滤波信号figure(1)plot(x)figure(2)y=abs(fft(x);%待滤波频谱df=n*(fs/N);plot(df,y)figure(3)plot(signal)figure(4)ysignal=abs(fft(signal);%滤波后频谱df=n*(fs/N);plot(df,ysignal) %滤波数据导出xout=x/
9、max(x); %归一化xto_css=round(32767*xout);%数据取整xoutcss=xto_css;fid=fopen(input.dat,w); %打开文件fprintf(fid,1651 1 0 0 0n);%输出文件头fprintf(fid,%dn,xoutcss); %输出fclose(fid);产生的时域波形如图所示:图 输入信号波形频谱如图所示:图 输入频谱经过滤波器后的预期时域波形如图:图 输出时域波形频谱如图所示图 输出频谱(2) 滤波器的设计MATLAB集成了一套功能强大的滤波器设计工具FDATool(Filter Design & Analysis Tool),可以完成多种滤波器的设计、分析和性能评估。7.参考文献(1)程佩青;清华大学出版社(2)吴镇扬;高等教育出版社(3)胡广书;清华大学出版社.(4)高西全,丁玉美.数字信号处理.3版.西安:西安电子科技大学出版社,2008年(6)楼顺天,李伯菡.基于Matlab的系统分析与设计.西安;西安电子科技大学出版社(7)周浩敏,王睿.测试信号处理技术.北京航空航天大学出版社(8)黄文梅.信号分析与处理.长沙;国防科技大学出版社。附录: