FIR滤波器的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三:FIR 数字滤波器的设计

实验目的

1) 掌握用窗函数法,频率采样法及优化设计法设计FIR 滤波器的原理及方法。 2) 熟悉线性相位FIR 滤波器的幅频特性和相频特性。 3) 了解各种不同窗函数对滤波器性能的影响。

一、 实验内容

1. N=45,计算并画出矩形窗、汉明窗、布莱克曼窗的归一化的幅度谱,并比较各自的主要

特点。

clear all; N=45;

wn1=kaiser(N,0); wn2=hamming(N); wn3=blackman(N); [h1,w1] = freqz(wn1,N); [h2,w2] = freqz(wn2,N); [h3,w3] = freqz(wn3,N);

plot(w1/pi,20*log10(abs(h1)),'r-',w2/pi,20*log10(abs(h2)),'b-',w3/pi,20*log10(abs(h3)),'g-'); axis([0,1,-120,10]);grid;

xlabel('归一化频率/\pi'); ylabel('幅度/dB'); title('三种窗口函数');

legend('矩形窗','汉明窗','布莱克曼窗',3);

归一化频率/

幅度/d B

分析:阻带衰减和过渡带带宽是相互矛盾的,矩形窗过渡带带宽窄,但是阻带衰减比较少;布莱克曼窗过渡带带宽宽,但是阻带衰减比较大

2. N=15,带通滤波器的两个通带边界分别是ω1=0.3π,ω2=0.5π。用汉宁窗设计此线性

相位带通滤波器,观察它的实际3dB 和20dB 带宽。N=45,重复这一设计,观察幅频和相位特性的变化,注意长度N 变化的影响。

N=15;

h= fir1(N-1,[0.3 0.5],'bandpass',hanning(N)); figure(1)

freqz(h,1);axis([0,1,-60,10]); title('N=15,汉宁窗'); N=45;

h= fir1(N-1,[0.3 0.5],'bandpass',hanning(N)); figure(2)

freqz(h,1);axis([0,1,-60,10]); title('N=45,汉宁窗');

00.10.2

0.30.40.50.60.70.80.91

-1000

-500

500

Normalized Frequency (⨯π rad/sample)

P h a s e (d e g r e e s )

00.10.2

0.30.40.50.60.70.80.91

-60

-40-20

0Normalized Frequency (⨯π rad/sample)

M a g n i t u d e (d B )

N=15,汉宁窗

0.1

0.2

0.30.40.50.60.70.80.9

1

-1500

-1000-5000

500

Normalized Frequency (⨯π rad/sample)

P h a s e (d e g r e e s )

00.10.2

0.30.40.50.60.70.80.91

-60

-40-20

0Normalized Frequency (⨯π rad/sample)

M a g n i t u d e (d B )

N=45,汉宁窗

结论:增加窗口函数的长度能够在幅度频谱和相位频谱上获得较好的特性。但代价是增加了计算量和系统的阶数。

3. 分别改用矩形窗和布莱克曼窗,设计(2)中的带通滤波器,观察并记录窗函数对滤波器

幅频特性的影响,比较三种窗的特点。

clear all; %矩形窗

N=15;h= fir1(N-1,[0.3 0.5],'bandpass',kaiser(N,0)); [h1,w1]=freqz(h,1);

subplot(2,1,1); plot(w1/pi,20*log10(abs(h1)));axis([0,1,-60,10]); grid;

xlabel('归一化频率/\pi'); ylabel('幅度/dB');title('N=15,矩形窗'); N=45;h= fir1(N-1,[0.3 0.5],'bandpass',kaiser(N,0)); [h1,w1]=freqz(h,1);

subplot(2,1,2); plot(w1/pi,20*log10(abs(h1)));axis([0,1,-60,10]); grid;

xlabel('归一化频率/\pi'); ylabel('幅度/dB');title('N=45,矩形窗'); clear all; %布莱克曼窗

N=15;h= fir1(N-1,[0.3 0.5],'bandpass',blackman(N)); [h1,w1]=freqz(h,1);

subplot(2,1,1);plot(w1/pi,20*log10(abs(h1))); axis([0,1,-60,10]);grid;

xlabel('归一化频率/\pi'); ylabel('幅度/dB');title('N=15,布莱克曼窗'); N=45;h= fir1(N-1,[0.3 0.5],'bandpass',blackman(N)); [h1,w1]=freqz(h,1);

subplot(2,1,2);plot(w1/pi,20*log10(abs(h1)));

相关文档
最新文档