基于矩形窗设计FIR数字滤波器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
郑州航空工业管理学院
《电子信息系统仿真》课程设计
14级专业班级
题目基于矩形窗设计FIR数字滤波器姓名学号
二О一六年十一月二十五日
第一章 FIR 滤波器的设计原理及方法
FIR 滤波器通常采用窗函数方法来设计。窗设计的基本思想是,首先选择一个适当
的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后街区(加窗)它的脉冲响应得到线性相位和因果FIR 滤波器。我们用Hd (e^jw )表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。一个带宽wc ⎩⎨⎧=<-⋅<==<=wc w jaw e w wc jw e Hd ||),(^1||,0)^(π 为了从hd(n)得到一个FIR 滤波器,必须同时在两边截取hd (n )。而要得到一个因果的线性相位滤波器,它的h(n)长度为N ,必须有: ⎩ ⎨⎧-<=<==其他,010),()(N n n hd n h 2/)1(-=N α 这种操作叫做加窗,h(n)可以看做是hd(n)与窗函数w (n )的乘积: h(n)=hd(n)w(n) 其中 ⎩ ⎨⎧-≤≤=,其他对称,关于01n 0)(N n w α 根据w (n )的不同定义,可以得到不同的窗结构。 在频域中,因果FIR 滤波器响应H(e^jw)由Hd(e^jw)和窗响应W(e^jw)的周期卷积得到,即 ⎰--=⊗=π π λλωπd j e W jw e W jw e Hd jw e H )(^(2/1)^()^()^( 常用的窗函数有矩形窗、巴特利特(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的系数