MATLAB集成了一套功能非常强大的滤波器设计与分析工具FDATool,它可以很方便地设计出个滤波器。
此处应用的MATLAB版本为R2016b
一、启动FDATool工具箱
在命令行窗口中输入fdatool命令,打开FDATool工具箱
如果界面非上图所示,则需点击红色框内按钮
二、设计界面介绍
上图中,各框内容说明如下:
框1:Response Type(响应类型):有低通、高通、带通、带阻等设计。
框2:Design Method(设计方法):有IIR和FIR两大类。
框3:Filter Order(滤波器阶次):阶次可以根据自己的需要设定,也可以直接选择最小阶次。
框4:Frequency Specifications(频率参数):根据自己所需要的参数进行设定。
其中Fs为采样频率,Fc为截止频率
点击Design Filter按钮后观察此滤波器设计是否稳定:Stable Yes,表示该滤波器为稳定的;Stable No,表示该滤波器是不稳定的。
三、选择量化参数
点击量化按钮后,可选择精度为定点、单精度、双精度。这涉及到所产生系数的数据类型,是整型、单精度浮点型、或是双精度浮点型
四、生成系数
回到初始界面,点击Analysis – Filter Coefficients 菜单后,可直接查看生成的滤波系数
如上图所示,生成的系数为:
b=[1,2,1];
a=[1, -1.7786318063735962 , 0.80080264806747437 ]
放大倍数 k= 0.0055427174083888531
五、滤波器
Y0 = b0 * X0 + b1*X1 + b2 * X2 - a1* Y1 - a2 *Y2
滤波输出Y = k * Y0
上式中:
X0、X1、X2分别为本次、上次、再上次的输入值
Y0、Y1、Y2分别为本次、上次、再上次的输出值
b0 = 1 ; b1=2 ; b2=1
a1 = -1.7786318063735962 ; a2=0.80080264806747437
k = 0.0055427174083888531
标签:滤波器,阶次,Filter,MATLAB,设计,工具箱,FDATool From: https://blog.csdn.net/liyangchun_2/article/details/144857681