实验七华北电力大学数字信号处理实验文档格式.docx
《实验七华北电力大学数字信号处理实验文档格式.docx》由会员分享,可在线阅读,更多相关《实验七华北电力大学数字信号处理实验文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
华北电力大学
1.实验目的
加深理解IIR数字滤波器的特性,掌握IIR数字滤波器的设计原理与设计方法,以及IIR数字滤波器的应用。
2.实验原理
3.实验内容及步骤
4.数据处理与总结
1.
(1)
clear;
fsam=100;
t0=1/fsam;
t=6;
k=0:
t0:
t;
N=512;
x=1+cos(pi/4.*k/t0)+cos(2*pi/3.*k/t0);
f=(-N/2:
(N/2-1))/N*2*pi;
[N1,Wc]=buttord(1/4,1/2,3,60);
[b,a]=butter(N1,Wc,'
low'
);
freqz(b,a);
figure;
axis([0,1,-120,0]);
y=filter(b,a,x);
Y=fftshift(fft(y,N));
stem(f,abs(Y));
右图一为数字低通滤波器的幅频响应
和相频响应。
右图二为信号经过滤波器后输出信号的频谱。
(2)
[N1,Wc]=buttord(2/3,10/24,3,100);
high'
右图一为数字高通滤波器的幅频响应
(3)
[N1,Wc]=buttord([1/88/24],[1/322/3],3,60);
bandpass'
右图一为数字带通滤波器的幅频响应
(4)
[N1,Wc]=buttord([1/322/3],[0.210/27],3,60);
stop'
右图一为数字带阻滤波器的幅频响应
2.
(1).脉冲响应不变法
omegas=[0.20.72]*pi;
omegap=[0.30.6]*pi;
Ap=1;
As=42;
Fs=1;
ws=omegas*Fs;
wp=omegap*Fs;
[N,Wc]=buttord(wp,ws,Ap,As,'
s'
[b,a]=butter(N,Wc,'
'
%[N,Wc]=cheb1ord(wp,ws,Ap,As,'
%[b,a]=cheby1(N,Ap,Wc,'
%[N,Wc]=cheb2ord(wp,ws,Ap,As,'
%[b,a]=cheby2(N,As,Wc,'
%
%[N,Wc]=ellipord(wp,ws,Ap,As,'
%[b,a]=ellip(N,Ap,As,Wc,'
[numd,dend]=impinvar(b,a,Fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
plot(w/pi,20*log10(abs(h)/norm));
gridon
右图从上到下分别是buttord
Cheby1cheby2ellipord型滤波器的
频率特性(脉冲响应不变法)
(2)双线性变换法
T=1/Fs;
wp=2*tan(omegap/2)/T;
ws=2*tan(omegas/2)/T;
%[N,Wc]=buttord(wp,ws,Ap,As,'
%[b,a]=butter(N,Wc,'
[N,Wc]=ellipord(wp,ws,Ap,As,'
[b,a]=ellip(N,Ap,As,Wc,'
[numd,dend]=bilinear(b,a,Fs);
title('
ellipord'
)
频率特性(双线性变换法)
3.
204;
N=205;
x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k);
stem(k,x);
时域波形'
figure;
X=fftshift(fft(x));
omega=((-(N-1)/2):
((N-1)/2))/N*2*pi;
stem(omega,abs(X));
频谱图'
%低通
wp=2*941/8000;
ws=2*1200/8000;
Ap=3;
As=60;
[N,wc]=buttord(wp,ws,Ap,As);
[b,a]=butter(N,wc);
freqz(b,a);
figure
%滤波输出
Y=fftshift(fft(y));
stem(omega,abs(Y))
%高通
wp=2*1200/8000;
ws=2*1000/8000;
[b,a]=butter(N,wc,'
wp1=[692702]./4000;
ws1=[687707]./4000;
wp2=[765775]./4000;
ws2=[760780]./4000;
wp3=[847857]./4000;
ws3=[842862]./4000;
wp4=[936946]./4000;
ws4=[931951]./4000;
As=30;
[N1,wc1]=buttord(wp1,ws1,Ap,As);
[b1,a1]=butter(N1,wc1,'
[N2,wc2]=buttord(wp2,ws2,Ap,As);
[b2,a2]=butter(N2,wc2,'
[N3,wc3]=buttord(wp3,ws3,Ap,As);
[b3,a3]=butter(N3,wc3,'
[N4,wc4]=buttord(wp4,ws4,Ap,As);
[b4,a4]=butter(N4,wc4,'
figure
(1)
freqz(b1,a1);
figure
(2)
freqz(b2,a2);
figure(3)
freqz(b3,a3);
figure(4)
freqz(b4,a4);
以上分别是4个带通滤波器的幅频响应.
As=20;
[N3,wc3]=buttord