⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hpbutt.m

📁 本人提交的用matlab的关于滤波器设计的作业
💻 M
字号:
%--------------------------------------------------------------------------
% 6.3 (2) to design a Butterworth Bandpass digital filter.
% -------------------------------------------------------------------------
clear all;

fp=400;fs=300;
rp=3;rs=35;
Fs=1000;
wp=fp*2*pi/Fs;
ws=fs*2*pi/Fs;
%
% Firstly to finish frequency prewarping;
wap=2*Fs*tan(wp./2)
was=2*Fs*tan(ws./2);
[n,wn]=buttord(wap,was,rp,rs,'s');                      % 求阶数
% Note: 's'!                                            % Note: 's'!  af with s;df without s                    ??? 
[z,p,k]=buttap(n);
[bp,ap]=zp2tf(z,p,k)                                    % bp 应该是分子向量 ap分母向量 zp2tf                      ???
%
[bs,as]=lp2hp(bp,ap,wap)                                %  低通转换为带通的G(p) 频率转换 低通的 bs应该是分子向量 as分母向量 --(lp)p-->(ap)s
%
[h1,w1]=freqs(bp,ap);                                   %  h1是相频响应 w1自动生成的   参考help freqs(bp,ap,n)!!!
%
% Note: z=(2/Ts)(z-1)/(z+1);
[bz,az]=bilinear(bs,as,Fs)                              %     ------------------------------------------------- 模拟转换为数字滤波器s-->z
[h,w]=freqz(bz,az,1000,Fs);                         %  freqs(bz,az,w,Fs)=h2  数字底通滤波器的幅频响应(曲线图)
figure(1);
plot(w,20*log10(abs(h)));grid on;
xlabel('Hz');
ylabel('幅频响应');
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 + -