仪器社区

高分求:用双线性变换法设计原型低通为椭圆型的数字IIR带通滤波器

LELE0827smile 2010-06-29
高分求救:有高手没,赐教!!!!!关于DSP课程设计的
评论
全部评论
小布阿TvT
p1=400;
p2=500;%通带边界频率
s1=350;
s2=550;%阻带截止频率
Ap=1;%通带Z大衰减
As=40;%阻带Z小衰减
Ft=2000;%抽样频率
T=2;
wp1=2*pi*p1/Ft;
wp2=2*pi*p2/Ft;
ws1=2*pi*s1/Ft;
ws2=2*pi*s2/Ft;
Wp1=(2/T)*tan(wp1/2);
Wp2=(2/T)*tan(wp2/2);
Ws1=(2/T)*tan(ws1/2);
Ws2=(2/T)*tan(ws1/2)
W0=Wp1*Wp2;
w0=sqrt(W0);
BW=Wp2-Wp1; %带通滤波器的通带宽度
lp=1; %归一化处理
ls=Ws1*BW/(W0-Ws1^2);
[N,Wn]=ellipord(lp,ls,Ap,As,'s');
[B,A]=ellip(N,1,40,Wn,'s');
[BT,AT]=lp2bp(B,A,w0,BW);
[num,den]=bilinear(BT,AT,0.5);
[z,p,k]=tf2zp(num,den);
figure(1);
zplane(z,p);
title('零极点')
[h,w]=freqz(num,den,512);
figure(2)
plot(w/pi,20*log10(abs(h)));
axis([0 1 -100 1]);
title('频谱特性曲线')
grid
n=0:800;k=n/8000;%通过滤波器3
f1=2*pi*450;
f2=2*pi*6000;
x=sin(f1*k)+sin(f2*k);
y=filter(num,den,x);
x1=sin(f1*k)
figure(3)
plot(x1);%x1图形输出
axis([0,100*pi,-5,5]);
title('x1(t)');
x2=sin(f2*k);
figure(4)
plot(x2);%x2图形输出
axis([0,100*pi,-5,5]);
title('x2');
figure(5)
plot(x);
axis([0,100*pi,-5,5]);
title('输入信号');
figure(6)
plot(y);
axis([0,100*pi,-5,5]);
title('输出信号');

我试过了,可以的,数据改一下就行
17 0 2010-06-30 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论