MATLAB滤波器设计fdatool(filterDesigner)工具箱使用

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('滤波后波形');
就会得到如下图形:

在这里插入图片描述

(2)将滤波器导出到Workspace中:

1)点击File->Export,然后弹出选择窗口。

在这里插入图片描述

2)将Export to选择为Workspace、Export As选择为Object、Variable Names设置为Hd,然后点击Export即可。

在这里插入图片描述

3)点击Export之后会在工作区中出现名称为Hd的df2sos变量。

在这里插入图片描述

4)在命令行窗口中直接输入以下代码即可使用滤波器。

在这里插入图片描述

滤波前信号为:

在这里插入图片描述

滤波后信号为:

在这里插入图片描述

对于其他导出方式方法大同小异,只是加载的方式不同而已,读者可以自行尝试。
  • 141
    点赞
  • 730
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Matlab滤波器设计工具箱是一个信号处理工具箱中的组件,它包括了fdatoolFilter Design and Analysis Tool)和filter design toolbox。fdatool是专用的滤波器设计分析工具,可以设计几乎所有的基本的常规滤波器,包括fir和iir的各种设计方法。它操作简单、方便灵活。要在Matlab使用fdatool,可以在Matlab命令窗口中键入fdatool来运行该工具。具体的使用方法可以参考Matlab帮助文档中的Signal Processing Toolbox->FDATool部分。在使用fdatool时需要注意一些问题,比如阻带截止频率Fstop不能大于或等于采样频率Fs/2,这是由于数字滤波器设计的方式决定的。此外,你还可以导出设计好的滤波器,有两种方式可供选择,可以导出为滤波器系数变量,也可以导出为dfilt或mfilt滤波器对象变量。详细的说明可以参考Matlab帮助文档中的Signal Processing Toolbox->FDATool->Exporting a Filter Design部分。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [matlab设计滤波器工具箱,matlab工具箱设计滤波器](https://blog.csdn.net/weixin_36418584/article/details/115939310)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值