实验三IIR滤波器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三I I R数字滤波器的设计
一、实验目的
(1)熟悉巴特沃思滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。
(2)掌握脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理。
(3)观察脉冲响应不变法设计的滤波器的频域特性,了解脉冲响应不变法的特点。
(4)掌握双线性变换法设计IIR数字滤波器的具体设计方法及其原理。
(5)观察双线性变换设计的滤波器的频域特性,了解双线性变换法的特点。
二、实验原理与方法
脉冲响应不变法:
用数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应h a(t),让h(n)正好等于h a(t)的采样值,即h(n)= h a(nT)
其中T为采样间隔,如果以H a(s)及H(z)分别表示h a(t)的拉氏变换及h(n)的Z变换,则双线性变换法:
S平面与z平面之间满足以下映射关系:
s平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完全映射到z平面的单位圆内。
双线性变换不存在混叠问题。
双线性变换是一种非线性变换(
2
tan()
2
T
ω
Ω=),这种非线性引起的幅频特性畸变可通
过预畸而得到校正。
三、实验内容
(1) 已知通带边界频率f p=, 通带最大衰减R p=1dB, 阻带边界频率f s=, 阻带最小衰减A
s
=25dB, 采样频率F=1kHz;用脉冲响应不变法设计一个切比雪夫Ⅰ型数字低通滤波器,写出所设计数字滤波器的系统函数H(z),并绘制其幅频特性曲线,观察通带和阻带边界处的衰减量,检查是否满足指标要求。
fp=200; %通带边界频率
fs=300; %阻带边界频率
rp=1; %通带最大衰减
as=25; %阻带最大衰减
ff = 1000;
wp1 = 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 +++
den1: +不符合要求
(2) 利用双线性变换法分别设计满足下列指标的巴特沃思型、切比雪夫Ⅰ型数字低通滤波器,写出所设计数字滤波器的系统函数H(z),并绘制其幅频特性曲线以验证设计结果。
要求指标为:通带边界频率f p=, 通带最大衰减R p=, 阻带边界频率f s=2kHz, 阻带最小衰减A s=40dB, 采样频率F = 8KHz。
N=12,得不到Hs
巴特沃思型:
fp=1200; %通带边界频率
fs=2000; %阻带边界频率
rp=; %通带最大衰减
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=; %通带最大衰减
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),并绘制其幅频特性曲线以验证设计结果。
要求指标为:阻带边界频率f s=, 阻带最小衰减A s=40dB, 通带边界频率f p=2kHz, 通带最大衰减R p=, 采样频率F=8KHz。
1、先设计模拟低通,转换为模拟高通,再转换为数字高通
wp=1; %通带边界频率
ws=5/3; %阻带边界频率
rp=; %通带最大衰减
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=; %通带最大衰减
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=; %通带最大衰减
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=; %通带最大衰减
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=; %通带最大衰减
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=; %通带最大衰减
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');。