实验五FIR滤波器的设计-湖南大学汇总Word文档下载推荐.doc
《实验五FIR滤波器的设计-湖南大学汇总Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《实验五FIR滤波器的设计-湖南大学汇总Word文档下载推荐.doc(22页珍藏版)》请在冰点文库上搜索。
end
hz1=simple(sum1);
b1=[-41-1-2565-2-11-4];
a=[1];
figure;
freqz(b1,a);
%幅度频率响应波形图
幅度频率响应波形图'
zplane(b1,a);
零极点分布图'
%a.2
h2=[-41-1-25665-2-11-4];
stem(h2);
单位抽样响应2'
sum2=0;
12%求系统函数
sum2=sum2+h2(n)*z^(-(n-1));
hz2=simple(sum2);
b2=[-41-1-25665-2-11-4];
freqz(b2,a);
zplane(b2,a);
%a.3
h3=[-41-1-250-521-14];
stem(h3);
单位抽样响应3'
sum3=0;
sum3=sum3+h3(n)*z^(-(n-1));
hz3=simple(sum3);
b3=[-41-1-25665-2-11-4];
freqz(b3,a);
zplane(b3,a);
%a.4
h4=[-41-1-256-6-521-14];
sum4=0;
sum4=sum4+h4(n)*z^(-(n-1));
hz4=simple(sum4);
b4=[-41-1-25665-2-11-4];
freqz(b4,a);
zplane(b4,a);
实验波形
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);
理想脉冲响应'
grid;
subplot(2,2,2);
plot(wdkai);
凯泽窗函数'
subplot(2,2,3);
plot(h);
h序列'
[H1,w]=freqz(h,1);
subplot(2,2,4);
plot(w,20*log10(abs(H1)));
幅度响应'
c.设计FIR数字带通滤波器,技术指标为:
下阻带边缘:
ωst1=0.2π,δs1=60dB,下通带边缘:
ωp1=0.35π,δp1=1dB;
上通带边缘:
ωp2=0.65π,δp1=1dB,上阻带边缘:
ωst2=0.8π,δs2=60dB;
%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);
wdbla=(blackman(N))'
wc1=(ws1+wp1)/2;
wc2=(ws2+wp2)/2;
hd=ideallp(wc2,N)-ideallp(wc1,N);
h=hd.*wdbla;
stem(hd,'
.'
stem(wdbla,'
布莱克曼窗函数'
实际脉冲响应'
d.设计FIR数字带通滤波器,技术指标为:
ωp1=0.4π,δp1=1dB;
ωp2=0.6π,δp1=1dB,上阻带边缘:
%d
%d;
wp1=0.4*pi;
wp2=0.6*pi;
As=60
deltaf=(min((wp1-ws1),(ws2-wp2)))/(2*pi);
凯泽创函数'
e.设计FIR数字带通滤波器,技术指标为:
ωst1=0.2π,δs1=20dB,下通带边缘:
ωst2=0.8π,δs2=20dB;
%e
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);
单位抽样响应'
f.设计FIR数字高通滤波器,技术指标为:
通带截止频率为ωp=15π/27,阻带截止频率
为ωst=11π/27,通带最大衰减为δ1=2.5dB,阻带最小衰减为δ2=55dB。
%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);
窗函数的时域波形'
b1=fir1(N,wc/pi,'
high'
fir滤波器的频率响应'
g.设计FIR数字高通滤波器,技术指标为:
通带截止频率为ωp=0.6π,阻带截止频率为
ωst=0.4π,通带最大衰减为δ1=0.25dB,阻带最小衰减为δ2=40dB。
%g
wp=0.6*pi;
ws=0.4*pi;
N=ceil(6.6*pi/delta_w)
h.滤波器的技术指标为:
通带截止频率为ωp=0.6π,阻带截止频率为ωst=0.4π,通带最
大衰减为δ1=0.25dB,阻带最小衰减为δ2=40dB。
(1)通过技术指标,选择一种窗函数设计一个具有π/2相移的FIR高通滤波器;
functionhd=ideal_pi(wc,N)
alpha=(N-1)/2;
1:
(N-1)];
n=n-alpha;
fc=wc/pi;
hd=fc*sinc(fc*(n-1/2));
%通带截止频率
%阻带截止频率
tr_width=wp-ws;
N=ceil(6.2*pi/tr_width);
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:
501)))
As=-round(max(db(1:
ws/delta_w+1)))
subplot(211)
stem(n,hd);
)
subplot(212)
stem(n,window);
HanningWindow'
stem(n,h);
plot(w/pi,db);
频率响应'
grid
i.设计FIR数字带阻滤波器,其技术指标为:
低端阻带边缘:
ωst1=0.4π,δs1=40dB,低端通带边缘:
ωp1=0.2π,δp1=1dB;
高端通带边缘:
ωp2=0.8π,δp1=1dB,高端阻带边缘:
ωst2=0.6π,δs2=40dB;
%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)
stop'
j.设计FIR数字带阻滤波器,其频率响应函数为:
其中阻带衰减为50dB。
(3)用凯塞窗设计设计该滤波器,并绘制相应的波形图。
%j
wc=[wst1wst2];
N1=ceil(6.6*pi/delta_w)
w2=hamming(N1+1);
stem(w2);
b2=fir1(N1,wc/pi,'
[H2,w]=freqz(b2);
plot(w/pi,20*log10(abs(H2)));
stem(b2);
N1=ceil((60-7.95)/(2.286*delta_w))+1
wc1=[wst1wst2];
beta=0.1102*(60-8.7)
w2=kaiser(N1,beta);
b2=fir1(N1,wc1/pi,'
kaiser(N1+1,beta));
k.设计FIR数字带低滤波器,其滤波器的截止频率为100Hz,滤波器的阶次为80。
分
别用矩形窗、三角形窗、汉宁窗、海明窗、布莱克曼窗设计数字滤波器,并绘制相应的窗函
数波形和幅度频率响应波形。
%k
wc=2*pi*100/1000;
N=80;
w1=rectwin(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)));
经矩形窗得到的系统频率响应'
w1=triang(N+1);
经三角形窗得到的系统频率响应'
w1=hann(N+1);
海宁窗'
经海宁窗得到的系统频率响应'
w1=hamming(N+1);
汉明窗'
经汉明窗得到的系统频率响应'
w1=blackman(N+1);
blackman窗'
经blackman窗得到的系统频率响应'
l.FIR滤波器的单位抽样响应为
编制MATLAB程序求系统的频率采样型结构的系数,并画出频率抽样型结构。
此题和实验三中的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))];
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));
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)
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:
501));
w=(w(1:
mag=abs(H);
%相对振幅
db=20*log10(mag+eps/max(mag));
%绝对振幅
pha=angle(H);
%相位响应
grd=grpdelay(b,a,w);
%群延时
N=21;
hd=chafen(N);
%数字差分滤波器
window=(hann(N))'
%hann窗
%设计滤波器
[db,mag,pha,grd,w]=freqz_m(h,a);
%调用函数
hannWindow'
n.利用汉宁窗设计一个长度为25的数字