IIR 滤波器设计.docx
- 文档编号:7281620
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:39
- 大小:1.40MB
IIR 滤波器设计.docx
《IIR 滤波器设计.docx》由会员分享,可在线阅读,更多相关《IIR 滤波器设计.docx(39页珍藏版)》请在冰豆网上搜索。
IIR滤波器设计
HUNANUNIVERSITY
课程实验报告
实验题目:
IIR滤波器设计
学生姓名:
学生学号:
专业班级:
通信工程五班
一、实验目的
认真复习滤波器幅度平方函数的特性,模拟低通滤波器的巴特沃思逼近、切比雪夫型逼近方法;复习从模拟低通到模拟高通、带通、带阻的频率变换法;从模拟滤波器到数字滤波器的脉冲响应不变法、双线性变换法的基本概念、基本理论和基本方法。
掌握巴特沃思、切比雪夫模拟低通滤波器的设计方法;利用模拟域频率变换设计模拟高通、带通、带阻滤波器的方法。
掌握利用脉冲响应不变法、双线性变换法设计数字滤波器的基本方法;能熟练设计巴特沃思、切比雪夫低通、带通、高通、带阻数字滤波器。
熟悉利用MATLAB直接进行各类数字滤波器的设计方法。
二、实验内容
a.设计模拟低通滤波器,通带截止频率为10KHz,阻带截止频率为16KHz,通带最大衰减1dB,阻带最小衰减20dB。
(1)分别用巴特沃思、切比雪夫I、切比雪夫II型、椭圆型滤波器分别进行设计,并绘制所设计滤波器的幅频和相频特性图。
(2)在通带截止频率不变的情况下,分别用n=3,4,5,6阶贝塞尔滤波器设计所需的低通滤波器,并绘制其相应的幅频响应和相频响应图。
b.设计模拟高通滤波器,通带截止频率为2000Hz,阻带截止频率1500Hz,通带最大衰减为3dB,阻带最小衰减为15dB。
(1)分别用巴特沃思、切比雪夫I型滤波器首先设计模拟低通滤波器,再通过频率转换成高通滤波器,并分别绘制所设计滤波器的幅频和相频特性图。
(2)直接用巴特沃思、切比雪夫I型滤波器设计高通滤波器,并分别绘制所设计滤波器的幅频和相频特性图。
c.设计模拟带通滤波器,其通带带宽为B=2π×200rad/s,中心频率Ω0=2π×1000rad/s,
通带内最大衰减为δ1=3dB,阻带Ωs1=2π×830rad/s,而Ωs2=2π×1200rad/s,阻带最小衰减δ2=15dB。
(1)分别用巴特沃思、切比雪夫I型滤波器首先设计模拟低通滤波器,再通过频率转换
成带通滤波器,并分别绘制所设计滤波器的幅频和相频特性图。
(2)直接用巴特沃思、切比雪夫I型滤波器设计带通滤波器,并分别绘制所设计滤波器
的幅频和相频特性图。
d.设计模拟带阻滤波器,Ωl=2π×905rad/s,Ωu=2π×1105rad/s,Ωs1=2π×980rad/s,
Ωs2=2π×1020rad/s,Ωu=2π×1105rad/s。
δ1=3dB,δ2=25dB。
(1)分别用巴特沃思、切比雪夫I型滤波器首先设计模拟低通滤波器,再通过频率转换成带阻滤波器,并分别绘制所设计滤波器的幅频和相频特性图。
(2)直接用巴特沃思、切比雪夫I型滤波器设计带阻滤波器,并分别绘制所设计滤波器
的幅频和相频特性图。
e.设计数字低通滤波器。
抽样频率为10kHz,通带截止频率为1kHz,阻带截止频率为1.4kHz,通带最大衰减为2dB,阻带最小衰减为20dB。
(1)分别用巴特沃思、切比雪夫I、切比雪夫II、椭圆型滤波器首先设计模拟低通滤波器,并分别绘制所设计滤波器的幅频和相频特性图。
(2)分别用脉冲响应不变法、双线性变换法把巴特沃思、切比雪夫I、切比雪夫II、椭圆型模拟低通转换成数字低通滤波器,并分别绘制数字滤波器的幅频和相频特性图。
f.设计数字低通滤波器。
通带截止频率为0.2π,阻带截止频率为0.6π,通带最大衰减为1dB,阻带最小衰减为20dB。
分别采用巴特沃思、切比雪夫I、切比雪夫II、椭圆型滤波器直接设计数字滤波器,并分别绘制所数字滤波器的幅频和相频特性图。
g.设计高通数字滤波器。
通带边界频率为800Hz,阻带边界频率为500Hz,通带波纹为1dB,阻带最小衰减为30dB,抽样频率2000Hz。
(1)分别用切比雪夫I、切比雪夫II型滤波器首先设计模拟滤波器,然后利用双线性变
换法设计出相应的数字滤波器,并分别绘制数字滤波器的幅频和相频特性图。
(2)分别用切比雪夫I、切比雪夫II型滤波器直接设计数字滤波器,并分别绘制数字滤
波器的幅频和相频特性图。
h.设模拟信号为:
x(t)=5sin(200πt)+2cos(300πt)。
系统中有A/D和D/A转换器,使得输出仍然为模拟信号y(t)。
(1)设计一个最小阶数的IIR数字滤波器,以小于1dB的衰减通过150Hz的分量,以至少40dB衰减来抑制100Hz的分量。
要求滤波器有单调的单调的通带和等波纹的阻带,求出该滤波器有利函数形式的系统函数,并绘制其幅度响应(dB)。
(2)产生上述模拟信号x(t)的150个样本,然后将其输入到所设计的IIR滤波器中,求滤波器的输出序列,并采用内插形成输出信号y(t)。
绘制滤波器输入输出信号,并对所得到结果进行分析和解释。
i.设模拟信号为:
x(t)=5sin(200πt)+2cos(300πt),分别用脉冲响应不变法和双线性变换法设计IIR低通滤波器对信号x(t)进行滤波。
对IIR滤波器要求:
以小于1dB的衰减通过100Hz的分量,以大于40dB衰减来抑制150Hz的分量。
(1)分别绘制两种方法设计的IIR数字滤波器的幅度和相位特性。
(2)对于所得到的结果进行分析,并总结脉冲响应不变法和双线性变换法设计数字滤波
器的优缺点。
3、实验结果
a.
clearall;
clc;
%?
?
?
?
?
?
?
OmegaP=2*pi*10000;OmegaS=2*pi*16000;
Rp=1;As=20;
%?
?
?
?
?
?
?
?
?
?
?
?
?
N1=ceil(log10((10.^(0.1*abs(Rp))-1)./(10.^(0.1*abs(As))-1))/(2*log10(OmegaP/OmegaS)))
OmegaC1=OmegaP/((10^(.1*abs(Rp))-1)^(1/(2*N1)));
[z0,p0,k0]=buttap(N1)%?
?
buttap?
?
?
?
?
?
?
?
?
?
?
?
?
?
b0=k0*real(poly(z0));%?
?
?
?
?
?
?
?
?
b0,a0
a0=real(poly(p0))
%?
?
?
?
?
?
?
?
?
?
?
?
?
?
[H1,w1]=freqs(b0,a0);
subplot(211)
plot(w1,abs(H1));
title('?
?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w1,angle(H1));
title('?
?
?
?
?
?
?
?
?
?
?
');
%?
?
?
?
I?
?
?
?
figure
(2);
[N2,OmegaC2]=cheb1ord(OmegaP,OmegaS,Rp,As,'s')
[z2,p2,k2]=cheb1ap(N2,Rp)
b2=k2*real(poly(z2));
a2=real(poly(p2))
[H2,w2]=freqs(b2,a2);
subplot(211)
plot(w2,abs(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
');
subplot(212)
plot(w2,angle(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
');
%?
?
?
?
?
?
?
?
?
?
?
?
?
figure(3)
[N3,OmegaC3]=cheb2ord(OmegaP,OmegaS,Rp,As,'s')
[z3,p3,k3]=cheb2ap(N3,As)
b3=k3*real(poly(z3));
a3=real(poly(p3))
[H3,w3]=freqs(b3,a3);
subplot(211)
plot(w3,abs(H3));
title('%?
?
?
?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w3,angle(H3));
title('%?
?
?
?
?
?
?
?
?
?
?
?
?
');
%?
?
?
?
?
?
?
?
figure(4)
[N4,OmegaC4]=ellipord(OmegaP,OmegaS,Rp,As,'s')
[z4,p4,k4]=ellipap(N4,Rp,As)
b4=k4*real(poly(z4));
a4=real(poly(p4))
[H4,w4]=freqs(b4,a4);
subplot(211)
plot(w4,abs(H4));
title('?
?
?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w4,angle(H4));
title('?
?
?
?
?
?
?
?
?
?
?
?
');
b.
(1)
clearall;
clc;
%?
?
?
?
?
?
?
?
?
OmegaP=2*pi*2000;OmegaS=2*pi*1500;
Rp=3;As=15;
N1=abs(ceil(log10((10.^(0.1*abs(Rp))-1)./(10.^(0.1*abs(As))-1))/(2*log10(OmegaP/OmegaS))));
OmegaC1=OmegaP/((10^(.1*abs(Rp))-1)^(1/(2*N1)));
[z0,p0,k0]=buttap(N1);
b0=k0*real(poly(z0));
a0=real(poly(p0));
[numT1,denT1]=lp2hp(b0,a0,OmegaC1);
[H1,w1]=freqs(numT1,denT1);
subplot(211)
plot(w1,abs(H1));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w1,angle(H1));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
%?
?
?
?
I?
?
?
?
figure
(2);
[N2,OmegaC2]=cheb1ord(OmegaP,OmegaS,Rp,As,'s')
[z2,p2,k2]=cheb1ap(N1,Rp)
b2=k2*real(poly(z2));
a2=real(poly(p2))
[numT2,denT2]=lp2hp(b2,a2,OmegaC2);
[H2,w2]=freqs(numT2,denT2);
subplot(211)
plot(w2,abs(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
');
subplot(212)
plot(w2,angle(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
');
(2)
clearall;
clc;
%?
?
?
?
?
?
?
?
?
wp=2*pi*2000;ws=2*pi*1500;
Rp=3;As=15;
%?
?
?
?
?
?
?
?
?
[N1,wc1]=buttord(wp,ws,Rp,As,'s');
[b1,a1]=butter(N1,wc1,'high','s');
[H1,w1]=freqs(b1,a1);
subplot(211)
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
plot(w1,abs(H1));
subplot(212)
plot(w1,angle(H1));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
%?
?
?
?
I?
?
?
?
figure
(2);
[N2,wc2]=cheb1ord(wp,ws,Rp,As,'s');
[b2,a2]=cheby1(N2,Rp,wc2,'high','s');
[H2,w2]=freqs(b2,a2);
subplot(211)
plot(w2,abs(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
');
subplot(212)
plot(w2,angle(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
');
c.
(1)
clearall;
clc;
wp=2*pi*1100;ws=2*pi*1200;wz=2*pi*1000;
Rp=3;As=15;B=2*pi*200;
[N1,wc1]=buttord(wp,ws,Rp,As,'s');
[z1,p1,k1]=buttap(N1);
b1=k1*real(poly(z1));
a1=real(poly(p1))
[numT1,denT1]=lp2bp(b1,a1,wz,B);
[H1,w1]=freqs(numT1,denT1);
subplot(211)
plot(w1,abs(H1));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w1,angle(H1));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
figure
(2);
[N2,wc2]=cheb1ord(wp,ws,Rp,As,'s')
[z2,p2,k2]=cheb1ap(N2,Rp)
b2=k2*real(poly(z2));
a2=real(poly(p2));
[numT2,denT2]=lp2bp(b2,a2,wz,B);
[H2,w2]=freqs(numT2,denT2);
subplot(211)
plot(w2,abs(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
');
subplot(212)
plot(w2,angle(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
');
(2)
clearall;
clc;
wp=2*pi*1100;ws=2*pi*1200;wn=[2*pi*900,2*pi*1100];
Rp=3;As=15;B=2*pi*200;
[N1,wc1]=buttord(wp,ws,Rp,As,'s');
[b1,a1]=butter(N1,wn,'s');
[H1,w1]=freqs(b1,a1);
subplot(211)
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
plot(w1,abs(H1));
subplot(212)
plot(w1,angle(H1));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
figure
(2);
[N2,wc2]=cheb1ord(wp,ws,Rp,As,'s');
[b2,a2]=cheby1(N2,Rp,wn,'s');
[H2,w2]=freqs(b2,a2);
subplot(211)
plot(w2,abs(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w2,angle(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
?
?
');
d.
(1)
clc;
%?
?
l=2?
?
?
?
905rad/s?
?
?
?
u=2?
?
?
?
1105rad/s?
?
?
?
s1=2?
?
?
?
980rad/s
clearall;
clc;
wp=2*pi*1105;ws=2*pi*1020;wz=2*pi*1005;B=2*pi*200;
Rp=3;As=25;
[N1,wc1]=buttord(wp,ws,Rp,As,'s');
[z1,p1,k1]=buttap(N1);
b1=k1*real(poly(z1));
a1=real(poly(p1))
[numT1,denT1]=lp2bs(b1,a1,wz,B);
[H1,w1]=freqs(numT1,denT1);
subplot(211)
plot(w1,abs(H1));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w1,angle(H1));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
figure
(2);
[N2,wc2]=cheb1ord(wp,ws,Rp,As,'s')
[z2,p2,k2]=cheb1ap(N2,Rp)
b2=k2*real(poly(z2));
a2=real(poly(p2));
[numT2,denT2]=lp2bs(b2,a2,wz,B);
[H2,w2]=freqs(numT2,denT2);
subplot(211)
plot(w2,abs(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w2,angle(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
?
?
');
(2)
clearall;
clc;
wp=[2*pi*905,2*pi*1105];ws=[2*pi*980,2*pi*1020];
Rp=3;As=25;
[N1,wc1]=buttord(wp,ws,Rp,As,'s');
[b1,a1]=butter(N1,wc1,'stop','s');
[H1,w1]=freqs(b1,a1);
subplot(211)
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
plot(w1,abs(H1));
subplot(212)
plot(w1,angle(H1));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
figure
(2);
[N2,wc2]=cheb1ord(wp,ws,Rp,As,'s');
[b2,a2]=cheby1(N2,Rp,wc2,'stop','s');
[H2,w2]=freqs(b2,a2);
subplot(211)
plot(w2,abs(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w2,angle(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
?
?
');
e
(1)
clearall;
clc;
OmegaP=2*pi*1000;OmegaS=2*pi*1400;
Rp=2;As=20;
[N1,OmegaC1]=buttord(OmegaP,OmegaS,Rp,As,'s');
[z0,p0,k0]=buttap(N1);
b0=k0*real(poly(z0));
a0=real(poly(p0));
[H1,w1]=freqs(b0,a0);
subplot(211)
plot(w1,abs(H1));
title('?
?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w1,angle(H1));
title('?
?
?
?
?
?
?
?
?
?
?
');
figure
(2);
[N2,OmegaC2]=cheb1ord(OmegaP,OmegaS,Rp,As,'s');
[z2,p2,k2]=cheb1ap(N2,Rp);
b2=k2*real(poly(z2));
a2=real(poly(p2));
[H2,w2]=freqs(b2,a2);
subplot(211)
plot(w2,abs(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
');
subplot(212)
plot(w2,angle(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
');
figure(3)
[N3,OmegaC3]=cheb2ord(OmegaP,OmegaS,Rp,As,'s');
[z3,p3,k3]=cheb2ap(N3,As);
b3=k3*real(poly(z3));
a3=real(poly(p3));
[H3,w3]=freqs(b3,a3);
subplot(211)
plot(w3,abs(H3));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w3,angle(H3));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
figure(4)
[N4,OmegaC4]=ellipord(OmegaP,OmegaS,Rp,As,'s');
[z4,p4,k4]=ellipap(N4,Rp,As);
b4=k4*real(poly(z4));
a4=real(poly(p4));
[H4,w4]=freqs(b4,a4);
subplot(211)
plot(w4,abs(H4));
title('?
?
?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w4,angle(H4));
title('?
?
?
?
?
?
?
?
?
?
?
?
');
(2)
clearall;
clc;
OmegaP=2*pi*1000;OmegaS=2*pi*1400;
Rp=2;As=20;
fs=10000;
[N1,OmegaC1]=buttord(OmegaP,OmegaS,Rp,As,'s');
[z0,p0,k0]=buttap(N1);
b0=k0*real(poly(z0));
a0=real(poly(p0));
[b1d,a1d]=impinvar(b0,a0,fs/OmegaC1);
[H1,w1]=freqz(b1d,a1d);
subplot(211)
plot(w1,abs(H1));
title('?
?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w1,angle(H1));
title('?
?
?
?
?
?
?
?
?
?
?
');
figure
(2);
[N2,OmegaC2]=cheb1ord(OmegaP,OmegaS,Rp,As,'s');
[z2,p2,k2]=cheb1ap(N2,Rp);
b2=k2*real(poly(z2));
a2=real(poly(p2));
[b2d,a2d]=impinvar(b2,a2,fs/OmegaC2);
[H2,w2]=freqz(b2d,a2d);
subplot(211)
plot(w2,abs(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
');
subplot(212)
plot(w2,angle(H2));
title('?
?
?
?
I?
?
?
?
?
?
?
?
');
figure(3)
[N3,OmegaC3]=cheb2ord(OmegaP,OmegaS,Rp,As,'s')
[z3,p3,k3]=cheb2ap(N3,As)
b3=k3*real(poly(z3));
a3=real(poly(p3))
[b3d,a3d]=impinvar(b3,a3,fs/OmegaC3);
[H3,w3]=freqz(b3d,a3d);
subplot(211)
plot(w3,abs(H3));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
subplot(212)
plot(w3,angle(H3));
title('?
?
?
?
?
?
?
?
?
?
?
?
?
');
figure(4)
[N4,OmegaC4]=ellipord(OmegaP,OmegaS,Rp,As,'s');
[z4,p4,k4]=ellipap(N4,Rp,As);
b4=k4*real(poly(z4));
a4=real(poly(p4));
[b4d,a4d]=impinvar(b4,a4,fs/OmegaC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IIR 滤波器设计 滤波器 设计