谢韬韬通五实验.docx

上传人:b****5 文档编号:11676040 上传时间:2023-03-30 格式:DOCX 页数:39 大小:1.29MB
下载 相关 举报
谢韬韬通五实验.docx_第1页
第1页 / 共39页
谢韬韬通五实验.docx_第2页
第2页 / 共39页
谢韬韬通五实验.docx_第3页
第3页 / 共39页
谢韬韬通五实验.docx_第4页
第4页 / 共39页
谢韬韬通五实验.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

谢韬韬通五实验.docx

《谢韬韬通五实验.docx》由会员分享,可在线阅读,更多相关《谢韬韬通五实验.docx(39页珍藏版)》请在冰豆网上搜索。

谢韬韬通五实验.docx

谢韬韬通五实验

HUNANUNIVERSITY

课程实验报告

 

实验题目:

IIR滤波器设计

学生姓名:

谢韬韬

学生学号:

20110803509

专业班级:

通信工程五班

一、实验目的

认真复习滤波器幅度平方函数的特性,模拟低通滤波器的巴特沃思逼近、切比雪夫型逼近方法;复习从模拟低通到模拟高通、带通、带阻的频率变换法;从模拟滤波器到数字滤波器的脉冲响应不变法、双线性变换法的基本概念、基本理论和基本方法。

掌握巴特沃思、切比雪夫模拟低通滤波器的设计方法;利用模拟域频率变换设计模拟高通、带通、带阻滤波器的方法。

掌握利用脉冲响应不变法、双线性变换法设计数字滤波器的基本方法;能熟练设计巴特沃思、切比雪夫低通、带通、高通、带阻数字滤波器。

熟悉利用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,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1