matlab实现butterworth低通滤波器的仿真.m
来自「matlab实现Butterworthlow低通滤波器仿真程序」· M 代码 · 共 37 行
M
37 行
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 + =
减小字号Ctrl + -
显示快捷键?