实验五FIR滤波器的设计湖南大学综述.docx
- 文档编号:11741850
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:36
- 大小:1.15MB
实验五FIR滤波器的设计湖南大学综述.docx
《实验五FIR滤波器的设计湖南大学综述.docx》由会员分享,可在线阅读,更多相关《实验五FIR滤波器的设计湖南大学综述.docx(36页珍藏版)》请在冰豆网上搜索。
实验五FIR滤波器的设计湖南大学综述
HUNANUNIVERSITY
实验五
实验题目:
FIR滤波器的设计
专业班级:
通信一班
姓名:
邓恬
学号:
20110803126
实验五FIR滤波器的设计
通信1101邓恬20110803126
11、实验目的
认真复习FIR数字滤波器的基本概念,线性相位FIR滤波器的条件和特点、幅度函数特点、零点位置的基本特点与性质;窗函数设计法的基本概念与方法,各种窗函数的性能和设计步骤,线性相位FIR低通、高通、带通和带阻滤波器的设计方法,频率采样设计法的基本概念和线性相位的实现方法。
掌握几种线性相位的特点,熟悉和掌握矩形窗、三角形窗、汉宁窗、海明窗、布莱克曼窗、凯塞窗设计IIR数字滤波器的方法,熟悉和掌握频率抽样设计法的线性相位的设计方法,并对各种线性相位的频率抽样法的设计给出调整和改进。
熟悉利用MATLAB进行各类FIR数字滤波器的设计方法。
2、实验内容
a.设线性相位FIR滤波器单位抽样响应分别为
分别求出滤波器的幅度频率响应H(ω),系统函数H(z)以及零极点分布,并绘制相应的
波形和分布图。
实验代码
%a.1
h1=[-41-1-2565-2-11-4];
stem(h1);
title('单位抽样响应1');
sum1=0;
symsz;
forn=1:
11%求系统函数
sum1=sum1+h1(n)*z^(-(n-1));
end
hz1=simple(sum1);
b1=[-41-1-2565-2-11-4];
a=[1];
figure;freqz(b1,a);%幅度频率响应波形图
title('幅度频率响应波形图');
figure;
zplane(b1,a);
title('零极点分布图');
%a.2
h2=[-41-1-25665-2-11-4];
figure;
stem(h2);
title('单位抽样响应2');
sum2=0;
symsz;
forn=1:
12%求系统函数
sum2=sum2+h2(n)*z^(-(n-1));
end
hz2=simple(sum2);
b2=[-41-1-25665-2-11-4];
figure;
freqz(b2,a);
title('幅度频率响应波形图');
figure;
zplane(b2,a);
title('零极点分布图');
%a.3
h3=[-41-1-250-521-14];
figure;stem(h3);
title('单位抽样响应3');
sum3=0;
symsz;
forn=1:
11%求系统函数
sum3=sum3+h3(n)*z^(-(n-1));
end
hz3=simple(sum3);
b3=[-41-1-25665-2-11-4];
figure;
freqz(b3,a);
title('幅度频率响应波形图');
figure;
zplane(b3,a);
title('零极点分布图');
%a.4
h4=[-41-1-256-6-521-14];
figure;
stem(h3);
title('单位抽样响应3');
sum4=0;
symsz;
forn=1:
12%求系统函数
sum4=sum4+h4(n)*z^(-(n-1));
end
hz4=simple(sum4);
b4=[-41-1-25665-2-11-4];
figure;
freqz(b4,a);
title('幅度频率响应波形图');
figure;
zplane(b4,a);
title('零极点分布图');
实验波形
b.设计FIR数字低通滤波器,技术指标为:
ωp=0.2π,ωst=0.3π,δ1=0.25dB,δ2=50dB。
(1)通过技术指标,选择一种窗函数进行设计;
(2)求滤波器的单位抽样响应、频率响应,并绘制波形。
(3)选择凯塞窗函数设计该滤波器,并绘制相应的波形图。
实验代码:
编写冲激函数:
functionhd=ideallp(wc,N);
tao=(N-1)/2;
n=[0:
N-1];
m=n-tao+eps;%加一个小数以避免零作除数
hd=sin(wc*m)./(pi*m);
%b;
wp=0.2*pi;
ws=0.3*pi;
As=50;
deltaf=(ws-wp)/(2*pi);%过渡带宽计算
NO=ceil((As-7.95)/(14.36*deltaf))+1;%滤波器长度
N=NO+mod(NO+1,2);%为了实现第一类滤波器,确保其长度为奇数
beta=0.1102*(As-8.7)
wdkai=(kaiser(N,beta))';%求凯泽窗函数
wc=(ws+wp)/2;
hd=ideallp(wc,N);%求理想脉冲响应
h=hd.*wdkai;
subplot(2,2,1);plot(hd);title('理想脉冲响应');grid;
subplot(2,2,2);plot(wdkai);title('凯泽窗函数');grid;
subplot(2,2,3);plot(h);title('h序列');grid;
[H1,w]=freqz(h,1);
subplot(2,2,4);plot(w,20*log10(abs(H1)));title('幅度响应');
grid;
实验波形
c.设计FIR数字带通滤波器,技术指标为:
下阻带边缘:
ωst1=0.2π,δs1=60dB,下通带边缘:
ωp1=0.35π,δp1=1dB;
上通带边缘:
ωp2=0.65π,δp1=1dB,上阻带边缘:
ωst2=0.8π,δs2=60dB;
(1)通过技术指标,选择一种窗函数进行设计;
(2)求滤波器的单位抽样响应、频率响应,并绘制波形。
实验代码
%c
ws1=0.2*pi;wp1=0.35*pi;
wp2=0.65*pi;ws2=0.8*pi;As=60;
deltaw=min((wp1-ws1),(ws2-wp2));
NO=ceil(11*pi/deltaw);
N=NO+mod(NO+1,2);
wdbla=(blackman(N))';
wc1=(ws1+wp1)/2;
wc2=(ws2+wp2)/2;
hd=ideallp(wc2,N)-ideallp(wc1,N);
h=hd.*wdbla;
subplot(2,2,1);stem(hd,'.');title('理想脉冲响应');grid;
subplot(2,2,2);stem(wdbla,'.');title('布莱克曼窗函数');grid;
subplot(2,2,3);plot(h);title('实际脉冲响应');grid;
[H1,w]=freqz(h,1);
subplot(2,2,4);plot(w,20*log10(abs(H1)));title('幅度响应');grid;
实验波形
d.设计FIR数字带通滤波器,技术指标为:
下阻带边缘:
ωst1=0.2π,δs1=60dB,下通带边缘:
ωp1=0.4π,δp1=1dB;
上通带边缘:
ωp2=0.6π,δp1=1dB,上阻带边缘:
ωst2=0.8π,δs2=60dB;
(1)通过技术指标,选择一种窗函数进行设计;
(2)求滤波器的单位抽样响应、频率响应,并绘制波形。
实验代码
%d
%d;
ws1=0.2*pi;wp1=0.4*pi;
wp2=0.6*pi;ws2=0.8*pi;As=60
deltaf=(min((wp1-ws1),(ws2-wp2)))/(2*pi);
NO=ceil((As-7.95)/(14.36*deltaf))+1;%滤波器长度
N=NO+mod(NO+1,2);
beta=0.1102*(As-8.7)
wdkai=(kaiser(N,beta))';%求凯泽窗函数
wc1=(ws1+wp1)/2;
wc2=(ws2+wp2)/2;
hd=ideallp(wc2,N)-ideallp(wc1,N);
h=hd.*wdkai;
subplot(2,2,1);plot(hd);title('理想脉冲响应');grid;
subplot(2,2,2);plot(wdkai);title('凯泽创函数');grid;
subplot(2,2,3);plot(h);title('实际脉冲响应');grid;
[H1,w]=freqz(h,1);
subplot(2,2,4);plot(w,20*log10(abs(H1)));title('幅度响应');grid;
实验波形
e.设计FIR数字带通滤波器,技术指标为:
下阻带边缘:
ωst1=0.2π,δs1=20dB,下通带边缘:
ωp1=0.4π,δp1=1dB;
上通带边缘:
ωp2=0.6π,δp1=1dB,上阻带边缘:
ωst2=0.8π,δs2=20dB;
(1)通过技术指标,选择一种窗函数进行设计;
(2)求滤波器的单位抽样响应、频率响应,并绘制波形。
实验代码
%e
wp1=0.4*pi;wp2=0.6*pi;wst1=0.2*pi;delta_w=wp1-wst1;
N=ceil(1.8*pi/delta_w)
wc=[wp1wp2];
w1=rectwin(N+1);
subplot(211);
stem(w1);
title('矩形窗');
b1=fir1(N,wc/pi,rectwin(N+1));
[H1,w]=freqz(b1);
subplot(212);
plot(w/pi,20*log10(abs(H1)));
gridon;
figure;
stem(b1);
title('单位抽样响应');
实验波形
f.设计FIR数字高通滤波器,技术指标为:
通带截止频率为ωp=15π/27,阻带截止频率
为ωst=11π/27,通带最大衰减为δ1=2.5dB,阻带最小衰减为δ2=55dB。
(1)通过技术指标,选择一种窗函数进行设计;
(2)求滤波器的单位抽样响应、频率响应,并绘制波形。
实验代码
%f
wp=15*pi/27;ws=11*pi/27;
delta_w=wp-ws;
N=ceil(6.6*pi/delta_w)+1
wc=(wp+ws)/2;
w1=hamming(N+1);
subplot(211);
stem(w1);
title('窗函数的时域波形');
b1=fir1(N,wc/pi,'high');
[H1,w]=freqz(b1);
subplot(212);
plot(w/pi,20*log10(abs(H1)));
title('fir滤波器的频率响应');
gridon;
figure;
stem(b1);
实验波形
g.设计FIR数字高通滤波器,技术指标为:
通带截止频率为ωp=0.6π,阻带截止频率为
ωst=0.4π,通带最大衰减为δ1=0.25dB,阻带最小衰减为δ2=40dB。
(1)通过技术指标,选择一种窗函数进行设计;
(2)求滤波器的单位抽样响应、频率响应,并绘制波形。
实验代码:
%g
wp=0.6*pi;ws=0.4*pi;delta_w=wp-ws;
N=ceil(6.6*pi/delta_w)
wc=(wp+ws)/2;
w1=hamming(N+1);
subplot(211);
stem(w1);
title('窗函数的时域波形');
b1=fir1(N,wc/pi,'high');
[H1,w]=freqz(b1);
subplot(212);
plot(w/pi,20*log10(abs(H1)));
title('fir滤波器的频率响应');
gridon;
figure;
stem(b1);
实验波形
h.滤波器的技术指标为:
通带截止频率为ωp=0.6π,阻带截止频率为ωst=0.4π,通带最
大衰减为δ1=0.25dB,阻带最小衰减为δ2=40dB。
(1)通过技术指标,选择一种窗函数设计一个具有π/2相移的FIR高通滤波器;
(2)求滤波器的单位抽样响应、频率响应,并绘制波形。
实验代码:
functionhd=ideal_pi(wc,N)
alpha=(N-1)/2;
n=[0:
1:
(N-1)];
n=n-alpha;
fc=wc/pi;
hd=fc*sinc(fc*(n-1/2));
wp=0.6*pi;%通带截止频率
ws=0.4*pi;%阻带截止频率
tr_width=wp-ws;
N=ceil(6.2*pi/tr_width);
n=[0:
1:
N-1];
wc=(ws+wp)/2;
hd=ideal_pi(pi,N)-ideal_pi(wc,N);
window=(hanning(N))';
%hdd=ang(N);
h=hd.*window;
[db,mag,pha,grd,w]=freqz_m(h,[1]);
delta_w=2*pi/1000;
Ap=-(min(db(wp/delta_w+1:
1:
501)))
As=-round(max(db(1:
1:
ws/delta_w+1)))
figure;
subplot(211)
stem(n,hd);title('理想脉冲响应')
subplot(212)
stem(n,window);title('HanningWindow')
figure;subplot(211)
stem(n,h);title('实际脉冲响应')
subplot(212)
plot(w/pi,db);title('频率响应');grid
实验波形
i.设计FIR数字带阻滤波器,其技术指标为:
低端阻带边缘:
ωst1=0.4π,δs1=40dB,低端通带边缘:
ωp1=0.2π,δp1=1dB;
高端通带边缘:
ωp2=0.8π,δp1=1dB,高端阻带边缘:
ωst2=0.6π,δs2=40dB;
(1)通过技术指标,选择一种窗函数进行设计;
(2)求滤波器的单位抽样响应、频率响应,并绘制波形。
实验代码
%i
wp1=0.2*pi;wst2=0.6*pi;wst1=0.4*pi;wp2=0.8*pi;delta_w=wst1-wp1;
wc=[wp1wp2];
N=ceil(6.6*pi/delta_w)
w1=hamming(N+1);
subplot(211);
stem(w1);
title('窗函数的时域波形');
b1=fir1(N,wc/pi,'stop');
[H1,w]=freqz(b1);
subplot(212);
plot(w/pi,20*log10(abs(H1)));
title('fir滤波器的频率响应');
gridon;
figure;
stem(b1);
实验波形
j.设计FIR数字带阻滤波器,其频率响应函数为:
其中阻带衰减为50dB。
(1)通过技术指标,选择一种窗函数进行设计;
(2)求滤波器的单位抽样响应、频率响应,并绘制波形。
(3)用凯塞窗设计设计该滤波器,并绘制相应的波形图。
实验代码:
%j
wp1=0.2*pi;wst2=0.6*pi;wst1=0.4*pi;wp2=0.8*pi;delta_w=wst1-wp1;
wc=[wst1wst2];
N1=ceil(6.6*pi/delta_w)
w2=hamming(N1+1);
subplot(211);
stem(w2);
title('窗函数的时域波形');
b2=fir1(N1,wc/pi,'stop');
[H2,w]=freqz(b2);
subplot(212);
plot(w/pi,20*log10(abs(H2)));
title('fir滤波器的频率响应');
gridon;
figure;
stem(b2);
figure;
N1=ceil((60-7.95)/(2.286*delta_w))+1
wc1=[wst1wst2];
beta=0.1102*(60-8.7)
w2=kaiser(N1,beta);
subplot(211);
stem(w2);
b2=fir1(N1,wc1/pi,'stop',kaiser(N1+1,beta));
[H2,w]=freqz(b2);
subplot(212);
plot(w/pi,20*log10(abs(H2)));
gridon;
figure;
stem(b2);
实验波形
k.设计FIR数字带低滤波器,其滤波器的截止频率为100Hz,滤波器的阶次为80。
分
别用矩形窗、三角形窗、汉宁窗、海明窗、布莱克曼窗设计数字滤波器,并绘制相应的窗函
数波形和幅度频率响应波形。
实验代码
%k
wc=2*pi*100/1000;N=80;
w1=rectwin(N+1);
subplot(211);
stem(w1);
title('矩形窗');
b1=fir1(N,wc/pi,w1);
[H1,w]=freqz(b1);
subplot(212);
plot(w/pi,20*log10(abs(H1)));
title('经矩形窗得到的系统频率响应');
wc=2*pi*100/1000;N=80;
w1=triang(N+1);
subplot(211);
stem(w1);
b1=fir1(N,wc/pi,w1);
[H1,w]=freqz(b1);
subplot(212);
plot(w/pi,20*log10(abs(H1)));
title('经三角形窗得到的系统频率响应');
wc=2*pi*100/1000;N=80;
w1=hann(N+1);
subplot(211);
stem(w1);
title('海宁窗');
b1=fir1(N,wc/pi,w1);
[H1,w]=freqz(b1);
subplot(212);
plot(w/pi,20*log10(abs(H1)));
title('经海宁窗得到的系统频率响应');
wc=2*pi*100/1000;N=80;
w1=hamming(N+1);
subplot(211);
stem(w1);
title('汉明窗');
b1=fir1(N,wc/pi,w1);
[H1,w]=freqz(b1);
subplot(212);
plot(w/pi,20*log10(abs(H1)));
title('经汉明窗得到的系统频率响应');
wc=2*pi*100/1000;N=80;
w1=blackman(N+1);
subplot(211);
stem(w1);
title('blackman窗');
b1=fir1(N,wc/pi,w1);
[H1,w]=freqz(b1);
subplot(212);
plot(w/pi,20*log10(abs(H1)));
title('经blackman窗得到的系统频率响应');
实验波形
l.FIR滤波器的单位抽样响应为
编制MATLAB程序求系统的频率采样型结构的系数,并画出频率抽样型结构。
此题和实验三中的e是一样的。
实验代码:
%e
function[C,B,A]=tf2fs(h)
N=length(h);
H=fft(h,N);
H1=abs(H);
H2=angle(H)';
if(N==2*floor(N/2))
L=N/2-1;
A1=[1,-1,0;1,1,0];
C1=[real(H
(1)),real(H(L+2))];
else
L=(N-1)/2;
A1=[1,-1,0];
C1=[real(H
(1))];
end
k=[1:
L]';
B=zeros(L,2);
A=ones(L,3);
A(1:
L,2)=-2*cos(2*pi*k/N);
A=[A;A1];
B(1:
L,1)=cos(H2(2:
L+1));
B(1:
L,2)=-cos(H2(2:
L+1)-(2*pi*k/N));
C=[2*H1(2:
L+1),C1]';
下面求频率采样型的系数
h=[1,2,3,2,1]/9;
[C,B,A]=tf2fs(h)
运行结果
结果分析
由于N=5为奇数,所以结果中只有H(0)一项,H(0)=1,此项中分母系数为1,-1,0
m.一个理想差分器的频率响应为:
用长度为21的汉宁窗设计一个数字FIR差分器,并绘制其时域和频率的响应波形。
实验代码:
functionhd=chafen(N)
alpha=(N-1)/2;
n=[0:
1:
(N-1)];
n=n-alpha;
hd=(1./n).*(-1).^n;
function[db,mag,pha,grd,w]=freqz_m(b,a)
[H,w]=freqz(b,a,1000,'whole');
H=(H(1:
1:
501));
w=(w(1:
1:
501));
mag=abs(H);%相对振幅
db=20*log10(mag+eps/max(mag));%绝对振幅
pha=angle(H);%相位响应
grd=grpdelay(b,a,w);%群延时
N=21;
n=[0:
1:
N-1];
a=[1];
hd=chafen(N);%数字差分滤波器
window=(hann(N))';%hann窗
h=hd.*window;%设计滤波器
[db,mag,pha,grd,w]=freqz_m(h,a);%调用函数
subplot(211);
stem(n,hd);title('理想脉冲响应')
subplot(212);
stem(n,window);title('hannWindow');
figure;
subplot(211)
stem(n,h);title('实际脉冲响应')
subplot(212)
plot(w/pi,db);title('频率响应');
实验波形
n.利用汉宁窗设计一个长度为25的数字希尔伯特变换器,并绘制它的时域和频域的响
应波形。
实验代码:
functionhd=hilb(N)
alpha=(N-1)/2;
n=[0:
1:
(N-1)];
n=n-alpha;
hd=2./(n*pi);
N=25;
n=[0:
1:
N-1];
a=[
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 FIR 滤波器 设计 湖南大学 综述