原文参考:
https://blog.csdn.net/CHQC388/article/details/103885822
文章在MATLAB R2016a环境经进行验证:
filterDesigner工具箱调用:
1、启动FDAtool工具箱,有两中种方法可以选择
1)、在命令行窗口中输入fdatool命令,打开FDAtool工具箱。
2)、在菜单栏应用列表下拉框中中可以找到filterDesigner,基于matlab 2016a开发环境
启动之后的界面
注:如果开始界面不是上图所示,则点击红色方框即可。
2、设计界面简单介绍:
1)Response Type(响应类型):有低通、高通、带通、带阻等设计。
2)Design Method(设计方法):有IIR和FIR两大类。
3)Filter Order(滤波器阶次):阶次可以根据自己的需要设定,也可以直接选择最小阶次。
4)Frequency Specifications(频率参数):根据自己所需要的参数进行设定。
例:设计一个一下参数的滤波器:
3、根据以上要求设计改变FDAtool工具箱中的参数,并且点击Design Filter,就会显示出所设计的滤波器。
5、将设计好的滤波器导出matlab中。
1)以.m文件的形式导出到matlab中:
a、点击file,然后选择Generate MATLAB Code -> Filter DesignFunction:
注意要导出函数形式,否则会影响下一步
b、函数调用,生成随机变量
%%
y1 = rand(100,1);
figure('color',[1,1,1]);
subplot(2,1,1);
plot(y1);
title('滤波前波形');
%%
y2 = filter(aaa,y1); % 直接使用设计好的滤波器进行滤波,filter函数是滤波函数
subplot(2,1,2);
plot(y2);
title('滤波后波形');
运行结果
另外还可以滤波器导出到Workspace中:
a、点击File->Export,然后弹出选择窗口。
b、将Export to选择为Workspace、Export As选择为Object、Variable Names设置为Hd,然后点击Export即可。
c、点击Export之后会在工作区中出现名称为Hd的df2sos变量。
d、在命令行窗口中直接输入以下代码即可使用滤波器。
效果如下: