实验七-华北电力大学-数字信号处理实验

更新时间:2024-05-22 10:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验报告

实验名称____________ ____

课程名称____________ ____

院 系 部:专业班级: 学生姓名:学 号: 同 组 人:实验台号:

指导教师: 成 绩: 实验日期:

华北电力大学

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) 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(2/3,10/24,3,100); [b,a]=butter(N1,Wc,'high'); freqz(b,a); figure;

axis([0,1,-120,0]); y=filter(b,a,x); Y=fftshift(fft(y,N)); stem(f,abs(Y));

右图一为数字高通滤波器的幅频响应

和相频响应。

右图二为信号经过滤波器后输出信号的频谱。 (3)

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/8 8/24],[1/32 2/3],3,60); [b,a]=butter(N1,Wc,'bandpass'); freqz(b,a); figure;

axis([0,1,-120,0]); y=filter(b,a,x); Y=fftshift(fft(y,N)); stem(f,abs(Y));

右图一为数字带通滤波器的幅频响应

和相频响应。

右图二为信号经过滤波器后输出信号的频谱。 (4)

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/32 2/3],[0.2 10/27],3,60); [b,a]=butter(N1,Wc,'stop'); freqz(b,a); figure;

axis([0,1,-120,0]); y=filter(b,a,x); Y=fftshift(fft(y,N)); stem(f,abs(Y));

右图一为数字带阻滤波器的幅频响应 和相频响应。

右图二为信号经过滤波器后输出信号的频谱。

2.

(1).脉冲响应不变法 clear;

omegas=[0.2 0.72]*pi; omegap=[0.3 0.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,'bandpass','s');

% [N,Wc]=cheb1ord(wp,ws,Ap,As,'s'); % [b,a]=cheby1(N,Ap,Wc,'bandpass','s');

% [N,Wc]=cheb2ord(wp,ws,Ap,As,'s'); % [b,a]=cheby2(N,As,Wc,'bandpass','s'); %

% [N,Wc]=ellipord(wp,ws,Ap,As,'s'); % [b,a]=ellip(N,Ap,As,Wc,'bandpass','s');

[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)); grid on

右图从上到下分别是buttord

Cheby1 cheby2 ellipord型滤波器的 频率特性(脉冲响应不变法)

(2)双线性变换法 clear;

omegas=[0.2 0.72]*pi; omegap=[0.3 0.6]*pi; Ap=1;As=42;

Fs=1;T=1/Fs;

wp=2*tan(omegap/2)/T;

ws=2*tan(omegas/2)/T;

% [N,Wc]=buttord(wp,ws,Ap,As,'s'); % [b,a]=butter(N,Wc,'bandpass','s');

% [N,Wc]=cheb1ord(wp,ws,Ap,As,'s'); % [b,a]=cheby1(N,Ap,Wc,'bandpass','s'); %

% [N,Wc]=cheb2ord(wp,ws,Ap,As,'s'); % [b,a]=cheby2(N,As,Wc,'bandpass','s');

[N,Wc]=ellipord(wp,ws,Ap,As,'s'); [b,a]=ellip(N,Ap,As,Wc,'bandpass','s');

[numd,dend]=bilinear(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)); grid on title('ellipord')

右图从上到下分别是buttord Cheby1 cheby2 ellipord型滤波器的 频率特性(双线性变换法)

3.

(1) clear;

k=0:204;N=205;

x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k); stem(k,x);

title('时域波形') figure;

X=fftshift(fft(x));

omega=((-(N-1)/2):((N-1)/2))/N*2*pi; stem(omega,abs(X)); title('频谱图')

(2)

clear;

k=0:204;N=205;

x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k); omega=((-(N-1)/2):((N-1)/2))/N*2*pi;

%低通

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=filter(b,a,x); Y=fftshift(fft(y)); stem(omega,abs(Y))

clear;

k=0:204;N=205;

x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k); omega=((-(N-1)/2):((N-1)/2))/N*2*pi; %高通

wp=2*1200/8000;ws=2*1000/8000;Ap=3;As=60; [N,wc]=buttord(wp,ws,Ap,As); [b,a]=butter(N,wc,'high'); freqz(b,a); figure %滤波输出 y=filter(b,a,x); Y=fftshift(fft(y)); stem(omega,abs(Y))

(3)

clear;

k=0:204;N=205;

x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k); omega=((-(N-1)/2):((N-1)/2))/N*2*pi;

wp1=[692 702]./4000;ws1=[687 707]./4000; wp2=[765 775]./4000;ws2=[760 780]./4000; wp3=[847 857]./4000;ws3=[842 862]./4000; wp4=[936 946]./4000;ws4=[931 951]./4000; Ap=3;As=30;

[N1,wc1]=buttord(wp1,ws1,Ap,As); [b1,a1]=butter(N1,wc1,'bandpass'); [N2,wc2]=buttord(wp2,ws2,Ap,As); [b2,a2]=butter(N2,wc2,'bandpass'); [N3,wc3]=buttord(wp3,ws3,Ap,As); [b3,a3]=butter(N3,wc3,'bandpass'); [N4,wc4]=buttord(wp4,ws4,Ap,As); [b4,a4]=butter(N4,wc4,'bandpass');

figure(1) freqz(b1,a1); figure(2) freqz(b2,a2); figure(3) freqz(b3,a3); figure(4) freqz(b4,a4);

以上分别是4个带通滤波器的幅频响应.

clear;

k=0:204;N=205;

x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k); omega=((-(N-1)/2):((N-1)/2))/N*2*pi;

wp1=[692 702]./4000;ws1=[687 707]./4000; wp2=[765 775]./4000;ws2=[760 780]./4000; wp3=[847 857]./4000;ws3=[842 862]./4000; wp4=[936 946]./4000;ws4=[931 951]./4000; Ap=3;As=20;

[N1,wc1]=buttord(wp1,ws1,Ap,As); [b1,a1]=butter(N1,wc1,'bandpass'); [N2,wc2]=buttord(wp2,ws2,Ap,As); [b2,a2]=butter(N2,wc2,'bandpass'); [N3,wc3]=buttord(wp3,ws3,Ap,As); [b3,a3]=butter(N3,wc3,'bandpass'); [N4,wc4]=buttord(wp4,ws4,Ap,As); [b4,a4]=butter(N4,wc4,'bandpass'); y1=filter(b1,a1,x);

Y1=abs(fftshift(fft(y1))); y2=filter(b2,a2,x);

Y2=abs(fftshift(fft(y2))); y3=filter(b3,a3,x);

Y3=abs(fftshift(fft(y3))); y4=filter(b4,a4,x);

Y4=abs(fftshift(fft(y4)));

plot(omega,Y1,'-g',omega,Y2,'-r',omega,Y3,'-b',omega,Y4,'-k');

由图中可以看出bp770hz滤波器的输出最大,所以该dtmf的行频为770hz

(4)

clear;

k=0:204;N=205;

x=sin(2*pi*770/8000.*k)+sin(2*pi*1209/8000.*k); omega=((-(N-1)/2):((N-1)/2))/N*2*pi;

wp1=[1204 1214]./4000;ws1=[1199 1219]./4000; wp2=[1331 1341]./4000;ws2=[1326 1346]./4000; wp3=[1472 1482]./4000;ws3=[1467 1487]./4000; Ap=3;As=20;

[N1,wc1]=buttord(wp1,ws1,Ap,As); [b1,a1]=butter(N1,wc1,'bandpass'); [N2,wc2]=buttord(wp2,ws2,Ap,As); [b2,a2]=butter(N2,wc2,'bandpass'); [N3,wc3]=buttord(wp3,ws3,Ap,As); [b3,a3]=butter(N3,wc3,'bandpass'); y1=filter(b1,a1,x); Y1=abs(fftshift(fft(y1))); y2=filter(b2,a2,x);

Y2=abs(fftshift(fft(y2))); y3=filter(b3,a3,x);

Y3=abs(fftshift(fft(y3)));

plot(omega,Y1,'-g',omega,Y2,'-r',omega,Y3,'-b');

图中可以看出bp1209hz滤波器输出最大 由(3)(4)可以得出dtmf信号按键为’4’

(5)

x=sin(2*pi*770/8000.*k)+sin(2*pi*1477/8000.*k); 检验数字’6’ 行频输出

列频输出

得dtmf信号按键为’6’ (6)

答:可以,只要取的各个频率的表示颜色不同即可.

5.实验思考题

1. 哪些主要因素直接影响IIR数字滤波器的阶数?从工程概念进行定性解释。

答:通带截频,阻带截频,通带最大衰减和阻带最大衰减。

2. 巴特沃斯、切比雪夫I 型、切比雪夫II 型和椭圆模拟原型滤波器的幅频特性有哪些

特点?其优缺点是什么?

答:巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大;

切比雪夫滤波器在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。切比雪夫滤波器和理想滤波器的频率响应曲线之间的误差最小,但是在通频带内存在幅度波动。切比雪夫I型滤波器在通带内有波动,切比雪夫II型滤波器在阻带内有波动。

椭圆滤波器是在通带和阻带等波纹的一种滤波器。椭圆滤波器相比其他类型的滤波器,在阶数相同的条件下有着最小的通带和阻带波动。它在通带和阻带的波动相同,这一点区别于在通带和阻带都平坦的巴特沃斯滤波器,以及通带平坦、阻带等波纹或是阻带平坦、通带等波纹的切比雪夫滤波器。

3. 脉冲响应不变法和双线性变换法的基本思想有何不同? 优缺点是什么?

答:脉冲响应不变法在数字和模拟频域是线性的映射关系,优点是在数字频域能较好

地保持模拟频域的幅频特性.缺点是会有一定程度的频谱混叠,不能用于设计高通和带阻滤波器.双线性变换法是为了消除频谱混叠而设计的,优点是消除了频谱混叠,缺点是模拟,数字的映射非线性关系.

4. 从模拟原型低通滤波器变换到各种类型的数字滤波器需经过哪些步骤?其理论依据

是什么?

答:先由模拟低通滤波器变换成模拟高通,带通,带阻滤波器,然后再用脉冲响应不变法或双线性变换法将模拟指标映射为数字指标。理论依据是通过变换,将模拟LP的频率映射到HP、BP、HS、BS的频率上。

5. IIR滤波器无法实现成具有线性相位,如何对IIR数字滤波器进行相位补偿?

答:通过全通滤波器进行相位校准。

6. 可否设计具有任意幅频特性的IIR数字滤波器?

答:不能。

本文来源:https://www.bwwdw.com/article/kiv7.html

Top