第7章 有限脉冲响应数字滤波器设计.docx
《第7章 有限脉冲响应数字滤波器设计.docx》由会员分享,可在线阅读,更多相关《第7章 有限脉冲响应数字滤波器设计.docx(13页珍藏版)》请在冰豆网上搜索。
第7章有限脉冲响应数字滤波器设计
成绩:
《数字信号处理》
作业与上机实验
(第七章)
班级:
学号:
姓名:
任课老师:
完成时间:
2014.10.28
信息与通信工程学院
2013—2014学年第2学期
第7章有限脉冲响应数字滤波器设计
1、教材p238:
19.
(1)MATLAB代码如下:
Fs=80000;
T=1/Fs;
M=1024;
fp=15000;fs=20000;rs=40;
wp=2*pi*fp*T;ws=2*pi*fs*T;
Rp=-20*log10(1-0.02);As=40;
[N1,wp1]=ellipord(wp/pi,ws/pi,Rp,As);
[B,A]=ellip(N1,Rp,As,wp1);
[Hk,wk1]=freqz(B,A,1000);
mag=abs(Hk);pah=angle(Hk);
Bt=ws-wp;
alph=0.5842*(rs-21)^0.4+0.07886*(rs-21);
N=ceil((rs-8)/2.285/Bt);
wc=(wp+ws)/2/pi;
hn=fir1(N,wc,kaiser(N+1,alph));
Hk=fft(hn,M);
k=0:
M/2-1;
wk=(2*pi/M)*k;
figure
(1);
plot(wk/pi,20*log10(abs(Hk(k+1))),':
','linewidth',2.5);
holdon
plot(wk1/pi,20*log10(mag),'linewidth',2);
holdoff
legend('FIR滤波器','IIR滤波器');
title('损耗函数');
figure
(2)
plot(wk/pi,angle(Hk(k+1))/pi,':
','linewidth',2.5);
holdon
plot(wk1/pi,pah/pi,'linewidth',2);
holdoff
legend('FIR滤波器','IIR滤波器');
title('相频特性曲线');
(2)两种数字滤波器的损耗函数和相频特性的比较分别如图1.1、1.2所示:
图1.1损耗函数比较图
图1.2相频特性比较图
20.
(1)MATLAB代码如下:
wc=pi/4;
N=21;
M=1024;
n=0:
N-1;
h_boxcar=fir1(N-1,wc/pi,boxcar(N));
h_hanning=fir1(N-1,wc/pi,hanning(N));
h_hamming=fir1(N-1,wc/pi,hamming(N));
h_blackman=fir1(N-1,wc/pi,blackman(N));
plot(n,h_boxcar);
holdon
plot(n,h_hanning,':
','linewidth',2);
plot(n,h_hamming,'+','linewidth',2);
plot(n,h_blackman,'o');
holdoff
legend('矩形窗','汉宁窗','哈明窗','布莱克曼窗');
title('单位冲激响应');
Hk=fft(h_boxcar,M);k=0:
M/2-1;
wk=(2*pi/M)*k;
figure();
plot(wk/pi,20*log10(abs(Hk(k+1))),'linewidth',2);
Hk=fft(h_hanning,M)
holdon
plot(wk/pi,20*log10(abs(Hk(k+1))),':
','linewidth',3);
Hk=fft(h_hamming,M)
plot(wk/pi,20*log10(abs(Hk(k+1))),'o');
Hk=fft(h_blackman,M)
plot(wk/pi,20*log10(abs(Hk(k+1))),'*');
holdoff
legend('矩形窗','汉宁窗','哈明窗','布莱克曼窗');
title('损耗函数');
(2)四种窗函数设计的单位脉冲响应和损耗函数的比较如图2.12.2所示:
图2.1单位脉冲响应比较图
图2.2损耗函数比较图
21.
(1)MATLAB代码如下:
wc=pi/4;
N=21;
M=1024;
n=0:
N-1;
h_boxcar=fir1(N-1,wc/pi,'high',boxcar(N));
h_hanning=fir1(N-1,wc/pi,'high',hanning(N));
h_hamming=fir1(N-1,wc/pi,'high',hamming(N));
h_blackman=fir1(N-1,wc/pi,'high',blackman(N));
plot(n,h_boxcar);
holdon
plot(n,h_hanning,':
','linewidth',2);
plot(n,h_hamming,'+','linewidth',2);
plot(n,h_blackman,'o');
holdoff
legend('矩形窗','汉宁窗','哈明窗','布莱克曼窗');
title('单位冲激响应');
Hk=fft(h_boxcar,M);k=0:
M/2-1;
wk=(2*pi/M)*k;
figure();
plot(wk/pi,20*log10(abs(Hk(k+1))),'linewidth',2);
Hk=fft(h_hanning,M)
holdon
plot(wk/pi,20*log10(abs(Hk(k+1))),':
','linewidth',3);
Hk=fft(h_hamming,M)
plot(wk/pi,20*log10(abs(Hk(k+1))),'o');
Hk=fft(h_blackman,M)
plot(wk/pi,20*log10(abs(Hk(k+1))),'*');
holdoff
legend('矩形窗','汉宁窗','哈明窗','布莱克曼窗');
title('损耗函数');
(2)四种窗函数设计的单位脉冲响应和损耗函数的比较如图3.13.2所示:
图3.1单位脉冲响应比较图
图3.2损耗函数比较图
25.
(1)MATLAB代码如下:
n=0:
N-1;
M=1024;
wp=0.6*pi;
ws=0.45*pi;
Bt=wp-ws;
N0=ceil(6.6*pi/Bt);
N=N0+mod(N0+1,2);
wc=(wp+ws)/2/pi;
hn=fir1(N-1,wc,'high',hamming(N));
Hk=fft(hn,M);
stem(n,hn);
title('单位冲激响应');
k=0:
M/2-1;
wk=(2*pi/M)*k;
figure
(2);
plot(wk/pi,20*log10(abs(Hk(k+1))));
title('损耗函数');
gridon
(2)高通FIR滤波器的单位脉冲响应、损耗函数如图4.14.2所示:
图4.1单位脉冲响应
图4.2损耗函数
26.
(1)MATLAB代码如下:
n=0:
N-1;
M=1024;
wp1=0.55*pi;wp2=0.7*pi;
ws1=0.45*pi;ws2=0.8*pi;
Bt=wp2-wp1;
N=ceil(6.2*pi/Bt);
wc=[(wp1+ws1)/2/pi,(ws2+wp2)/2/pi];
hn=fir1(N-1,wc,hanning(N));
Hk=fft(hn,M);
stem(n,hn);
title('单位冲激响应');
k=0:
M/2-1;
wk=(2*pi/M)*k;
figure
(2);
plot(wk/pi,20*log10(abs(Hk(k+1))));
title('损耗函数');
gridon
(2)带通FIR滤波器的单位脉冲响应、损耗函数如图5.15.2所示:
图5.1单位脉冲响应
图5.2损耗函数
2、某信号
为:
,其中
设计最低阶FIR数字滤波器,按下图所示对
进行数字滤波处理,实现:
1)将
频率分量以高于50dB的衰减抑制,同时以低于2dB的衰减通过
和
频率分量;
一、基于窗函数法设计FIR数字滤波器:
(1)MATLAB代码如下:
Fs=3800;
T=1/Fs;
M=1024;
fp=130;
fs=600;
rs=50;
wp=2*pi*fp*T;
ws=2*pi*fs*T;
Bt=ws-wp;
alph=0.5842*(rs-21)^0.4+0.07886*(rs-21);
N=ceil((rs-8)/2.285/Bt);
wc=(wp+ws)/2/pi;
hn=fir1(N,wc,kaiser(N+1,alph));
Hk=fft(hn,M);
k=0:
M/2-1;
wk=(2*pi/M)*k;
figure
(1);
plot(wk/pi,20*log10(abs(Hk(k+1))));
axis([0,1,-80,5]);
title('损耗函数');gridon
figure
(2)
plot(wk/pi,angle(Hk(k+1))/pi);gridon
title('相频特性曲线');
(2)数字滤波器的损耗函数和相频特性分别如图6.16.2所示:
图6.1损耗函数曲线
图6.2相频特性曲线