📄 bpcheb.m
字号:
%----------------------------------------------------------------------------
% 6.3 (2) to design a Chebyshev-I Bandpass DF.
%----------------------------------------------------------------------------
clear all;
f1=300;f3=400;
fsl=200;fsh=500;
rp=3;rs=40;
Fs=2000;
%
wp1=2*pi*f1/Fs;
wp3=2*pi*f3/Fs;
wsl=2*pi*fsl/Fs;
wsh=2*pi*fsh/Fs;
wp=[wp1 wp3];ws=[wsl wsh];
%
% Firstly to finish frequency prewarping; % frequency prewarping 应该是频率转换
wap=2*Fs*tan(wp./2);
was=2*Fs*tan(ws./2);
[n,wn]=cheb1ord(wap,was,rp,rs,'s'); % 求阶数n
% Note: 's'!
[z,p,k]=cheb1ap(n,rp); % 模拟底通滤波器
[bp,ap]=zp2tf(z,p,k); % 得分子分母向量式
bw=wap(2)-wap(1);
w0=sqrt(wap(1)*wap(2));
[bs,as]=lp2bp(bp,ap,w0,bw); %模拟高通滤波器
%
% Note: z=(2/Ts)(z-1)/(z+1);
[bz,az]=bilinear(bs,as,Fs); %数字底通滤波器
[h,w]=freqz(bz,az,256,Fs);
figure(1);
plot(w,20*log10(abs(h))); %数字底通滤波器的幅频响应
xlabel(' Hz');
ylabel('幅频响应');
grid;
%
figure(2);
hphase=angle(h);
hphase=unwrap(hphase);
plot(w,hphase);
xlabel(' Hz');
ylabel('相频响应');
grid on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -