您好,欢迎来到九壹网。
搜索
您的当前位置:首页基于matlab结合矩形窗设计fir滤波器

基于matlab结合矩形窗设计fir滤波器

来源:九壹网
基于matlab结合矩形窗设计fir滤波器

基于matlab结合矩形窗设计fir滤波器 MATLAB结合矩形窗设计FIR滤波器 郑州航空工业管理学院 《电子信息系统仿真》课程设计 14 级 专业 班级 题 目 基于矩形窗设计FIR数字滤波器 姓 名 学号 二О一六年十一月二十五日 第一章 FIR滤波器的设计原理及方法 FIR滤波器通常采用窗函数方法来设计。

窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后街区(加窗)它的脉冲响应得到线性相位和因果FIR滤波器。

我们用Hd(e…w)表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。

一个带宽wc 为了从hd(n)得到一个FIR滤波器,必须同时在两边截取hd(n)。

而要得到一个因果的线性相位滤波器,它的h(n)长度为N,必须有:

这种操作叫做加窗,h(n)可以看做是hd(n)与窗函数w(n)的乘积:

h(n)=hd(n)w(n) 其中 根据w(n)的不同定义,可以得到不同的窗结构。

在频域中,因果FIR滤波器响应H(e…w)由Hd(e…w)和窗响应W(e…w)的周期卷积得到,即 常用的窗函数有矩形窗、巴特利特(BARTLETT)窗、汉宁(HANNING)窗、海明(HAMMING)窗、布莱克曼(BLACKMAN)窗、凯泽(KAISER)窗等。

FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。

窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为:

(1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。

(2) 由性能指标确定窗函数W(n)和窗口长度N。

(3) 求得实际滤波器的单位脉冲响应h(n), h(n)即为所设计FIR滤波器系数向量b(n)。

第二章 窗函数:

1 矩形窗 矩形窗属于时间变量的零次幂窗。

矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。

这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。

2 三角窗 三角窗亦称费杰(Fejer)窗,是幂窗的一次方形式。

与矩形窗比较,主瓣宽约等于矩形窗的两倍,但旁瓣小,而且无负旁瓣。

3 汉宁(Hanning)窗 汉宁窗又称升余弦窗,汉宁窗可以看作是3个矩形时间窗的频谱之和,或者说是 3个 sine(t)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了 π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。

可以看出,汉宁窗主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗.但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降。

4 海明(Hamming)窗 海明窗也是余弦窗的一种,又称改进的升余弦窗。

海明窗与汉宁窗都是余弦窗,只是加权系数不同。

海明窗加权的系数能使旁瓣达到更小。

分析表明,海明窗的第一旁瓣衰减为一42dB.海明窗的频谱也是由3个矩形时窗的频谱合成,但其旁瓣衰减速度为20dB/(10oct),这比汉宁窗衰减速度慢。

海明窗与汉宁窗都是很有用的窗函数。

5 高斯窗 高斯窗是一种指数窗。

高斯窗谱无负的旁瓣,第一旁瓣衰减达一55dB。

高斯富谱的主瓣较宽,故而频率分辨力低.高斯窗函数常被用来截断一些非周期信号,如指数衰减信号等。

对于窗函数的选择,应考虑被分析信号的性质与处理要求。

如果仅要求精确读出主瓣频率,而不考虑幅值精度,则可选用主瓣宽度比较窄而便于分辨的矩形窗,例如测量物体的自振频率等;如果分析窄带信号,且有较强的干扰噪声,则应选用旁瓣幅度小的窗函数,如汉宁窗、三角窗等;对于随时间按指数衰减的函数,可采用指数窗来提高信噪比。

不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。

信号的截断产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的,但是我们可以通过选择不同的窗函数对它们的影响进行抑制。

(矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高) 第三章 课程程序 1. %程序功能:

产生一个包含低频、中频、高频的连续信号进行取样并画出其时域图。

Fs=200; t=(1:100)/Fs s1=sin(2*pi*t*5) s2=sin(2*pi*t*15) s3=sin(2*pi*t*30); s=s1+s2+s3; plot(t,s); % 画出信号的时域波形 xlabel( Time(seconds) ) ylabel( Time waveform ) title( 原始信号的时域波形 ) 2. %程序功能:

画出信号的频谱图。

S=fft(s,1024) % 对s进行快速傅立叶变换 w=(0:255)/256*(Fs/2) plot(w,abs(S(1:256))) % 画出信号的幅度图 xlabel( Frequency (Hz) ) ylabel( 幅度 ) title( 幅度谱 ) axis([0 35 0 60]);grid plot(w,angle(S(1:256))) % 画出信号的相位图

xlabel( Frequency (Hz) ) ylabel( 相位 ) title( 相位谱 ) 3.% 程序功能:

设计低通滤波器并画出其频谱图:

fb=10; fc=13 % 设置滤波器截止频率 fs=100; wb=2*pi*fb/fs ws=2*pi*fc/fs; wc=0.5*(wb+ws) tr_width=ws-wb % 过渡带宽 M=ceil(1.8*pi/tr_width) n=0:M;r=M/2;

hn=fir1(M,wc/pi,boxcar(M+1));

%

figure(1);freqz(hn,1,100) %矩形窗FIR的频响曲线 figure(2);subplot(1,2,1);stem(n,hn, k. ) %显示矩形窗FIR的系数 title( 矩形窗FIR ) 4.% 程序功能:

画出滤波后信号的时域波形和频谱 sf=filter(hn,[1],s) % sf为滤滤波后的信号 plot(t,sf) % 画出滤波后信号的时域波形 xlabel( Time(seconds) ) ylabel( Time waveform ) axis([0 1 -1 1]) title( 滤波后信号的时域波形 ) SF=fft(sf,512) % 对sf进行快速傅里叶变换 w=(0:255)/256*(Fs/2);plot(w,abs(SF(1:256))) % 画出滤波后信号的幅度图xlabel( Frequency (Hz) ) ylabel( 幅度谱 ) title( 滤波后信号的幅度谱 ); grid plot(w,angle(SF(1:256))) % 画出滤波后信号的相位图 xlabel( Frequency (Hz) ) ylabel( 相位谱 ) title( 滤波后信号的相位谱 ) 4.% 程序功能:

对滤波前后信号进行比较 plot(w,abs([S(1:256) SF(1:256) ])) % 将滤波前后信号的幅度谱画在一起 xlabel( Frequency (Hz) ) ylabel( Mag.of Fourier transform ) grid; legend({ before , after }) %对两个曲线进行区分命名 title( 滤波前后信号对比 ) 第四章 仿真结果分析 4.1产生原始信号并分析频谱 产生原始信号,用plot函数画出其时域波形如图4.1所示:

图4.1原始信号时域波形图 用fft函数进行傅里叶变换后,如图4.2所示:

图4.2 4.2将不同特性的数字滤波器用矩形窗表现出来 在低通滤波器中,低频,中频,高频是信号含有的三个频率分量。

步骤如下: (1)取通带截止频率为fb=40Hz,阻带截止频率为fs=46Hz; (2)取样频率为fs=200Hz,由wb=2*pi*fb/fs 、ws=2*pi*fc/fs; (3)过渡带宽:

—=,得出M; (4)取一理想低通脉冲响应hd=ideal_lp(wc,M),其中wc=0.5*(wb+ws); (5)由于矩形窗用函数w_box=(boxcar(M)) ,于是对hd加矩形窗w_box,得到一长度为M的因果且线性相位FIR滤波器h=hd.*w_box; (6)用函数[db,mag,pha,grd,w]=freqz_m(h,[1])得出其频谱特性。

(7)画出理想脉冲响应hd、矩形窗w_boxcar、实际脉冲响应h和滤波器的幅度响应(dB),如图4.3所示。

图4.3滤波器的相关图 4.3滤波后的信号处理 用函数sf=filter(h,[1],s)分别得出滤波后的信号,其中h对应不同滤波器而不同,通过带通滤波器后的的信号时域波形和频谱图如图4.4(a)、4.4(b)、4.4(c)所示。

图4.4(a)滤波后信号的时域波形图 图4.4(b)滤波后信号的幅度谱 图4.4(c)滤波后信号的相位谱 4.4 结果分析 函数plot(w,abs([S(1:256) SF(1:256) ]))和legend({ before , after })后,可在一张图中清晰的看出滤波前后的不同:

第5章 课程总结 通过本次实验我掌握了MATLAB工具软件在工程设计中的使用并掌握窗函数法设计线性相位型FIR滤波器的方法。

同时也知道了不同窗函数对所设计数字滤波器性能的影响,可以清楚的对滤波输出结果作出分析,此次试验也让我认识到了我自己在设计滤波器这方面存在的不足,我会努力学习,在设计实验这方面多努力,这次实验对我今后的学习有很大帮助,也让我找到了今后学习的方向及目标。

- 11 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务