MATLAB滤波器设计fdatool(filterDesigner)工具箱使用
程序员文章站
2022-05-21 09:30:43
...
MATLAB滤波器设计fdatool(filterDesigner)工具箱使用
MATLAB集成了一套功能非常强大的滤波器设计和分析工具FDAtool(新版为filterDesigner),它可以很方便的设计出一个滤波器,并且可以进行性能的分析。
以下操作使用的MATLAB环境是MATLAB R2018a
1、启动FDAtool工具箱,在命令行窗口中输入fdatool命令,打开FDAtool工具箱。
注:如果开始界面不是上图所示,则点击红色方框即可。
2、设计界面简单介绍:
1)Response Type(响应类型):有低通、高通、带通、带阻等设计。
2)Design Method(设计方法):有IIR和FIR两大类。
3)Filter Order(滤波器阶次):阶次可以根据自己的需要设定,也可以直接选择最小阶次。
4)Frequency Specifications(频率参数):根据自己所需要的参数进行设定。
例:设计一个一下参数的滤波器:
1)巴特沃斯低通滤波器。
2)阶数为10阶。
3)采样频率为:500Hz。
4)截止频率为:50Hz。
3、根据以上要求设计改变FDAtool工具箱中的参数,并且点击Design Filter,就会显示出所设计的滤波器。
4、可以查看滤波器的各项性能:
1)幅度响应:
2)相位响应:
3)冲击响应:
4)零极点图:
5、将设计好的滤波器导出matlab中。
(1)以.m文件的形式导出到matlab中:
1)点击file,然后选择Generate MATLAB Code -> Filter DesignFunction:
2)在当前文件目录中修改导出文件名为Filter_IIR.m,点击保存:
3)然后就可以看到已经设计好的滤波器代码。
4)调用设计好的滤波器:
在MATLAB中新建一个.m文件,然后在文件中添加如下代码:
%%
% 作者:明志
% 环境:MATLAB R2018a
y1 = rand(100,1);
figure('color',[1,1,1]);
subplot(2,1,1);
plot(y1);
title('滤波前波形');
%%
y2 = filter(Filter_IIR,y1); % 直接使用设计好的滤波器进行滤波,filter函数是滤波函数
subplot(2,1,2);
plot(y2);
title('滤波后波形');