Matlab滤波器设计:滤波器设计工具的使用方法
Matlab滤波器设计:滤波器设计工具的使用方法
一、滤波器设计工具整体简介
!! ✨ Matlab版本为R2022b,与以前的版本兼容。本文摘录汇总于:滤波器设计工具简介 - MATLAB & Simulink Example - MathWorks 中国。
本文展示了如何使用Matlab自带的滤波器设计工具filterDesigner
进行滤波器设计,使得我们从命令行滤波器设计函数中脱离出来,从而开展模型化的FIR或IIR滤波器设计工作,其具有的主要功能如下所示:
- 滤波器性能的设置;
- 从Matlab工作区导入滤波器;
- 通过添加、移动或删除零/极点来快速设计数字FIR或IIR滤波器;
- 对滤波器进行分析,比如幅值、相位响应图以及零极点图等。
其启动方法在命令行输入filterDesigner
,即可快速启动Matlab的滤波器设计工具如下图所示,其主要包括三个区域:
- 当前滤波器信息区域: 用于显示滤波器属性,包括滤波器结构、阶数、使用的节数以及滤波器的稳定性等信息;
- 滤波器显示区域: 用于显示滤波器的各种响应,比如幅值、相位、群延迟以及滤波器系数等;
- 滤波器设计区域: 设置滤波器参数信息。
二、滤波器设计
这里以一个FIR等波纹低通滤波器的设计为例,使得所有小于等于奈奎斯特频率20%的频率通过,并衰减大于或等于奈奎斯特频率50%的频率,具体的设置如下所示:
根据设计滤波器器的需求,设置如下图所示的内容:
完成上图所示的设置后,点击下面的设计滤波器即可完成滤波器的设计。
点击分析工具栏中如下所示的幅值响应与相位响应图标
可以得到设计滤波器的幅值、脉冲响应结果如下图所示:
三、滤波器设计工具的常用操作汇总
滤波器设计工具的常用操作汇总包括如下内容:
- 滤波器分析工具快捷键
- 更改轴单位与标记数据点
- 更改分析参数
(1)滤波器分析工具快捷键
完成滤波器设计后,如下图所示,我们可以通过点击工具栏上的快捷按钮来实现滤波器分析:
比如对于一个设计好的滤波器其幅值响应、相位响应如下图所示:
(2)更改轴单位与标记数据点
通过在滤波器显示区域中,在轴坐标上点击鼠标右键,我们就可以更改x轴或y轴的单位。如下图所示,以y轴为例,其坐标轴单位包括四种类型:
另外,我们还可以通过鼠标左键点击滤波器显示区域中的任意点来添加数据标记,来现实该点的值。我们还可以通过右键点击标记,在弹出对话菜单进行诸如移动、删除、或导入工作区等操作:
(3)更改分析参数
通过在绘图上右键点击并选择分析参数
,如下图所示,可以显示用于更改特定于分析的参数的对话框。
四、导出滤波器、生成Matlab文件以及导出为Simulink模型
对于滤波器设计工具中设计好的滤波器,我们可以将其转换如下三种形式,以便后续进一步处理:
- 导出滤波器到Matlab工作区、Mat文件、文本文件中;
- 生成Matlab文件;
- 导出为Simulink模型。
(1)导出滤波器
如果我们需要对设计好的滤波器做后续分析处理,则可以将其导出到如下所示的目标位置:
- Matlab工作区
- Mat文件
- 文本文件
以第二部分设计的滤波器为例,将其系数(分子部分)导入到Matlab工作区。其步骤为依次点击文件
导出
,弹出如下菜单:
点击导出,如下图所示,即可将第二部分设计的滤波器导入到Matlab工作区中,这样我们就可以对其进行进一步的处理。
其中导出到
包括如下三个选项:
- 工作区:将滤波器导入到Matlab工作区;
- Coefficient File (ASCII):将滤波器导入文本文件;
- MAT-File:将滤波器导入Mat文件。
其中导出为
包括如下三个选型:
- 系数:导出滤波器系数;
- 对象:导出滤波器对象;
- System Object:导出滤波器为System Object。
(2)生成Matlab代码文件
通过滤波器设计工具,我们还可以将设计的滤波器直接生成Matlab代码,以便将设计的滤波器嵌入到现有的代码中。
从文件
菜单中选择生成MATLAB代码
,然后选择滤波器设计函数
,并在生成MATLAB代码
对话框中指定文件名,比如fir_lowpass
,生成的代码如下图所示:
我们通过该函数就可以指令Lowpass_filter=fir_lowpass
来构造低通滤波器对象了。比如我们在命令行中输入Lowpass_filter=fir_lowpass
然后执行,就可以得到一个低通滤波器对象如下图所示:
(3)导出为Simulink模型
通过依次点击文件
导出到Simulink模型
,如下图所示,则在模型设计区域弹出模型参数设置界面:
在弹出界面中,我们将生成的Simulink模块名称修改为fir_lowpass
,其他的保持默认,然后点击实现模型
。如下图所示,即可将设计的滤波器导出为Siumulink模型:
四、滤波器设计工具的其他高级功能
(1)目标菜单的使用
通过滤波器设计中的目标
菜单,我们可以生成生成如下各种类型的代码来表示设计好的滤波器:
C
头文件;- XILINX系数(COE)文件;
- VHDL、Verilog文件;
(2)与其他工具箱的交互
滤波器设计工具还与如下的其他工具箱进行交互的功能:
DSP System Toolbox
:增加高级FIR和IIR设计方法,例如,滤波器变换、多速率滤波器,还可以为滤波器生成等效模型;Embedded Coder
:为Texas Instruments C6000 处理器生成、编译与部署代码;Filter Design HDL Coder
:为定点滤波器生成可合成的VHDL或Verilog代码;Simulink
:从原子Simulink模块生成滤波器。
相关文章
- java监控JVM的内存使用情况等
- java中生成和验证jwt
- java中延时队列的使用
- 2022DataGrip激活码(2022DataGrip最新激活码)2022DataGrip激活码
- 网络设备的运行隐患怎么排除?日常的例行维护绝对不能少,收藏本文,轻松拿捏各种场景
- 2022dotMemory激活码(2022dotMemory最新激活码)2022dotMemory激活码
- java服装经销系统服装进销系统
- java和vue车辆管理系统车管所系统
- 前端入门教程:CSS标准盒模型和怪异盒模型区别
- 腾讯开源的 hel 提供了加载远程模块的能力,谈谈它的实现原理
- 错误代码0x800b010a
- 领取10个JetBrains IDE激活许可证,全家桶通用支持所有版本,随时更新随时换!
- JetBrains 正式版激活码,有效期至2023-07-26,配合插件可破解2018-2021版本的IDE
- 2022 年最适合编程的 6 种字体
- 2021 年最适合编程的 6 种字体
- 推荐一个更好的nvidia-smi,用于多人集群按照用户名查看GPU使用情况
- 第116期:高德地图绘制热力图遇到的一个问题
- 第117期:Dart的基本知识(变量的声明)
- 第119期:程序员、建造师和剪辑师的异同
- 第121期:第二次CodeReview梳理的几个问题