MATLAB设计模拟带通滤波器

王朝知道·作者佚名  2010-03-13
窄屏简体版  字體: |||超大  
 
分類: 教育/科學 >> 科學技術 >> 工程技術科學
 
問題描述:

设计一个模拟带通滤波器,其Ap=1dB,As=34dB,通带从200HZ到300HZ,阻带在100HZ-400HZ,设计满足上述条件的巴特沃斯滤波器 切比雪夫1 切比雪夫2 椭圆滤波器 。

參考答案:

这是我考试时候的程序,参数自己改一下就可以了

cheb1

% wp1=0.45*pi;wp2=0.65*pi;ws1=0.3*pi;ws2=0.75*pi;Rp=1;Rs=40

% =============双线型变换法=========================================

wp1=0.45*pi; wp2=0.65*pi;

ws1=0.3*pi; ws2=0.75*pi;

Rp=1; Rs=40;

Wp1=tan(wp1/2); Wp2=tan(wp2/2);

Ws1=tan(ws1/2); Ws2=tan(ws2/2);

BW=Wp2-Wp1; W0=Wp1*Wp2; W00=sqrt(W0);

WP=1; WS=WP*(W0^2-Ws1^2)/(Ws1*BW);

[N,Wn]=cheb1ord(WP,WS,Rp,Rs,'s');

[B,A]=cheby1(N,Rp,Wn,'s');

[BT,AT]=lp2bp(B,A,W00,BW);

[num,den]=bilinear(BT,AT,0.5);

[h,omega]=freqz(num,den,64);

subplot(2,2,1);stem(omega/pi,abs(h));

xlabel('\omega/\pi');ylabel('|H(z)|');

subplot(2,2,2);stem(omega/pi,20*log10(abs(h)));

xlabel('\omega/\pi');ylabel('增益.dB');

% =============直接法=================================

wp1=0.45*pi; wp2=0.65*pi;

ws1=0.3*pi; ws2=0.75*pi;

Rp=1; Rs=40;

Wp=[wp1/pi,wp2/pi]; Ws=[ws1/pi,ws2/pi];

[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs);

[B,A]=cheby1(N,Rp,Wn);

[h,omega]=freqz(B,A,64);

subplot(2,2,3);stem(omega/pi,abs(h));

xlabel('\omega/\pi');ylabel('|H(z)|');

subplot(2,2,4);stem(omega/pi,20*log10(abs(h)));

xlabel('\omega/\pi');ylabel('增益.dB');

%cheby2%

% wp1=0.45*pi;wp2=0.65*pi;ws1=0.3*pi;ws2=0.75*pi;Rp=1;Rs=40

% =============双线型变换法=========================================

wp1=0.45*pi; wp2=0.65*pi;

ws1=0.3*pi; ws2=0.75*pi;

Rp=1; Rs=40;

Wp1=tan(wp1/2); Wp2=tan(wp2/2);

Ws1=tan(ws1/2); Ws2=tan(ws2/2);

BW=Wp2-Wp1; W0=Wp1*Wp2; W00=sqrt(W0);

WP=1; WS=WP*(W0^2-Ws1^2)/(Ws1*BW);

[N,Wn]=cheb2ord(WP,WS,Rp,Rs,'s');

[B,A]=cheby2(N,Rs,Wn,'s');

[BT,AT]=lp2bp(B,A,W00,BW);

[num,den]=bilinear(BT,AT,0.5);

[h,omega]=freqz(num,den,64);

subplot(2,2,1);stem(omega/pi,abs(h));

xlabel('\omega/\pi');ylabel('|H(z)|');

subplot(2,2,2);stem(omega/pi,20*log10(abs(h)));

axis([0 1 -100 0]);xlabel('\omega/\pi');ylabel('增益.dB');

% =============直接法=================================

wp1=0.45*pi; wp2=0.65*pi;

ws1=0.3*pi; ws2=0.75*pi;

Rp=1; Rs=40;

Wp=[wp1/pi,wp2/pi]; Ws=[ws1/pi,ws2/pi];

[N,Wn]=cheb2ord(Wp,Ws,Rp,Rs);

[B,A]=cheby2(N,Rs,Wn);

[h,omega]=freqz(B,A,64);

subplot(2,2,3);stem(omega/pi,abs(h));

xlabel('\omega/\pi');ylabel('|H(z)|');

subplot(2,2,4);stem(omega/pi,20*log10(abs(h)));

axis([0 1 -100 0]);xlabel('\omega/\pi');ylabel('增益.dB');

%椭圆%

% wp1=0.45*pi;wp2=0.65*pi;ws1=0.3*pi;ws2=0.75*pi;Rp=1;Rs=40

% =============双线型变换法=========================================

wp1=0.45*pi; wp2=0.65*pi;

ws1=0.3*pi; ws2=0.75*pi;

Rp=1; Rs=40;

Wp1=tan(wp1/2); Wp2=tan(wp2/2);

Ws1=tan(ws1/2); Ws2=tan(ws2/2);

BW=Wp2-Wp1; W0=Wp1*Wp2; W00=sqrt(W0);

WP=1; WS=WP*(W0^2-Ws1^2)/(Ws1*BW);

[N,Wn]=ellipord(WP,WS,Rp,Rs,'s');

[B,A]=ellip(N,Rp,Rs,Wn,'s');

[BT,AT]=lp2bp(B,A,W00,BW);

[num,den]=bilinear(BT,AT,0.5);

[h,omega]=freqz(num,den,64);

subplot(2,2,1);stem(omega/pi,abs(h));grid;

xlabel('\omega/\pi');ylabel('|H(z)|');

subplot(2,2,2);stem(omega/pi,20*log10(abs(h)));grid;

xlabel('\omega/\pi');ylabel('增益.dB');

% =============直接法=================================

wp1=0.45*pi; wp2=0.65*pi;

ws1=0.3*pi; ws2=0.75*pi;

Rp=1; Rs=40;

Wp=[wp1/pi,wp2/pi]; Ws=[ws1/pi,ws2/pi];

[N,Wn]=ellipord(Wp,Ws,Rp,Rs);

[B,A]=ellip(N,Rp,Rs,Wn);

[h,omega]=freqz(B,A,64);

subplot(2,2,3);stem(omega/pi,abs(h));grid;

xlabel('\omega/\pi');ylabel('|H(z)|');

subplot(2,2,4);stem(omega/pi,20*log10(abs(h)));grid;

xlabel('\omega/\pi');ylabel('增益.dB');

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航