实验六、FIR数字滤波器设计及其网络结
构
班级:学号:姓名:成绩:
1实验目的
(1)熟悉线性相位FIR数字滤波器的时域特点、频域特点和零极点分布;
(2)掌握线性相位FIR数字滤波器的窗函数设计法和频率采样设计法;
(3)了解IIR数字滤波器和FIR数字滤波器的优缺点及其适用场合。
2 实验内容
(1)设计计算机程序,根据滤波器的主要技术指标设计线性相位FIR数字低通、高通、带通和带阻滤波器;
(2)绘制滤波器的幅频特性和相频特性曲线,验证滤波器的设计结果是否达到设计指标要求;
(3)画出线性相位FIR数字滤波器的网络结构信号流图。
3实验步骤
(1)设计相应的四种滤波器的MATLAB程序;
(2)画出幅频相频特性曲线;
(3)画出信号流图。
4 程序设计
%% FIR低通
f=[0.2,0.35];
m=[1,0];
Rp=1;Rs=40;
dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);
dat2=10^(-Rs/20);
rip=[dat1,dat2];
[M,f0,m0,w]=remezord(f,m,rip);
M=M+2;
hn=remez(M,f0,m0,w);
w=0:0.001:pi
xn=[0:length(hn)-1];
H=hn*exp(-j*xn'*w);
figure
subplot(2,1,1)
plot(w/pi,20*log10(abs(H)));grid
on;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')
subplot(2,1,2)
plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')
%% FIR高通
f=[0.7,0.9];
m=[0,1];
Rp=1;Rs=60;
dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);
dat2=10^(-Rs/20);
rip=[dat2,dat1];
[M,f0,m0,w]=remezord(f,m,rip);
hn=remez(M,f0,m0,w);
w=0:0.001:pi
xn=[0:length(hn)-1];
H=hn*exp(-j*xn'*w);
figure
subplot(2,1,1)
plot(w/pi,20*log10(abs(H)));grid
on;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')
subplot(2,1,2)
plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')
%% FIR带通
f=[0.2,0.35,0.65,0.8];
m=[0,1,0];
Rp=1;Rs=60;
dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);
dat2=10^(-Rs/20);
rip=[dat2,dat1,dat2];
[M,f0,m0,w]=remezord(f,m,rip);
M=M+3
hn=remez(M,f0,m0,w);
w=0:0.001:pi
xn=[0:length(hn)-1];
H=hn*exp(-j*xn'*w);
figure
subplot(2,1,1)
plot(w/pi,20*log10(abs(H)));grid
on;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')
subplot(2,1,2)
plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')
%% FIR带阻
f=[0.2,0.35,0.65,0.8];
m=[1,0,1];
Rp=1;Rs=60;
dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);
dat2=10^(-Rs/20);
rip=[dat1,dat2,dat1];
[M,f0,m0,w]=remezord(f,m,rip);
hn=remez(M,f0,m0,w);
w=0:0.001:pi
xn=[0:length(hn)-1];
H=hn*exp(-j*xn'*w);
figure
subplot(2,1,1)
plot(w/pi,20*log10(abs(H)));grid
on;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB')
subplot(2,1,2)
plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi') 5实验结果及分析
(1)FIR低通滤波器
自动得到的M值不满足要求,故我们将M加上2 在w=0.2π时,H=-0.5dB;
w=0.35π时,H=-41dB。
故符合要求。
(2)FIR高通滤波器
在w=0.7π时,H=-60dB;
w=0.9π时,H=-0.58dB。
故符合要求。
(3)FIR带通滤波器
自动求出的M值不满足要求,故将M加3;
在w=0.2π时,H=-60dB;
w=0.35π时,H=-0.5dB;
w=0.65π时,H=-0.5dB;
w=0.8π时,H=-60dB;
故符合要求。
(4)FIR带阻滤波器
在w=0.2π时,H=-0.5dB;
w=0.35π时,H=-60dB;
w=0.65π时,H=-60dB;
w=0.8π时,H=-0.5dB;
故符合要求。
6总结
通过本次上机我掌握了线性相位FIR数字滤波器的特点,线性相位FIR数字滤波器的窗函数设计法。
线性相位FIR数字滤波器的特点,窗函数的长度、类型与滤波器指标的关系。
以及利用MATLAB实现FIR滤波器的设计。
7参考资料
史林,赵树杰. 数字信号处理. 北京:科学出版社,2007。