资源描述
实验八 频率采样法设计FIR数字滤波器
一、实验目的
掌握频率取样法设计FIR数字滤波器的原理及具体方法。
二、实验设备与环境
计算机、MATLAB软件环境
三、实验基础理论
1.基本原理
频率取样法从频域出发,把理想的滤波器等间隔取样得到,将作为实际设计滤波器的
,N-1
得到以后可以由来唯一确定滤波器的单位脉冲响应, ()D_Dd___________ðϨϨ________________求得
其中为内插函数
由求得的频率响应来逼近。
如果我们设计的是线性相位FIR滤波器,则的幅度和相位一定满足线性相位滤波器的约束条件。
我们将表示成如下形式
当为实数,则
由此得到
即以k=N/2为中心呈偶对称。再利用线性条件可知,对于1型和2型线性相位滤波器
对于3型和4型线性相位滤波器
其中,表示取小于该数的最大的整数。
2.设计步骤
(1)由给定的理想滤波器给出和。
(2)由式 求得。
(3)根据求得和。
四、实验内容
1.采用频率采样设计法设计FIR数字低通滤波器,满足以下指标
(1) 取N=20,过渡带没有样本。
(2) 取N=40,过渡带有一个样本,T=0.39。
(3) 取N=60,过渡带有两个样本,T1=0.5925,T2=0.1009。
(4) 分别讨论采用上述方法设计的数字低通滤波器是否能满足给定的技术指标。
实验代码与实验结果
(1)N=20 过渡带没有样本
N=20;
alpha=(N-1)/2;
l=0:N-1;
wl=(2*pi/N)*l;
Hrs=[1,1,1,zeros(1,15),1,1]; *对理想幅度函数取样得到取样样本
Hdr=[1,1,0,0];wdl=[0,0.25,0.25,1]; *用于绘制理想函数幅度函数的曲线
k1=0:floor((N-1)/2);
k2=floor((N-1)/2)+1:N-1;
angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];
H=Hrs.*exp(j*angH); *计算H(k)
h=ifft(H,N); *计算h(n)
w=[0:500]*pi/500;
H=freqz(h,1,w); *计算幅度响应
[Hr,wr]=zerophase(h); *计算幅度函数
subplot(221);
plot(wdl,Hdr,wl(1:11)/pi,Hrs(1:11),'o');
axis([0,1,-0.1,1.1]);
xlabel('\omega(\pi)');
ylabel('Hr(k)');
subplot(222);
stem(l,h,'filled');
axis([0,N-1,-0.1,0.3]);
xlabel('n');ylabel('h(n)');
subplot(223);
plot(wr/pi,Hr,wl(1:11)/pi,Hrs(1:11),'o');
axis([0,1,-0.2,1.2]);
xlabel('\omega(\pi)');
ylabel('Hr(w)');
subplot(224);
plot(w/pi,20*log10((abs(H)/max(abs(H)))));
axis([0,1,-50,5]);
grid;xlabel('\omega(\pi)');
ylabel('dB');
(2)N=40 过渡带有一个样本,T=0.39
N=40;
alpha=(N-1)/2;
l=0:N-1;wl=(2*pi/N)*l;
Hrs=[1,1,1,1,1,0.39,zeros(1,29),0.39,1,1,1,1]; *设置过渡带样本
Hdr=[1,1,0.39,0,0];wdl=[0,0.2,0.25,0.3,1];
k1=0:floor((N-1)/2);
k2=floor((N-1)/2)+1:N-1;
angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];
H=Hrs.*exp(j*angH);
h=ifft(H,N);
w=[0:500]*pi/500;
H=freqz(h,1,w);
[Hr,wr]=zerophase(h);
subplot(221);
plot(wdl,Hdr,wl(1:21)/pi,Hrs(1:21),'o');
axis([0,1,-0.1,1.1]);
xlabel('\omega(\pi)');
ylabel('Hr(k)');
subplot(222);
stem(l,h,'filled');
axis([0,N-1,-0.1,0.3]);
xlabel('n');
ylabel('h(n)');
subplot(223);
plot(wr/pi,Hr,wl(1:21)/pi,Hrs(1:21),'o');
axis([0,1,-0.2,1.2]);
xlabel('\omega(\pi)');
ylabel('Hr(w)');
subplot(224);
plot(w/pi,20*log10((abs(H)/max(abs(H)))))
axis([0,1,-80,5]);
grid;xlabel('\omega(\pi)');
ylabel('dB');
(3)N=60 过渡带有两个样本 T1=0.5925,T2=0.1009
N=60;
alpha=(N-1)/2;
l=0:N-1;wl=(2*pi/N)*l;
Hrs=[1,1,1,1,1,1,1,0.5925,0.1099,zeros(1,43), 0.1099, 0.5925, 1,1,1,1,1,1]; *设置过渡带样本
Hdr=[1,1,0.5925,0.1099,0,0];wdl=[0,0.2,0.2+1/30,0.3-1/30,0.3,1];
k1=0:floor((N-1)/2);
k2=floor((N-1)/2)+1:N-1;
angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];
H=Hrs.*exp(j*angH);
h=ifft(H,N);
w=[0:500]*pi/500;
H=freqz(h,1,w);
[Hr,wr]=zerophase(h);
subplot(221);
plot(wdl,Hdr,wl(1:31)/pi,Hrs(1:31),'o');
axis([0,1,-0.1,1.1]);
xlabel('\omega(\pi)');ylabel('Hr(k)');
subplot(222);
stem(l,h,'filled');
axis([0,N-1,-0.1,0.3]);
xlabel('n');ylabel('h(n)');
subplot(223);
plot(wr/pi,Hr,wl(1:31)/pi,Hrs(1:31),'o');
axis([0,1,-0.2,1.2]);
xlabel('\omega(\pi)');
ylabel('Hr(w)');
subplot(224);
plot(w/pi,20*log10((abs(H)/max(abs(H)))))
axis([0,1,-120,5]);
grid;xlabel('\omega(\pi)');ylabel('dB');
(4)答:由实验结果第四个图可知,当时,阻带增益都没有达到-50dB,阻带增益有所减低,所以设计结果不能满足最初的设计要求。
2.采用频率采样技术设计下面的高通滤波器
对于高通滤波器,N必须为奇数。选择N=33,过渡带有两个样本,过渡带样本最优值为T1=0.1095,T2=0.598。
实验代码与实验结果:
N=33;
alpha=(N-1)/2;
l=0:N-1;wl=(2*pi/N)*l;
Hrs=[zeros(1,11),0.1095,0.598,ones(1,7),0.598,0.1095,zeros(1,11)];
Hdr=[0,0,0.1095,0.598,1,1];wdl=[0,20/33,22/33,24/33,26/33,1];
k1=0:floor((N-1)/2);
k2=floor((N-1)/2)+1:N-1;
angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];
H=Hrs.*exp(j*angH);
h=ifft(H,N);
w=[0:500]*pi/500;
H=freqz(h,1,w);
h=real(h);
[Hr,wr]=zerophase(h);
subplot(221);
plot(wdl,Hdr,wl(1:17)/pi,Hrs(1:17),'o');
axis([0,1,-0.1,1.1]);
xlabel('\omega(\pi)');
ylabel('Hr(k)');
subplot(222);
stem(l,h,'filled');
axis([0,N-1,-0.1,0.3]);
xlabel('n');ylabel('h(n)');
subplot(223);
plot(wr/pi,Hr,wl(1:17)/pi,Hrs(1:17),'o');
axis([0,1,-0.2,1.2]);
xlabel('\omega(\pi)');
ylabel('Hr(w)');
subplot(224);
plot(w/pi,20*log10((abs(H)/max(abs(H)))));
axis([0,1,-120,5]);
grid;xlabel('\omega(\pi)');ylabel('dB');
五、实验心得与体会
通过这次实验,我掌握了用MATLAB实现采用频率取样法设计FIR数字滤波器的具体方法,在实验过程中,我加深了对频率取样法原理的理解和学习,对理论知识有了更深刻的记忆。理论结合实际,两者在学习中有机的统一起来,对学习这门课程有着重要的意义,对今后其他课程的学习打下坚实的基础。所以,这次实验令我受益匪浅。这是本门课程的最后一次实验,在这里感谢实验指导老师一学期以来的辛苦工作。
展开阅读全文