基于Hamming窗的FIR数字滤波器设计_第1页
基于Hamming窗的FIR数字滤波器设计_第2页
基于Hamming窗的FIR数字滤波器设计_第3页
基于Hamming窗的FIR数字滤波器设计_第4页
基于Hamming窗的FIR数字滤波器设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、郑州航空工业管理学院电子信息系统仿真课程设计 2014 级 电子信息工程 专业 班级 题 目 基于Hamming窗的FIR数字滤波器设计 姓 名 学 号 二一六年十一月二十五日一、MATLAB软件简介MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多。MATLAB拥有数百个内部函数的主包和三十几种工具包(Toolbox).

2、工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类. 开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。 语言特点一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLA

3、B,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观,最简洁的程序开发环境。2、 理论分析1FIR数字滤波器结构特征FIR 数字滤波器的冲激响应只能延续一定的时间,N 阶因果有限冲激响应滤波器的差分方程表达式为:。其卷积和是一个有限和,可以直接计算 ,所以其涉及的基本操作就是简单的乘和加,其计算仅需要所给出的初始样本值及所要求的相关样本值。通过精确设计,有限冲激响应滤波器在整个频率范围内均能提供精确的线性相位,由于系统的单位脉冲序

4、列为有限序列,当输入有限时,输出也必然为有限,这样其稳定性总可以独立于滤波器系数之外。因此,在很多情况下,有限冲激响应滤波器成为首选,只要确定能满足要求的转移序列或者脉冲响应的常数,就可以准确地设计出满足要的FIR数字滤波器。通常所采用的设计方法主要有窗函数、频率采样法和等波纹最佳逼近法等,其中窗函数法是从时域进行设计的,其算法简单、物理意义清晰,因此得到了较为广泛的应用。2算法研究为了建立一个具有线性相位和稳定的非递归特性的有限脉冲响应滤波器即FIR滤波器,要考虑两个方面:一是使用有限长的单位取样响应来逼近理想低通,二是单位取样响应对(N -1)/2 对称,保证线性相位根据FIR 数字滤波器

5、输入输出关系的差分方程描述 ,有上式反映了有限列长的单位取样响应。滤波网络传输函数为:利用傅立叶变换得单位取样响应为是截止频率,从而保证线性相位。在窗函数法设计中使用有限列长的 逼近,用Hamming窗函数将截断,进行加权处理后可得。此时频率响应函数为 :Hamming 窗函数。其中 是幅度为1 ,长度为N的矩形序列。3窗函数法的原理可以从时域或频域出发来设计FIR 滤波器,从频域出发的方法称为频率采样设计法,从时域出发的方法称为窗函数法,也称为傅立叶级数法,这种方法应用较广泛。窗函数法的设计思想是按照所要求的理想滤波器频率响应,设计一个FIR 滤波器,使之频率响应来逼近。因为设计是在时域中进

6、行的, 需先由的傅立叶反变换导出序列,即由于是矩形频率特性,有是一无限长的序列,且是非因果的,而要设计的FIR滤波器的冲激响应序列是有限长的, 所以要用有限长的序列 来逼近无限长的序列,最有效的方法是截断,或者说用一个有限长度的窗口函数序列来截取,即按照复卷积公式, 在时域中的乘积关系可表示成在频域中的周期性卷积关系,即可得所设计的FIR滤波器的频率响应其中,为截断窗函数的频率特性。由此可见,实际的FIR 数字滤波器的频率响应逼近理想滤波器频率响应的好坏,完全取决于窗函数的频率特性。4窗函数法的设计步骤(1)给定所要求的频率响应;(2)由的傅立叶反变换求出;(3)根据过渡带宽及阻带最小衰减,选

7、择窗的形状并估计窗口长度N;(4)计算滤波器的单位脉冲响应(5)验算技术指标是否满足要求。(1)窗谱主辨尽可能窄,以获得较陡的过渡带;(2)尽量减少窗谱的最大旁瓣的相对幅度,使能量尽量集中于主辨,进而增加阻带的衰减。给定的滤波器指标参数一般为通带截止频率、阻截止频率、实际通带波动和最小阻带衰减。窗函数设计的经验公式为归一化过渡带 滤波器阶数 当50时,;当2150时,三、设计内容1低通滤波器的设计指标。通带截止频率,阻带截止频率,最小阻带衰减,抽样频率为2000Hz2设计分析由以上参数可得过度带宽trwidth = ws-wp , wc = (ws + wp)/2。考虑选择Hamming窗函数

8、,则列长N = 6.64*pi/trwidth , hd(n)=sin(wc*(n-(N-1)/2)/(pi*(n-(N-1)/2), h(n)=hd (n)*wh(n)。利用MATLAB编程时,先计算N、trwidth、hd(n)和h(n) ,并利用MATLAB提供的相关工具计算该低通滤波器的幅度特性值, 最终显示Hamming 窗频谱、实际单位取样响应频谱、理想单位取样响应频谱和该FIR滤波器幅度特性曲线。3编写Matlab程序(1) 实现FIR滤波器的主程序:wp=0.2*pi;ws=0.4*pi; %给出通带和阻带的截止频率trwidth=ws-wp; %得出过渡带宽度N=ceil(6

9、.64*pi/trwidth)+1; %滤波器的长度n=0:1:N-1;wc=(ws+wp)/2; %计算理想低通截止频率hd=ideallp(wc,N); %计算理想低通单位冲激响应w_ham=(hamming(N); %求海明函数h=hd.*w_ham; %应用窗函数加权后的有限长单位冲激响应序列db,mag,pha,grd,w=freqz_m(h,1); %幅检查值响应、相位响应和群延迟响应delta_w=2*pi/1000; Ap=-(min(db(1:1:wp/delta_w+1); %检查通带最大衰减Ar=-round(max(db(ws/delta_w+1:1:501); %检查

10、阻带最小衰减subplot(221);stem(n,hd);title(理想单位脉冲响应 hd(n)subplot(222);plot(n,w_ham);title(海明窗 w(n)subplot(223);stem(n,h);title(实际单位脉冲响应 h(n)subplot(224);plot(w/pi,db);title(幅度响应(dB)n=0:1023;Fs=2000; %抽样频率dt=1/Fs;t=n*dt;Tp=1024*dt;f1=450;f2=600;x=sin(2*pi*f1*t)+sin(2*pi*f2*t);y=filter(w_ham,1,x);figure(2);s

11、ubplot(2,1,1);plot(t,x);title(输入信号x(t);xlabel(t/s);ylabel(x(t);axis(0,Tp/6,min(x),max(x);subplot(2,1,2);plot(t,y);title(输出信号y(t);xlabel(t/s);ylabel(y(t);axis(0,Tp/6,min(y),max(y);(2)计算理想低通的单位冲激响应的程序:function hd=ideallp(wc,N)%理想线性相位低通滤波器计算%-%hd=ideallp(wc,n)% hd=0N1之间的理想脉冲响应% wc=截止频率(弧度)% N=理想线性相位滤波器

12、的长度%tao=(N-1)/2;n=0:1:(N-1);m=n-tao+eps; %加一个极小数eps,以避免hd的分母为零hd=sin(wc*m)./(pi*m);(3)检查幅值响应、相位响应和群延迟响应function db,mag,pha,grd,w = freqz_m(b,a);H,w = freqz(b,a,1000,whole); H = (H(1:1:501); w = (w(1:1:501); mag = abs(H); db = 20*log10(mag+eps)/max(mag); pha = angle(H); grd = grpdelay(b,a,w);输出结果如下图所

13、示: 由上图可以看到:通带纹波为 0.0301dB,最小阻带衰减为55dB。满足设计指标的要求。把滤波器的阶数人为的设置成75(将N=ceil(6.64*pi/trwidth)+1;改为 N=75) 由上图可以看到:通带纹波为 0.0284dB,最小阻带衰减为 58dB。把滤波器的阶数设置为15由上图可以看到:通带纹波为1.6322dB,最小阻带衰减为16dB。不能满足指标要求。综上所述:当滤波器的阶数增加时,可以减小通带纹波,增加最小阻带衰减。但同时计算量也随之增大,成本也要同样增加。用 MATLAB中的 FilterDesignandAnalysis工具进行同样的设计, 设置阶数为 35,低通,窗口选择 hamming,归一化频率 。 幅频特性曲线相频特性曲线冲击响应零极点图四、总结通过本次课程设计,使我更加扎实的掌握了有关数字滤波器方面的知识,在这次课程设计中虽然遇到了很多的困难,但是经过一次又一次的查阅资料,一次一次的认真思考,终于找出了原因,通过这次课程设计,了解知识还是需要通过实践才能真正的掌握住精髓。通过这次学习,我不但掌握了FIR数字滤波器窗函数的基本知识及其实际应用的技巧了,而且还学会了一些Matlab

温馨提示

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

评论

0/150

提交评论