📄 matlab实现butterworth低通滤波器的仿真.m
字号:
clear all;
close all;
%把数字滤波器的频率特征转换成模拟滤波器的频率特征
wp=100*2*pi;
ws=200*2*pi;
ap=2;
as=15;
Fs=500;
[N,Wc]=buttord (wp,ws,ap,as,'s');%选择滤波器的最小阶数
[Z,P,K]=buttap(N);%创建Butterworth低通滤波器原型
[A,B,C,D]=zp2ss(Z,P,K);%零极点增益模型转换为状态空间模型
[AT,BT,CT,DT]=lp2lp(A,B,C,D,Wc);%实现低通向低通的转变
[num1,den1]=ss2tf(AT,BT,CT,DT);%状态空间模型转换为传递函数模型
%运用双线性变换法把模拟滤波器转换成数字滤波器
[num2,den2]=bilinear(num1,den1,500);
[H,W]=freqz(num2,den2);%求频率响应
plot(W*Fs/(2*pi),abs(H));grid;%绘出频率响应曲线
xlabel('频率/Hz');ylabel('幅值')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -