搜索
您的当前位置:首页实验三IIR滤波器设计

实验三IIR滤波器设计

来源:世旅网
实验三 IIR数字滤波器的设计

?一、实验目的?

(1)熟悉巴特沃思滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。 (2)掌握脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理。

(3)观察脉冲响应不变法设计的滤波器的频域特性,了解脉冲响应不变法的特点。 (4)掌握双线性变换法设计IIR数字滤波器的具体设计方法及其原理。 (5)观察双线性变换设计的滤波器的频域特性,了解双线性变换法的特点。 二、实验原理与方法 脉冲响应不变法:

??? 用数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应ha(t),让h(n)正好等于ha(t)的采样值,即h(n)= ha(nT)

其中T为采样间隔,如果以Ha(s)及H(z)分别表示ha(t)的拉氏变换及h(n)的Z变换,则 双线性变换法:

S平面与z平面之间满足以下映射关系:

s平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完全映射到z平面的单位圆内。双线性变换不存在混叠问题。 双线性变换是一种非线性变换(可通过预畸而得到校正。 三、实验内容

?(1) 已知通带边界频率 fp=0.2kHz, 通带最大衰减Rp=1dB, 阻带边界频率fs=0.3kHz, 阻带最小衰减As=25dB, 采样频率F=1kHz;用脉冲响应不变法设计一个切比雪夫Ⅰ型数字低通滤波器,写出所设计数字滤波器的系统函数H(z),并绘制其幅频特性曲线,观察通带和阻带边界处的衰减量,检查是否满足指标要求。

fp=200; %通带边界频率 fs=300; %阻带边界频率 rp=1; %通带最大衰减 as=25; %阻带最大衰减 ff = 1000;

2tan()),这种非线性引起的幅频特性畸变T2wp1 = 2*pi*fp;

wr1 = 2*pi*fs;

[N1,wn1] = cheb1ord(wp1,wr1,rp,as,'s'); %计算相应模拟滤波器阶数N和通带截止频率 [B1,A1] = cheby1(N1,rp,wn1,'s'); %计算相应的模拟滤波器系统函数

[num1,den1] = impinvar(B1,A1,ff); %脉冲响应不变法将模拟滤波器转成数字滤波器 [h1,w] = freqz(num1,den1); %数字滤波器的频率响应的函数 y1=unwrap(angle(h1)); f=w/pi;

subplot(2,1,1);

plot(f,20*log10(abs(h1)),'-');title('幅频特性曲线 '); grid; xlabel('频率/Hz ') ylabel('幅度/dB'); subplot(2,1,2);

plot(f,y1,'-');title('相频特性曲线 '); grid; xlabel('频率/f ') ylabel('相频/w'); num1: 0

0.01178z-1+0.09103z-2+0.0723z-3+0.00583z-4

den1: 1-2.33928z-1+3.11057z-2-2.54118z-3+1.25896z-4-0.30813z-5 不符合要求

(2) 利用双线性变换法分别设计满足下列指标的巴特沃思型、切比雪夫Ⅰ型数字低通滤波器,写出所设计数字滤波器的系统函数H(z),并绘制其幅频特性曲线以验证设计结果。要求指标为:通带边界频率fp=1.2kHz, 通带最大衰减Rp=0.5dB, 阻带边界频率fs=2kHz, 阻带最小衰减As=40dB, 采样频率F = 8KHz。 N=12,得不到Hs 巴特沃思型:

fp=1200; %通带边界频率 fs=2000; %阻带边界频率 rp=0.5; %通带最大衰减 as=40; %阻带最大衰减 ff = 8000; T=1/ff;

wp1 = 2*tan(2*pi*fp*T/2)/T;

wr1 = 2*tan(2*pi*fs*T/2)/T; [N1,wn1] = buttord(wp1,wr1,rp,as,'s'); [B1,A1] = butter(N1,wn1,'s'); [num1,den1] = bilinear(B1,A1,ff); [h1,w] = freqz(num1,den1); f=w/pi;

plot(f,20*log10(abs(h1)),'-');title('幅频特性曲线 '); grid; xlabel('频率/Hz ') ylabel('幅度/dB');

切比雪夫Ⅰ型:

fp=1200; %通带边界频率 fs=2000; %阻带边界频率 rp=0.5; %通带最大衰减 as=40; %阻带最大衰减 ff = 8000; T=1/ff;

wp1 = 2*tan(2*pi*fp*T/2)/T;

wr1 = 2*tan(2*pi*fs*T/2)/T; [N1,wn1] = cheb1ord(wp1,wr1,rp,as,'s'); [B1,A1] = cheby1(N1,rp,wn1,'s'); [num1,den1] = bilinear(B1,A1,ff); [h1,w] = freqz(num1,den1); f=w/pi;

plot(f,20*log10(abs(h1)),'-');title('幅频特性曲线 '); grid; xlabel('频率/Hz ') ylabel('幅度/dB');

(3) 利用双线性变换法设计满足下列指标的椭圆型数字高通滤波器,写出所设计数字滤波器的系统函数H(z),并绘制其幅频特性曲线以验证设计结果。要求指标为:阻带边界频率fs=1.2kHz, 阻带最小衰减As=40dB, 通带边界频率fp=2kHz, 通带最大衰减Rp=0.5dB, 采样频率F=8KHz。

1、先设计模拟低通,转换为模拟高通,再转换为数字高通 wp=1; %通带边界频率 ws=5/3; %阻带边界频率

rp=0.5; %通带最大衰减 as=40; %阻带最大衰减 ff = 8000;

T=1/ff;

[N1,wn1] = ellipord(wp,ws,rp,as,'s'); [B1,A1] = ellip(N1,rp,as,wn1,'s'); wph=2*pi*2000;

[BH,AH]=LP2HP(B1,A1,wph); [num1,den1] = bilinear(BH,AH,ff); [h1,w] = freqz(num1,den1); f=w/pi;

plot(f,20*log10(abs(h1)),'-');title('幅频特性曲线 '); grid; xlabel('频率/Hz ') ylabel('幅度/dB');

2、直接设计模拟高通,转换为数字高通 fp=2000; %通带边界频率 fs=1200; %阻带边界频率 rp=0.5; %通带最大衰减 as=40; %阻带最大衰减 ff = 8000; wp1 = 2*pi*fp;

wr1 = 2*pi*fs;

[N1,wn1] = ellipord(wp1,wr1,rp,as,'s'); [B1,A1] = ellip(N1,rp,as,wn1,'high','s'); [num1,den1] = bilinear(B1,A1,ff); [h1,w] = freqz(num1,den1); f=w/pi;

plot(f,20*log10(abs(h1)),'-');title('幅频特性曲线 '); grid; xlabel('频率/Hz ') ylabel('幅度/dB');

3、直接设计数字高通 fp=2000; %通带边界频率 fs=1200; %阻带边界频率 rp=0.5; %通带最大衰减 as=40; %阻带最大衰减 ff = 8000; wp1 = 2*fp/ff;

wr1 = 2*fs/ff; [N1,wn1] = ellipord(wp1,wr1,rp,as); [B1,A1] = ellip(N1,rp,as,wn1,'high'); [h1,w] = freqz(B1,A1); f=w/pi;

plot(f,20*log10(abs(h1)),'-');title('幅频特性曲线 '); grid; xlabel('频率/Hz ') ylabel('幅度/dB'); 四、实验报告要求

(1) 简述实验目的及原理。

(2) 按实验步骤附上实验程序、所设计滤波器系统函数H(z)及相应的幅频特性曲线,定性分析它们的性能,判断设计是否满足要求。 wp=1; %通带边界频率 ws=5/3; %阻带边界频率 rp=0.5; %通带最大衰减 as=40; %阻带最大衰减 ff = 8000;

T=1/ff;

[N1,wn1] = ellipord(wp,ws,rp,as,'s'); [B1,A1] = ellip(N1,rp,as,wn1,'s'); wph=2*pi*2000;

[BH,AH]=LP2HP(B1,A1,wph); [num1,den1] = bilinear(BH,AH,ff);

[h1,w] = freqz(num1,den1); f=w/pi; subplot(3,1,1)

plot(f,20*log10(abs(h1)),'-');title('幅频特性曲线 '); grid; xlabel('频率/Hz ') ylabel('幅度/dB'); clc

fp=2000; %通带边界频率 fs=1200; %阻带边界频率 rp=0.5; %通带最大衰减 as=40; %阻带最大衰减 ff = 8000; wp1 = 2*pi*fp;

wr1 = 2*pi*fs;

[N1,wn1] = ellipord(wp1,wr1,rp,as,'s'); [B1,A1] = ellip(N1,rp,as,wn1,'high','s'); [num1,den1] = bilinear(B1,A1,ff); [h1,w] = freqz(num1,den1); f=w/pi; subplot(3,1,2)

plot(f,20*log10(abs(h1)),'-');title('幅频特性曲线 '); grid; xlabel('频率/Hz ') ylabel('幅度/dB'); clc

fp=2000; %通带边界频率 fs=1200; %阻带边界频率 rp=0.5; %通带最大衰减 as=40; %阻带最大衰减 ff = 8000; wp1 = 2*fp/ff;

wr1 = 2*fs/ff; [N1,wn1] = ellipord(wp1,wr1,rp,as); [B1,A1] = ellip(N1,rp,as,wn1,'high'); [h1,w] = freqz(B1,A1); f=w/pi; subplot(3,1,3)

plot(f,20*log10(abs(h1)),'-');title('幅频特性曲线 '); grid; xlabel('频率/Hz ') ylabel('幅度/dB');

因篇幅问题不能全部显示,请点此查看更多更全内容

Top