如何用MATLAB编写双线性变换法
答案:2 悬赏:50
解决时间 2021-02-23 07:40
- 提问者网友:幽瑟玉琼情殇
- 2021-02-22 08:40
如何用MATLAB编写双线性变换法
最佳答案
- 二级知识专家网友:哥在撩妹请勿打扰
- 2021-02-22 09:18
wp1=0.3*pi;wp2=0.6*pi;ws1=0.4*pi;ws2=0.5*pi;Ap=3;As=10;Fs=1;
B=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[N,wc]=buttord(wp,ws,Ap,As,'s');
[num,den]=butter(N,wc,'s');
[numt,dent]=lp2bs(num,den,w0,B);
[numd,dend]=bilinear(numt,dent,Fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
subplot(2,2,1);
plot(w/pi,20*log(abs(h)/norm));grid;
xlabel('Butterworth BS DF');
ylabel('Gain,dB');
wp1=0.3*pi;wp2=0.6*pi;ws1=0.4*pi;ws2=0.5*pi;Ap=3;As=10;Fs=1;
B=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[N,wc]=cheb1ord(wp,ws,Ap,As,'s');
[num,den]=cheby1(N,Ap,wc,'s');
[numt,dent]=lp2bs(num,den,w0,B);
[numd,dend]=bilinear(numt,dent,Fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
subplot(2,2,2);
plot(w/pi,20*log(abs(h)/norm));grid;
xlabel('ChebyshevI BS DF');
ylabel('Gain,dB');
wp1=0.3*pi;wp2=0.6*pi;ws1=0.4*pi;ws2=0.5*pi;Ap=3;As=10;Fs=1;
B=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[N,wc]=cheb2ord(wp,ws,Ap,As,'s');
[num,den]=cheby2(N,As,wc,'s');
[numt,dent]=lp2bs(num,den,w0,B);
[numd,dend]=bilinear(numt,dent,Fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
subplot(2,2,3);
plot(w/pi,20*log(abs(h)/norm));grid;
xlabel('ChebyshevII BS DF');
ylabel('Gain,dB');
wp1=0.3*pi;wp2=0.6*pi;ws1=0.4*pi;ws2=0.5*pi;Ap=3;As=10;Fs=1;
B=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[N,wc]=ellipord(wp,ws,Ap,As,'s');
[num,den]=ellip(N,Ap,As,wc,'s');
[numt,dent]=lp2bs(num,den,w0,B);
[numd,dend]=bilinear(numt,dent,Fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
subplot(2,2,4);
plot(w/pi,20*log(abs(h)/norm));grid;
xlabel('Tuoyuan BS DF');
ylabel('Gain,dB');
B=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[N,wc]=buttord(wp,ws,Ap,As,'s');
[num,den]=butter(N,wc,'s');
[numt,dent]=lp2bs(num,den,w0,B);
[numd,dend]=bilinear(numt,dent,Fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
subplot(2,2,1);
plot(w/pi,20*log(abs(h)/norm));grid;
xlabel('Butterworth BS DF');
ylabel('Gain,dB');
wp1=0.3*pi;wp2=0.6*pi;ws1=0.4*pi;ws2=0.5*pi;Ap=3;As=10;Fs=1;
B=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[N,wc]=cheb1ord(wp,ws,Ap,As,'s');
[num,den]=cheby1(N,Ap,wc,'s');
[numt,dent]=lp2bs(num,den,w0,B);
[numd,dend]=bilinear(numt,dent,Fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
subplot(2,2,2);
plot(w/pi,20*log(abs(h)/norm));grid;
xlabel('ChebyshevI BS DF');
ylabel('Gain,dB');
wp1=0.3*pi;wp2=0.6*pi;ws1=0.4*pi;ws2=0.5*pi;Ap=3;As=10;Fs=1;
B=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[N,wc]=cheb2ord(wp,ws,Ap,As,'s');
[num,den]=cheby2(N,As,wc,'s');
[numt,dent]=lp2bs(num,den,w0,B);
[numd,dend]=bilinear(numt,dent,Fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
subplot(2,2,3);
plot(w/pi,20*log(abs(h)/norm));grid;
xlabel('ChebyshevII BS DF');
ylabel('Gain,dB');
wp1=0.3*pi;wp2=0.6*pi;ws1=0.4*pi;ws2=0.5*pi;Ap=3;As=10;Fs=1;
B=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[N,wc]=ellipord(wp,ws,Ap,As,'s');
[num,den]=ellip(N,Ap,As,wc,'s');
[numt,dent]=lp2bs(num,den,w0,B);
[numd,dend]=bilinear(numt,dent,Fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
subplot(2,2,4);
plot(w/pi,20*log(abs(h)/norm));grid;
xlabel('Tuoyuan BS DF');
ylabel('Gain,dB');
全部回答
- 1楼网友:兮沫♡晨曦
- 2021-02-22 09:23
利用双线性变换法设计iir带阻滤波器
matlab 程序如下:
wp1=0.3*pi;wp2=0.6*pi;ws1=0.4*pi;ws2=0.5*pi;ap=3;as=10;fs=1;
b=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[n,wc]=buttord(wp,ws,ap,as,'s');
[num,den]=butter(n,wc,'s');
[numt,dent]=lp2bs(num,den,w0,b);
[numd,dend]=bilinear(numt,dent,fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
subplot(2,2,1);
plot(w/pi,20*log(abs(h)/norm));grid;
xlabel('butterworth bs df');
ylabel('gain,db');
wp1=0.3*pi;wp2=0.6*pi;ws1=0.4*pi;ws2=0.5*pi;ap=3;as=10;fs=1;
b=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[n,wc]=cheb1ord(wp,ws,ap,as,'s');
[num,den]=cheby1(n,ap,wc,'s');
[numt,dent]=lp2bs(num,den,w0,b);
[numd,dend]=bilinear(numt,dent,fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
subplot(2,2,2);
plot(w/pi,20*log(abs(h)/norm));grid;
xlabel('chebyshevi bs df');
ylabel('gain,db');
wp1=0.3*pi;wp2=0.6*pi;ws1=0.4*pi;ws2=0.5*pi;ap=3;as=10;fs=1;
b=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[n,wc]=cheb2ord(wp,ws,ap,as,'s');
[num,den]=cheby2(n,as,wc,'s');
[numt,dent]=lp2bs(num,den,w0,b);
[numd,dend]=bilinear(numt,dent,fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
subplot(2,2,3);
plot(w/pi,20*log(abs(h)/norm));grid;
xlabel('chebyshevii bs df');
ylabel('gain,db');
wp1=0.3*pi;wp2=0.6*pi;ws1=0.4*pi;ws2=0.5*pi;ap=3;as=10;fs=1;
b=ws2-ws1;w0=sqrt(ws1*ws2);
wp=max(abs(wp1),abs(wp2));ws=1;
[n,wc]=ellipord(wp,ws,ap,as,'s');
[num,den]=ellip(n,ap,as,wc,'s');
[numt,dent]=lp2bs(num,den,w0,b);
[numd,dend]=bilinear(numt,dent,fs);
w=linspace(0,pi,512);
h=freqz(numd,dend,w);
norm=max(abs(h));
numd=numd/norm;
subplot(2,2,4);
plot(w/pi,20*log(abs(h)/norm));grid;
xlabel('tuoyuan bs df');
ylabel('gain,db');
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯