交互式过滤器设计
filterBuilder (h)
filterBuilder ('回复
')
filterBuilder
启动构建过滤器的交互式工具。它依赖于F设计
面向对象面向对象过滤器设计范式,旨在减少过滤器设计过程中的开发时间。filterBuilder
使用以规范为中心的方法来为期望的响应找到最佳算法。
请注意
您必须安装用于使用的信号处理工具箱™F设计
和filterBuilder
.如果您的安装不额外包含DSP系统工具箱™,则可能无法使用下面描述的一些功能。您可以通过输入来验证这两个工具箱的存在ver
在命令提示符处。
有关如何使用的详细信息,请参阅filterBuilder
,请参阅滤清器设计流程.
使用filterBuilder
,输入filterBuilder
在MATLAB®命令行使用以下三种方法之一:
只需输入filterBuilder
.MATLAB打开一个对话框供您选择过滤器响应类型。选择筛选器响应类型后,filterBuilder
启动适当的过滤器设计对话框。
进入filterBuilder (h)
,其中h是一个已存在的过滤器对象。例如,如果h
是一个带通滤波器,filterBuilder (h)
打开带通滤波器设计对话框。的h
对象必须是使用创建的filterBuilder
或使用F设计
.
请注意
您必须有DSP系统工具箱软件来创建和导入过滤系统对象。
进入filterBuilder ('
来代替回复
')回复
使用下表的响应方法。MATLAB打开一个过滤器设计对话框,该对话框对应于指定的响应。
请注意
你必须有DSP系统工具箱软件来实现下表中列出的滤波器设计。如果您只有信号处理工具箱软件,您可以设计以下滤波器响应类型的有限集。
反应方法 | 结果滤波器设计的描述 | 过滤器对象 |
---|---|---|
arbgrpdelay | 任意群延迟滤波器设计 | fdesign.arbgrpdelay. |
arbmag. | 任意幅值滤波器设计 | fdesign.arbmag |
arbmagnphase | 任意响应滤波器(幅值和相位) | fdesign.arbmagnphase |
经济威士忌 | 音频加权滤波器 | 设计音频加权 |
带通或英国石油公司 |
带通滤波器 | fdesign.Bandpass |
带阻或废话 |
Bandstop过滤器 | fdesign.bandstop |
中投公司 | CIC滤波器 | fdesign.decimator(m,'cic',...) 或fdesign.interpolator (L,“中投”,…) 看到 fdesign.decimator 和fdesign.interpolator |
ciccomp | 中投公司补偿器 | fdesign.ciccomp |
梳子 | 梳状滤波器 | F设计梳 |
diff | 微分滤波器 | fdesign.differentiator |
fracdelay | 分数延迟滤波器 | 设计延迟 |
halfband或乙肝 |
Halfband过滤器 | fdesign.halfband |
高通或惠普 |
高通滤波器 | fdesign.highpass |
hilb | 希尔伯特过滤器 | fdesign.hilbert |
isinc., isinclp.,或 isinchp |
逆SIND低通或高通滤波器 | fdesign.isinclp. 和fdesign.isinchp |
低通滤波器或lp |
低通滤波器(默认) | fdesign.lowpass |
切口 | 陷波滤波器 | fdesign.notch |
尼奎斯特 | 奈奎斯特滤波器 | fdesign.nyquist.nyquist.nyquist.nyquist.nyquist.nyquist.nyquist.nyquist.nyquist |
octave. | 倍频程滤波器 | fdesign.octave |
parameq | 参量均衡器滤波器 | fdesign.parameq |
峰 | 峰过滤器 | fdesign.peak. |
请注意
因为它们不改变滤波器的结构,所以在使用时大小规格和设计方法是可调的filterBuilder
.
Filter Builder的主窗格因过滤器响应类型的不同而不同,但基本结构是相同的。下图显示了对话框的基本布局。
当您为筛选器选择响应时,对话框中显示的可用选项和设计参数就会改变。此显示允许您只关注在过滤器设计上下文中有意义的参数。
每个过滤器设计对话框包括显示在对话框顶部的选项,如下图所示。
将变量保存为-当你点击应用应用您的更改或好吧要关闭此对话框,filterBuilder
将当前的过滤器保存到MATLAB工作空间中,作为带有您输入的名称的过滤器对象。
视图滤波器响应-通过打开过滤器可视化工具(FVTool.).
请注意
的filterBuilder
对话框包括一个应用选择。每次点击应用,filterBuilder
将修改后的过滤器写入MATLAB工作区。这个修改过的过滤器具有您在其中分配的变量名将变量保存为.要在不覆盖您工作区中的变量的情况下应用更改,请更改变量名称将变量保存为在单击之前应用.
在Filter Builder对话框中有三个选项卡,包含三个窗格:主要,数据类型,代码生成.第一个窗格根据所设计的过滤器进行更改。所有过滤器的最后两个窗格都是相同的。以下部分讨论了这些窗格。
Filter Builder对话框中的第二个选项卡如下图所示。
的算术下拉框允许选择双精度
,单精度
,或固定点
.根据过滤器参数的不同,其中一些选项可能不可用。下表描述了这些选项。
算术列表条目 | 对过滤器的影响 |
---|---|
双精度 |
所有过滤操作和系数都使用双精度,浮点表示和数学。当你使用时filterBuilder 要创建过滤器,双精度 是算术属性的默认值。 |
单精度 |
所有过滤操作和系数都使用单精度浮点表示和数学。 |
固定点 |
此条目应用于许多数字处理器上通常使用的选定默认值,用于固定点过滤器中的属性。这些属性包括系数字长度,分数长度和各种操作模式。此设置仅允许签名的固定数据类型。固定点滤波器设计filterBuilder 仅在安装定点设计器时可用™ 软件以及DSP系统工具箱软件。 |
下图显示了数据类型选择后的窗格固定点
为算术并设置过滤器内部到指定精度
.这个数字显示了数据类型窗格,用于使用System对象来实现过滤器复选框未选择主要窗格。
当您选择使用System对象来实现过滤器复选框中的主要窗格中,数据类型窗格显示如下:
并非下一节中描述的所有参数都适用于所有过滤器。例如,FIR滤波器没有输入部分和截面输出参数。
指定筛选器对要筛选的数据应用的格式。在所有情况下,filterBuilder
实现使用二进制点缩放和有符号输入的过滤器。您可以根据需要设置单词长度和分数长度。
选择你如何指定单词长度和过滤器分子和分母系数的分数长度:
指定字长
允许您输入以比特为单位的系数的字长。在这种模式下,filterBuilder
自动将系数的分数长度设置为仅按二值点缩放,这为系数的值和字长提供了可能的最佳精度。
二进制扩展点
使您可以进入位中系数的单词长度和分数长度。如果适用,请输入分号和分母系数的单独分数长度。
过滤器系数不会遵守舍入模式和溢出模式选择时可用的参数指定精度
从Filter internals列表中。系数总是饱和的,四舍五入最近的
.
选择如何在SOS过滤器的每个部分中指定单词长度和分数长度。仅当选择的过滤结构为IIR和SOS时,此参数才可见。
二进制扩展点
使您可以输入输入的部分的单词和分数长度。
指定字长
允许您以位为单位输入单词长度。
选择如何指定来自SOS筛选器每个部分的定点数据类型的单词长度和分数长度。仅当选择的过滤结构为IIR和SOS时,此参数才可见。
二进制扩展点
允许您以位为单位输入段输出的字和分数长度。
指定字长
允许您以位为单位输入输出字的长度。
在过滤操作之前,期间和之后包含过滤器状态。默认运行或会话之间的过滤器内存。使用此参数指定如何指定状态字和分数长度。此参数不可见,可直接表格和直接表格I过滤器结构,因为filterBuilder
直接从输入格式推断状态。状态总是使用signed表示:
二进制扩展点
允许您以位为单位输入累加器的字长和分数长度。
指定精度
允许您输入以比特为单位的单词长度和分数长度(如果可用)。
确定筛选器如何处理产品操作的输出。从以下选项中选择:
全精度
-保持结果的精确性。
保持LSB
-当需要缩短数据字时,在结果中保留最低有效位。
指定精度
-允许您设置乘法输出使用的精度(分数长度)。
指定定点筛选器在筛选器中执行算术运算的方式。受影响的筛选器部分包括筛选器乘积、总和、状态和输出。请选择以下选项之一:s manbetx 845
全精度
- 指定滤波器在所有计算中保持完整精度,用于产品,输出和累加器中的所有计算。s manbetx 845
指定精度
-设置应用于产品操作结果、过滤器输出和累加器的字和分数长度。选择此选项可启用单词和分数长度控件。
选择此选项会使过滤器指示过滤器系数的签名表示。
设置相关过滤器参数的字长(以位为单位)。
设置位的关联滤波器参数的分数长度。
使用此参数指定希望如何指定累加器单词和分数长度。
确定累加器如何输出存储的值。从下列选项中选择:
全精度
-保持蓄电池的全精度。
保持最高有效位
—保留累加器中的最高有效位。
保持LSB
—当需要缩短数据字时,将最低有效位保留在累加器中。
指定精度
—允许设置累加器使用的精度(分数长度)。
设置过滤器用于过滤后缩放输出数据的模式。你有以下选择:
避免溢出
- 设置输出数据分数长度,以避免导致数据溢出。避免溢出
被认为是保守设置,因为它独立于输入数据值和范围。
最好的精确度
—设置输出数据的分数长度,使输出数据的精度最大化。
指定精度
—设置过滤数据使用的分数长度。
此组中的参数控制过滤器如何舍入定点值以及它如何处理溢出的值。
设置当数值介于数据格式的可表示值(字和分数长度)之间时,过滤器用于量化数值的模式。
(用熟石膏、木板等)装天花板
-向正无穷方向旋转。
收敛
- 舍入到最接近的可代表整数。围绕到最近的偶数存储的整数。这是本软件中可用的方法的最少偏置。
0 /修复
-接近零。
地板上
-趋近于负无穷。
最近的
-向最近的方向转。趋向正无穷。
圆形的
-向最近的方向转。对于负数,趋向于负无穷,对于正数,趋向于正无穷。
您所做的选择会影响除系数值和始终四舍五入的输入数据之外的所有内容。在大多数情况下,产品不会溢出,因为它们可以保持完全的精度。s manbetx 845
设置过滤器在定点算法中用于响应溢出条件的模式。从下列选项中选择:
饱和
-限制输出到最大的正或负的可表示值。
包装
-使用模数算法将溢出值设置为最接近的可表示值。
您所做的选择会影响除系数值和始终四舍五入的输入数据之外的所有内容。在大多数情况下,产品不会溢出,因为它们可以保持完全的精度。s manbetx 845
指定在执行和操作之前是否将数值数据转换为适当的累加器格式。选择在剩余之前演员确保受影响的和操作的结果最密切地匹配大多数数字信号处理器上的结果。在求和之前执行展览操作添加一个或两个可以将错误源添加到筛选结果的额外量化操作。
如果你清楚的话在剩余之前演员,该过滤器防止加数在进行加法操作之前被转换为sum格式。选择此设置可以从求和中获得最准确的结果,而无需考虑过滤器可能使用的硬件。引用的输入格式在剩余之前演员这取决于你使用的过滤器结构。
清除或选择的效果在剩余之前演员如下:
清除-配置过滤器和操作,以保留前一个操作带来的格式的加数。
选定-配置过滤器求和操作,在执行求和操作之前,将加数的输入格式转换为与求和输出格式匹配。通常,选择在剩余之前演员从求和得到的结果更接近数字信号处理器的结果。
代码生成窗格包含用于已完成筛选器设计的各种实现的选项。根据您的安装情况,您可以从设计的过滤器生成MATLAB、VHDL和Verilog代码。您还可以选择创建或更新Simulink万博1manbetx®来自设计过滤器的型号。以下部分解释了这些选项。
有关此选项的更多信息,请参见从过滤器构建器打开过滤器设计HDL编码器UI(Filter Design HDL编码器).
基于过滤器规范生成MATLAB代码
生成将过滤器作为输出返回的函数
选择此选项将生成一个函数,该函数使用F设计
.
生成过滤数据的函数
选择此选项将生成一个函数,该函数将数据作为输入,并输出使用设计的过滤器过滤的数据。属性中的数据类型设置筛选器输出的数据类型数据类型窗格。
点击生成matlab代码按钮,带来保存文件对话框。指定文件名和位置,保存。过滤器现在包含在可编辑文件中。
从设计过滤器生成S万博1manbetximulink块和子系统
当你点击生成模型,过滤器构建器从设计过滤器生成Simulink块和子系统。万博1manbetx
点击生成模型按钮打开“导出到Simulink”对话框。万博1manbetx
块名—新增子系统块的名称,设置为筛选默认情况下。
目的地- - - - - -当前的
将生成的模型保存到当前Simulink模型。万博1manbetx新的
创建一个新模型以包含生成的块。用户定义的
中指定的位置创建新模型或子系统用户定义的
.
覆盖生成的'Filter'块—使用中指定的名称覆盖已存在的块块名.清除此复选框可创建具有相同名称的新块。
使用基本元素构建模型-仅使用基本块构建模型。
优化零收益-从模型中移除所有零增益块。
优化以获得统一收益-将所有单位增益替换为直接连接
优化负增益-移除所有负的单位增益块,并改变最近的求和块的符号。
优化延迟链-替换由以下组件组成的延迟链:n单位延迟单一延迟n.
优化单位比例值-从过滤器结构中删除所有比例值乘以1。
输入处理—指定生成的过滤块或子系统块如何处理输入。根据你所设计的滤镜的类型,下列一种或两种选择可能是可用的:
列作为通道(基于帧)
-块将输入的每一列作为一个单独的通道。
作为通道的元素(基于样本)
-块将输入的每个元素作为一个单独的通道。
有关基于样本和基于帧的处理的详细信息,请参见基于样本和框架的概念.
实现模型-使用设置的参数构建模型。
当。。。的时候使用System对象来实现过滤器复选框中被选中主要窗格中,生成模型按钮在万博1manbetx仿真软件模型面板在以下情况下被禁用:
选择过滤响应作为梳子
和算术上数据类型窗格固定点
.
选择过滤响应作为任意响应
,脉冲响应作为IIR.
,设置指定响应作为到任一大小和阶段
或频率响应
,算术上数据类型窗格固定点
.
这些设置设计了一个dsp.iirfilter
系统对象™与定点算法。生成定点的Simulink万博1manbetx模型dsp.iirfilter
对象不受支持。万博1manbetx
选择您的过滤器响应filterBuilder
反应选择主菜单。
如果您有DSP系统工具箱软件,请执行以下操作反应选择菜单出现。
从菜单中选择您想要的过滤器响应并设计过滤器。
以下部分描述每种响应类型的可用选项。