上传输零点
① matlab编写带有传输零点的chebyshev带通滤波器
这是Chebyshev-I型滤波器设计方法,你可以在此基础上进行修改。
fp=[300 400]; fs=[200 500]; rp=3; rs=18;Fs=2000;%模拟技术指标
wp=fp*2*pi/Fs; ws=fs*2*pi/Fs;%数字技术指标
%模拟低通原型滤波器设计
wap=2*Fs*tan(wp./2);was=2*Fs*tan(ws./2);%预畸变
[n,wn]=cheb1ord(wap,was,rp,rs,'s');
[z,p,k]=cheb1ap(n,rp); [bp,ap]=zp2tf(z,p,k); [h1,w1]=freqs(bp,ap);
Subplot(411); plot(w1,abs(h1)); grid; title(' lowpass G(p)')
%模拟低通原型->模拟带通滤波器
bw=wap(2)-wap(1); w0=sqrt(wap(1)*wap(2));
[bs,as]=lp2bp(bp,ap,w0,bw);
w2=0:pi:4000*pi;
h2=freqs(bs,as,w2);
Subplot(412); plot(w2/2/pi,20*log10(abs(h2))); grid; title(' bandpass H(p)')
%双线性变换法设计数字滤波器
% Note: s=(2/T)(z-1)/(z+1);T=1,that is 2Fs=1,Fs=0.5;
[bz1,az1]=bilinear(bs,as,Fs);
[h3,w3]=freqz(bz1,az1,1024,Fs);
Subplot(413); plot(w3,20*log10(abs(h3))); grid; title(' bandpass DF H1(z)');
% Directly to design H(z) by butter.m
[n,wn]=cheb1ord(wp/pi,ws/pi,rp,rs); [bz2,az2]=cheby1(n,rp,wp/pi, 'bandpass');
[h4,w4]=freqz(bz2,az2,1024,Fs);
Subplot(414); plot(w4,20*log10(abs(h4))); grid; title('Bandpass DF H2(z)');
② 滤波器带外抑制求助
这个与你的滤波器拓扑有关(滤波器带外高端的传输零点比低端的多),不知道你用的是什么样的结构。
③ FIR滤波器
最好用matlab来实现
④ 具有传输零点的滤波器的优点是什么
传输抄零点理论指的是滤波器袭传输函数等于零,即在这一频点上能量不能通过网络,因而起到完全隔离作用。通常带通滤波器在无限远的频点处其传输函数是趋于零的,称之为无限传输零点,但由于是无限远,因此没有实际意义。在实际设计的带通滤波器中为了使通带外有较大抑制,就需要在一些特定的频点处引入零点,这便是通常所指的有限零点。