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

下载本文档

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

文档简介

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

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

3、脱了需要直接对计算机硬件资源进行操作一样, 被称作为第四代计算机语言的 MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。 MATLAB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码, 代替了 C和 FORTRAN 语言的冗长代码。 MATLAB给用户带来的是最直观,最简洁的程序开发环境。精彩文档y(k )实用标准文案二、理论分析1FIR 数字滤波器结构特征FIR 数字滤波器的冲激响应只能延续一定的时间,N 阶因果有限冲激M响应滤波器的差分方程表达式为: y( k)h(i ) x(ki ) 。其卷积和是一个k0有限和 , 可以直接计算, 所以其涉及

4、的基本操作就是简单的乘和加, 其计算仅需要所给出的初始样本值及所要求的相关样本值。通过精确设计 , 有限冲激响应滤波器在整个频率范围内均能提供精确的线性相位 , 由于系统的单位脉冲序列为有限序列 , 当输入有限时 , 输出也必然为有限 , 这样其稳定性总可以独立于滤波器系数之外。 因此 , 在很多情况下 , 有限冲激响应滤波器成为首选 , 只要确定能满足要求的转移序列或者脉冲响应的常数 , 就可以准确地设计出满足要的 FIR 数字滤波器。通常所采用的设计方法主要有窗函数、 频率采样法和等波纹最佳逼近法等 , 其中窗函数法是从时域进行设计的 , 其算法简单、物理意义清晰 , 因此得到了较为广泛的

5、应用。2算法研究为了建立一个具有线性相位和稳定的非递归特性的有限脉冲响应滤波器即 FIR 滤波器 , 要考虑两个方面 : 一是使用有限长的单位取样响应来逼近理想低通,二是单位取样响应对 (N -1)/2 对称 , 保证线性相位根据 FIR 数字滤波器输入输出关系的差分方程描述, 有n 1y( x)h(i )x(n1)i0精彩文档实用标准文案上式反映了有限列长的单位取样响应。N 1n滤波网络传输函数为 : H ( z)hd (n) zn 0利用傅立叶变换得单位取样响应hd (n) 为1jj nsin( wc (na)hd ( n) 2H d (e) e d(n a)wc 是截止频率 错误!未找到

6、引用源。 ,a(N 1)/2从而保证线性相位。在窗函数法设计中使用有限列长的 错误!未找到引用源。 h(n) 逼近错误!未找到引用源。 hd (n) ,用 Hamming窗函数错误!未找到引用源。 w( n) 将错误!未找到引用源。hd ( n) 截断,进行加权处理后可得错误!未找到引用源。h(n)hd ( n) w(n) 。jN 1h(n) e j n此时频率响应函数为: H d (e )n 0Hamming 窗函数 wh (n)2 n(n) 。其中 错误!未找到0.54 0.46cosN 1RN引用源。 RN (n)是幅度为 1 , 长度为 N的矩形序列。3窗函数法的原理可以从时域或频域出

7、发来设计 FIR 滤波器 , 从频域出发的方法称为频率采样设计法 , 从时域出发的方法称为窗函数法 , 也称为傅立叶级数法 , 这种方法应用较广泛。窗函数法的设计思想是按照所要求的理想滤波器频率响应错误!未找到引用源。 H d (e j ) , 设计一个 FIR 滤jN1波器 , 使之频率响应 H (e )n0h(n)e jn 来逼近错误!未找到引用源。H d (ej) 。因为设计是在时域中进行的 ,需先由错误!未找到引用源。H d (ej) 的傅立叶反变换导出序列 错误!未找到引用源。 hd (n) ,即精彩文档实用标准文案hd ( n)1jj n2H d(e ) e d由于错误!未找到引用

8、源。H d (e j ) 是矩形频率特性,有 错误!未找到引用源。hd ( n) 是一无限长的序列 , 且是非因果的 , 而要设计的FIR 滤波器的冲激响应序列是有限长的,所以要用有限长的序列 错误!未找到引用源。h(n) 来逼近无限长的序列hd (n) ,最有效的方法是截断错误!未找到引用源。hd (n) ,或者说用一个有限长度的窗口函数错误!未找到引用源。w(n) 序列来截取 错误!未找到引用源。hd (n) ,即h(n)hd ( n) w(n)按照复卷积公式 , 在时域中的乘积关系可表示成在频域中的周期性卷积关系 , 即可得所设计的 FIR 滤波器的频率响应H (ej )1H d ( )

9、W ()d2其中 , 错误!未找到引用源。W () 为截断窗函数的频率特性。由此可见 , 实际的 FIR 数字滤波器的频率响应 错误!未找到引用源。H (ej ) 逼近理想滤波器频率响应错误!未找到引用源。 H d (ej ) 的好坏,完全取决于窗函数的频率特性错误!未找到引用源。W () 。4窗函数法的设计步骤(1) 给定所要求的频率响应 错误!未找到引用源。 H d (ej ) ;(2) 由错误!未找到引用源。 H d (e j ) 的傅立叶反变换求出 错误!未找到引用源。 hd (n) ;(3) 根据过渡带宽及阻带最小衰减 , 选择窗的形状并估计窗口长度 N;(4) 计算滤波器的单位脉冲

10、响应 h(n) hd (n)w( n)(5) 验算技术指标是否满足要求。精彩文档实用标准文案(1) 窗谱主辨尽可能窄 , 以获得较陡的过渡带;(2) 尽量减少窗谱的最大旁瓣的相对幅度 , 使能量尽量集中于主辨 , 进而增加阻带的衰减。给定的滤波器指标参数一般为通带截止频率错误!未找到引用源。p 、阻截止频率 错误!未找到引用源。s 、实际通带波动 错误!未找到引用源。 Rp 和最小阻带衰减错误!未找到引用源。As 。窗函数设计的经验公式为归一化过渡带s -p错误!未找到引用源。滤波器阶数2As7.95错误!未找到引用源。M14.36当 As 错误! 未找到引用源。 50 时, 错误! 未找到引

11、用 源。0.1102( AS8.7);当 21错误!未找到引用源。50 时,0.5842( AS21)0.40.07886 (As21)三、设计内容1低通滤波器的设计指标。通带截止频率错误!未找到引用源。p0.2, 阻带截止频率 错误!未找到引用源。s0.4, 最小阻带衰减 错误!未找到引用源。 Ar50dB ,抽样频率为 2000Hz2设计分析由以上参数可得过度带宽trwidth = ws-wp , wc = (ws + wp)/2。考虑选择 Hamming窗函数,则列长N = 6.64*pi/trwidth ,hd(n)=sin(wc*(n-(N-1)/2)/(pi*(n-(N-1)/2)

12、, 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.64*pi/trwidth)+1;%滤波器的长度n=0:1:N-1;wc=(ws+w

13、p)/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); %检查阻带最小衰减subplot(221);stem(n,hd);title('理想单位

14、脉冲响应 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);su

15、bplot(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)

16、%理想线性相位低通滤波器计算%-%hd=ideallp(wc,n)% hd=0N1 之间的理想脉冲响应% wc=截止频率(弧度)% N= 理想线性相位滤波器的长度%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)&

17、#39;mag = abs(H);db = 20*log10(mag+eps)/max(mag);pha = angle(H);grd = grpdelay(b,a,w);输出结果如下图所示:精彩文档实用标准文案精彩文档实用标准文案由上图可以看到:通带纹波为0.0301dB ,最小阻带衰减为55dB。满足设计指标的要求。把滤波器的阶数人为的设置成75(将 N=ceil(6.64*pi/trwidth)+1;改为 N=75)精彩文档实用标准文案由上图可以看到:通带纹波为0.0284dB ,最小阻带衰减为58dB 。把滤波器的阶数设置为15精彩文档实用标准文案由上图可以看到:通带纹波为1.6322

18、dB,最小阻带衰减为16dB。不能满足指标要求。综上所述:当滤波器的阶数增加时,可以减小通带纹波,增加最小阻带衰减。但同时计算量也随之增大,成本也要同样增加。用 MATLAB中的 FilterDesignandAnalysis工具进行同样的设计,设置阶数为 35 ,低通,窗口选择hamming,归一化频率c0.3。幅频特性曲线相频特性曲线精彩文档实用标准文案冲击响应 错误!未找到引用源。零极点图四、总结通过本次课程设计, 使我更加扎实的掌握了有关数字滤波器方面的知识,在这次课程设计中虽然遇到了很多的困难, 但是经过一次又一次的查阅资料,一次一次的认真思考,终于找出了原因,通过这次课程设计,了解知识还是需要通过实践才能真正的掌握住精髓。 通过这次学习,我不但掌握了

温馨提示

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

评论

0/150

提交评论