文档库

最新最全的文档下载
当前位置:文档库 > 带通滤波器的设计 matlab 双线性变换法 切比雪夫法

带通滤波器的设计 matlab 双线性变换法 切比雪夫法

close all

clear

Ap=1; As=50;

fs=15000;

%带通到低通的频率变换

Wp1=4.5*pi*1000; Wp2=9*pi*1000;

Ws1=1.5*pi*1000; Ws2=12*pi*1000;

BW=Wp2-Wp1; %带通滤波器的通带宽度

W0=sqrt(Wp1*Wp2);

WP=1; %归一化处理

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

%切比雪夫模拟低通原型滤波器设计

[N,Wn]=cheb1ord(WP,WS,Ap,As,'s');

[B1,A1]=cheby1(N,Ap,Wn,'s');

% 由模拟低通原型滤波器变换为模拟带通滤波器

[B2,A2]=lp2bp(B1,A1,W0,BW);

[h1,w1]= freqs(B2,A2);

%模拟带通滤波器幅频特性曲线(dB)

subplot(2,2,1);plot(w1/(2*pi),20*log(abs(h1))); grid on;

xlabel('HZ');

ylabel('|H(jw)|.dB');

title('模拟带通滤波器幅频特性曲线');

%双线性变换:由模拟滤波器向数字滤波器的变换

[B3,A3]=bilinear(B2,A2,fs);

%显示传递函数系数

disp('分子系数');disp(B3);

disp('分母系数');disp(A3);

[h2,w2]=freqz(B3,A3,fs);

%数字带通滤波器幅频响应曲线

subplot(2,2,2);plot(w2/pi,abs(h2));

grid on;

xlabel('2*HZ');ylabel('|H(z)|');