ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:168.36KB ,
资源ID:2229260      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-2229260.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于matlab的fir滤波器的设计课程设计.doc)为本站会员(dreamzhangning)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

基于matlab的fir滤波器的设计课程设计.doc

1、课程设计报告题 目 基于 MATLAB 的 FIR 滤波器的设计 学 院 信 息 工 程 学 院 专 业 电子信息工程 摘要数字滤波技术是数字信号处理的一个重要组成部分, 滤波器的设计是信号处理的核心问题之一。根据 FIR 滤波器的原理, 提出了 FIR 滤波器的窗函数设计法, 并对常用的几种窗函数进行了比较。给出了在 MATLAB 环境下, 用窗函数法设计 FIR 滤波器的过程和设计实例。仿真结果表明,设计的 FIR 滤波器的各项性能指标均达到了指定要求, 设计过程简便易行。该方法为快速、 高效地设计 FIR 滤波器提供了一个可靠而有效的途径。 FIR 数字滤波器以其良好的线性特性被广泛应用

2、于现代电子通信系统中,是数字信号处理的重要内容之一。在实际信号处理中,往往要求系统兼具实时性和灵活性,而已有的一些软件或硬件实现方案(如 DSP)则难以同时达到这两方面的要求。使用具有并行处理特性的 FPGA 来实现 FIR 滤波器,既有很强的实时性,又兼顾了灵活性,为数字信号处理提供了一种很好的解决方案。FIR 滤波器系数计算较为繁琐,在设计时借助 Matlab 工具箱,选择合适的窗函数,可以方便地计算滤波器系数,并分析其幅频、相频特性。设计目的(1)掌握用窗函数法设计 FIR 数字滤波器的原理与方法。(2)熟悉线性相位 FIR 数字滤波器的特性。(3)了解各种窗函数对滤波特性的影响。FIR

3、 滤波器的简介和原理FIR 数字滤波器的特点(与 IIR 数字滤波器比较): 优点 :(1)很容易获得严格的线性相位, 的信号 产生相位失真,这一特点在 宽频带信 号处理、阵 列信号处理、数据传输等系统中 非常重要;(2 )可得到多带幅频特性;(3 )极点全部在原点(永远稳定) ,无稳定 性问题;(4 )任何一个非因果的有限长序列,总可以通过一 定的延时,转变为因果序列, 所以因果性总是满足;(5)无反馈运算,运算误差小。缺点:(1)因为无极点,要获得好的过渡带特性,需以较高的阶数为代价;(2)无法利用模拟滤波器的设计结果,一般无解析设计公式,要借助计算机辅助设计程序完成。FIR 滤波器具有严

4、格的相位特性,返对于诧音信号处理和数据传输是很重要的前 FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计法。本设计中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要丌高的时候是比较灵活方便的。 如果 FIR 滤波器的 h(n)为实数, 而且满足以下任意条件, 滤波器就具有准确的线性相位, 第一种:偶对称,h(n)=h(N-1-n), ()=-(N-1) /2 第二种:奇对称,h(n)=-h(N-1-n), ()=-(N-1) /2 +pi/2 对称中心在 n=(N-1)/2 处, 根据以上对称

5、条件,可以将 FIR 滤波器分为 4 种: h(n), evenly symmetric, odd N h(n), evenly symmetric, even N, 3 h(n), oddly symmetric, odd N, h(n), oddly symmetric, even N,典型的窗函数(1)矩形窗(Rectangle Window)()(nRwN其频率响应和幅度响应分别为:, 21)/si()(Njj eeW )2/sin()(NWR(2)三角形窗(Bartlett Window)12,10)( NnNnw其频率响应为: 2)/si(4)(jj eeW(3)汉宁(Hannin

6、g)窗,又称升余弦窗)(12cos(1)(nRNnw其频率响应和幅度响应分别为: )12()12(5.0)(5.)( )()(.)(.)( )21( NWWe ee RRRaj NjRRRj (4)海明(Hamming)窗,又称改进的升余弦窗)(cos(46.)( nNnw其幅度响应为: )12()123.0)5. NRRR (6)凯泽(Kaiser)窗0,)()1/21()020 nINnInw其中: 是一个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,越大,过渡带越宽,阻带越小衰减也越大。I 0()是第一类修正零阶贝塞尔函数。5 种窗函数性能比较窗类型 旁瓣峰值 主瓣峰值

7、最小阻带衰减矩形窗 13dB 4/M 21dB三角窗 25dB 8/M 25dB汉宁窗 31dB 8/M 44dB海明窗 41dB 8/M 53dB凯泽窗 57dB 12/M 74dB用窗函数设计 FIR 滤波器的基本方法设计思想:从时域从发,设计 逼近理想 。设理想滤波器)(nh)(nhd的单位脉冲响应为 。以低通线性相位 FIR 数字滤波器为例。)(jdeHddeHnhnhjddjj )(21)(一般是无限长的,且是非因果的,不能直接作为 FIR 滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器 h(n),最直接的方法是截断,即截取为有限长因果序列,并用合适的窗函数进行加权作为)()

8、(nwhdFIR 滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n) 必须是偶对称的。对称中心必须等于滤波器的延时常数,即2/)1(Nanhd用矩形窗设计的 FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的 9%,这个现象称为吉布斯(Gibbs )效应。为了消除吉布斯效应,一般采用其他类型的窗函数。使用窗函数法设计时要满足以下两个条件:( 1) 窗谱主瓣尽可能地窄, 以获得较陡的过渡带;( 2) 尽量减少窗谱的最大旁瓣的相对幅度, 也就是使能量尽量集中于主瓣, 减小峰肩和纹波, 进而增加阻带的衰减。设计步骤a.录制一段自己的语音信号,并对录制

9、的信号进行采样。b.画出采样后语音信号的时域波形和频谱图。c.噪声的添加。d.给出滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应。e.设计滤波器并对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。f.回放语音信号。g设计一个 GUI 界面(选做) 。(a)语音信号的采集利用 Windows 下的录音机,录制一段自己的话音,时间在 2 s 内。然后在Matlab 软件平台下,利用函数 wavread 对语音信号进行采样,记住采样频率和采样点数。代码:y,fs,bits=wavread(zyb.wav,1024 6350

10、0);sound(y,fs,bits);(b)语音信号的频谱分析首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性。代码:Y=fft(y,4096); figure(1); plot(y);title(语音信号的时域波形); figure(2); plot(abs(Y);title(语音信号的频谱特性); 0 1 2 3 4 5 6x 104-1-0.8-0.6-0.4-0.200.20.40.60.81 信 信 信 信 信 信 信 信 信0 500 1000 1500 2000 2500 3000 3500 4000 4500012345678910 信 信 信

11、信 信 信 信 信 信(c)利用特定的函数产生噪声。代码:t=0:0.2:10;y1=awgn(y,10,measured);Y1=fft(y1,4096);figure(3);plot(y1);title(加噪语音信号的时域波形);figure(4);plot(abs(Y1);title(加噪语音信号的频谱特性);0 1 2 3 4 5 6x 104-1.5-1-0.500.511.5 信 信 信 信 信 信 信 信 信 信 信0 500 1000 1500 2000 2500 3000 3500 4000 450001020304050607080 信 信 信 信 信 信 信 信 信 信

12、信(d)设计数字滤波器和画出其频率响应给出各滤波器的性能指标:(1)低通滤波器性能指标 fb1 000 Hz,fc 1 200 Hz,As100 dB,Ap1 dB。(2)高通滤波器性能指标 fc4 800 Hz,fb5 000 Hz As100 dB,Ap1 dB。(3)带通滤波器性能指标 fb11 200 Hz,fb23 000 Hz,fc11 000 Hz,fc23 200 Hz,As100 dB,Ap1 dB。利用窗函数法和双线性变换法设计其上的低通滤波器。在 Matlab 中,利用函数 fir1 设计 FIR 滤波器,并利用 Matlab 中的函数 freqz 画出各滤波器的频率响应

13、。(e)用滤波器对信号进行滤波利用设计出的各滤波器分别对采集的信号进行滤波,在 Matlab 中,FIR 滤波器利用函数 fftfilt 对信号进行滤波。(f)比较滤波前后语音信号的波形及频谱在一个窗口同时画出滤波前后的波形及频谱。(g)回放语音信号在 Matlab 中,函数 sound 可以对声音进行回放。(h)设计系统界面(选作)为了使编制的程序操作方便,设计 GUI 的用户界面。设计流程图对声音信号进行时域和频域分析添加噪声设计滤波器播放带有噪声的声音信号程序代码:fs=20000;%*对外部声音的读取和处理*y,fs,bits=wavread(张源斌.wav,2048 60000);s

14、ound(y,fs,bits);Y=fft(y,4096); figure(1); plot(y);title(语音信号的时域波形); figure(2); plot(abs(Y);title(语音信号的频谱特性); %*添加噪声*n=length(y);开始录制声音信号回放滤波后的声音比较滤波前后的时域和频域分析t=0:1/fs:(n-1)/fs;Au=0.04Noise=Au*sin(2*pi*5000*t);y1=y+Noise;Y=fft(y1,4096);sound(y1,fs,bits);figure(3);plot(y1);title(加噪语音信号的时域波形);figure(4)

15、;plot(abs(Y);title(加噪语音信号的频谱特性);%*FIR 滤波器设计*fs=20000;rp=1;rs=100;fcuts=1000 1200;d1=(10(rp/20)-1)/(10(rp/20)+1);d2=10(-rs/20);mags=1 0;devs=d1 d2;n,wn,beta,ftype=kaiserord(fcuts,mags,devs,fs);b=fir1(n,wn,ftype,kaiser(n+1,beta),noscale);figure(5);freqz(b,1,512);grid;xlabel(频率Hz);ylabel(频率响应幅度);grid;%

16、*对原信号进行滤波*f1=filter(b,1,y1);sound(f1,20000); %播放滤波后的信号%*比较波形滤波前后时域的图形*figure(6)subplot(2,1,1)plot(y1) %画出滤波前的时域图title(滤波前的时域波形);xlabel(times);ylabel(幅度);grid;subplot(2,1,2)plot(f1); %画出滤波后的时域图title(滤波后的时域波形);xlabel(times);ylabel(幅度);grid;%*比较波形滤波前后频域的图形*F0=fft(f1,1024);f=fs*(0:511)/1024;figure(7)y2=

17、fft(y1,1024);subplot(2,1,1);plot(f,abs(y2(1:512); %画出滤波前的频谱图title(滤波前的频谱);axis(0 4000 0 1.5);xlabel(频率Hz);ylabel(幅度);grid;subplot(2,1,2)F1=plot(f,abs(F0(1:512); %画出滤波后的频谱图title(滤波后的频谱);axis(0 4000 0 1.5);xlabel(频率Hz);ylabel(幅度);grid;运行结果图0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-8000-6000-4000-20000No

18、rmalized Frequency ( rad/sample)Phase (degrees)0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-200-1000100信 信 信 Hz信信信信信信0 1 2 3 4 5 6x 104-2-1012 信 信 信 信 信 信 信 信times信信0 1 2 3 4 5 6x 104-2-1012 信 信 信 信 信 信 信 信times信信0 500 1000 1500 2000 2500 3000 3500 400000.511.5 信 信 信 信 信 信信 信 信 Hz信信0 500 1000 1500 2000 2

19、500 3000 3500 400000.511.5 信 信 信 信 信 信信 信 信 Hz信信GUI 设计screen=get(0,screensize);W=screen(3);H=screen(4);figure(color,0.85,0.75,0.35,position,0.5*H,0.5*H,0.5*W,0.5*H,.name, 张源斌图形演示界面,Numbertitle,off,Menubar,none);hplot=uimenu(gcf,Label,uimenu(hplot,Label,语音信号采集,call,y,fs,Nbits=wavread(张源斌);,.plot(y);,

20、title(语音信号的时域波形););uimenu(hplot,Label,加噪语音信号的时域波形,call,fs=20000;,x1,fs,nbits=wavread(张源斌);,. t=length(x1)/20000;,f=fs*(0:1023)/2048;,Au=0.05;,d=Au*cos(2*pi*3800*t);,x2=x1+d;,.plot(x2);,title(加噪语音信号的时域波形););uimenu(hplot,Label,加噪语音信号的频谱特性,Call,y,fs,Nbits=wavread(张源斌);,.Y=fft(y,4096);,plot(abs(Y);,titl

21、e(加噪语音信号的频谱特性););uimenu(hplot,Label,加噪语音信号的频谱特性,call,fs=20000;,x1,fs,nbits=wavread(张源斌);,. t=length(x1)/20000;,f=fs*(0:1023)/2048;,Au=0.05;,d=Au*cos(2*pi*3800*t);,x2=x1+d;,.X=fft(x2,4096);,plot(abs(X);,title(加噪语音信号的频谱特性););uimenu(hplot,Label,滤波前后信号波形和频谱,Call,x1=wavread(wang);,t=length(x1)/20000;,. f

22、=fs*(0:1023)/2048;,Au=0.05;,d=Au*cos(2*pi*3800*t);,x2=x1+d;,fp=1000;,fc=1200;,.As=100;,Ap=1;,fs=8000;,wc=2*pi*fc/fs;,wp=2*pi*fp/fs;,beta=0.112*(As-8.7);,.wdel=wc-wp;,N=ceil(As-8)/2.285/wdel);,.wn= kaiser(N+1,beta);,ws=(wp+wc)/2/pi;,b=fir1(N,ws,wn);,freqz(b,1);,x=fftfilt(b,x2);,.X=fft(x,8192);,plot(x

23、);,title(滤波后信号波形););hoption=uimenu(gcf,Label,hfigcor=uimenu(hoption,Label,uimenu(hfigcor,Label,);uimenu(hfigcor,Label,);uimenu(hfigcor,Label,);uimenu(hfigcor,Label,);uimenu(gcf,Label,设计心得在课程设计期间由于做考试复习,在第一周自己并没有在课程设计上下很大的功夫,只是在做课程的时间在网上找找资料,并做一些 MATLAB 操作,并没有深入研究。第二周考试结束后,自己把所有的经历都放在课程设计上了,由于数字信号处理这

24、门课的知识自己很长时间没有复习,基本忘得差不多了,再加上自己没有学过 MATLAB,因此做起来很是吃力,还好有许多学过 MATLAB 的同学以及指导老师给自己相当大的帮助,从开始的声音信号采集,并分析时域和频域特性。到为声音信号添加噪声,再到滤波器的设计以及滤波后的时域和频域分析,几乎都是自己一步一步的做出来的,对程序有了很多的理解,也对MATLAB 的基本操作掌握了一些,掌握了各种窗函数的一些用法,这让自己感到十分欣慰,因为自己有多掌握了许多有用的知识,同时自己也发现了自己在学习上的许多缺点及错误方法,这在以后自己要逐渐改正。现在自己已经是一名大三的学生了,即将升入大四,做这样的课程设计对自

25、己有很大的帮助,无论将来自己是就业还是考研,加强动手能力是十分有必要的。参考文献1. 程佩青数字信号处理教程北京清华大学出版社 2007 年 2 月.2. 赵知劲、刘顺兰数字信号处理实验. 浙江大学出版社.3. S.K.MitraDigital Signal Processing:A Computer-Based Approach.NewYork,NewYork:McGraw-Hill,thirded,20064. 肖伟、刘忠等 MATLAB 程序设计与应用清华大学出版社、北京交通大学出版社 .5. 胡良剑、孙晓君 MATLAB 数学实验. 高等教育出版社.6. 杨述斌、李永全数字信号处理实践教程华中科技大学出版社 .

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报