马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
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('幅值')
其中:
[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); %状态空间模型转换为传递函数模型
这三行虽然有注释,但是我还是看不懂,原因应该是对Butterworth设计的原理思路不懂,请高手帮忙啊
[ 本帖最后由 eight 于 2007-7-16 11:15 编辑 ] |