使用MATLAB基于fdesign的滤波器设计
2009-08-07 21:47
版本Matlab2009a
基于fdesign面向对象的滤波设计
单速滤波器:dfilt
多速滤波器:mfilt
自适应滤波器:adaptfilt
传统的使用命令行和fdatool极大提高了滤波器的设计效率,但是还是综合各因素不但优化的过程,没有体现Matlab在优化方面的强大功能。
使用基于fdesign的对象设计方法,只需要三步就可完成:
1、生成发的四个呢对象,根据滤波器的需求修改对象的属性。
2、使用designmethods查找适合的设计方法。
3、使用design()设计生成滤波器对象,观察是否满足要求。
还可使用cost()花销,infor()详细信息,class()类型,还支持方fdatool ()和滤波器结构转换,simulink模型生成,C和HDL代码生成。
非常高效~~
参考:
% FIR低通滤波器,通带边界频率为1500Hz,
%通带波纹小于1dB;阻带边界频率为2000Hz,
%阻带衰减大于40dB;采样频率为8000Hz。
%%
f=fdesign.lowpass
f =
Response: 'Lowpass'
Specification: 'Fp,Fst,Ap,Ast'
Description: {4x1 cell}
NormalizedFrequency: true
Fpass: 0.45
Fstop: 0.55
Apass: 1
Astop: 60
%%
%修改生成对象的属性
fd=f;