主要内容

filterBuilder

交互式过滤器设计

语法

filterBuilder (h)
filterBuilder ('响应”)

描述

filterBuilder启动用于构建过滤器的交互式工具。它依赖于fdesign面向对象-面向对象的过滤器设计范式,旨在减少过滤器设计过程中的开发时间。filterBuilder使用以规范为中心的方法为所需的响应寻找最佳算法。

请注意

您必须安装信号处理工具箱™才能使用fdesign而且filterBuilder.如果您的安装中没有额外包含DSP系统工具箱™,下面描述的一些功能可能不可用。您可以通过输入来验证这两个工具箱是否存在版本在命令提示符处。

有关如何使用的更多信息filterBuilder,请参阅过滤器构建器设计过程

使用filterBuilder,输入filterBuilder在MATLAB中®命令行,使用以下三种方法之一:

  • 只需输入filterBuilder.MATLAB打开一个对话框,让您选择一个过滤器响应类型。选择筛选器响应类型后,filterBuilder启动适当的过滤器设计对话框。

  • 输入filterBuilder (h),其中h为已存在的筛选器对象。例如,如果h是带通滤波器,filterBuilder (h)打开带通滤波器设计对话框。的h对象必须已使用filterBuilder或使用fdesign

    请注意

    您必须有DSP系统工具箱软件来创建和导入筛选系统对象。

  • 输入filterBuilder ('响应”)来代替响应使用来自下表的响应方法。MATLAB打开一个与指定响应对应的滤波器设计对话框。

请注意

您必须有DSP系统工具箱软件来实现下表中列出的一些滤波器设计。如果您只有“信号处理工具箱”软件,则可以设计以下筛选器响应类型的有限集合。

反应方法 最终滤波器设计的描述 过滤器对象
arbgrpdelay 任意组延迟滤波器设计 fdesign.arbgrpdelay(DSP系统工具箱)
arbmag 任意幅值滤波器设计 fdesign.arbmag(DSP系统工具箱)
arbmagnphase 任意响应滤波器(震级和相位) fdesign.arbmagnphase(DSP系统工具箱)
audioweighting 音频加权滤波器 fdesign.audioweighting(DSP系统工具箱)
带通英国石油公司 带通滤波器 fdesign.bandpass(DSP系统工具箱)
bandstop废话 Bandstop过滤器 fdesign.bandstop(DSP系统工具箱)
中投公司 CIC滤波器 fdesign.decimator (M,“中投”,…)fdesign.interpolator (L,“中投”,…)
看到fdesign.decimator(DSP系统工具箱)而且fdesign.interpolator(DSP系统工具箱)
ciccomp 中投公司补偿器 fdesign.ciccomp(DSP系统工具箱)
梳子 梳状滤波器 fdesign.comb(DSP系统工具箱)
diff 微分滤波器 fdesign.differentiator(DSP系统工具箱)
fracdelay 分数延迟滤波器 fdesign.fracdelay(DSP系统工具箱)
halfband乙肝 Halfband过滤器 fdesign.halfband(DSP系统工具箱)
高通滤波惠普 高通滤波器 fdesign.highpass(DSP系统工具箱)
hilb 希尔伯特过滤器 fdesign.hilbert(DSP系统工具箱)
isinc
isinclp,或
isinchp
逆sinc低通或高通滤波器 fdesign.isinclp(DSP系统工具箱)而且
fdesign.isinchp(DSP系统工具箱)
低通滤波器lp 低通过滤器(默认) fdesign.lowpass(DSP系统工具箱)
切口 陷波滤波器 fdesign.notch(DSP系统工具箱)
尼奎斯特 尼奎斯特过滤器 fdesign.nyquist(DSP系统工具箱)
倍频程 倍频程滤波器 fdesign.octave(DSP系统工具箱)
parameq 参数均衡器滤波器 fdesign.parameq(DSP系统工具箱)
峰过滤器 fdesign.peak(DSP系统工具箱)

请注意

由于它们不改变滤波器的结构,因此在使用时其量值规格和设计方法是可调的filterBuilder

过滤器构建器设计窗格

主设计面板

Filter Builder的主面板根据过滤器响应类型的不同而有所不同,但基本结构是相同的。对话框的基本布局如下图所示。

在为筛选器选择响应时,对话框中显示的可用选项和设计参数会发生变化。此显示允许您只关注在过滤器设计上下文中有意义的参数。

每个过滤器设计对话框都包括对话框顶部显示的选项,如下图所示。

  • 将变量保存为-当你点击应用应用您的更改或好吧要关闭此对话框,请按filterBuilder将当前过滤器保存到您的MATLAB工作区中,作为带有您输入的名称的过滤器对象。

  • 视图过滤器响应-通过打开过滤器可视化工具(FVTool).

请注意

filterBuilder对话框包含应用选择。每次点击应用filterBuilder将修改后的过滤器写入您的MATLAB工作空间。此修改后的筛选器具有您在其中分配的变量名将变量保存为.若要应用更改而不覆盖工作区中的变量,请更改中的变量名将变量保存为点击之前应用

Filter Builder对话框中有三个选项卡,包含三个窗格:主要数据类型,代码生成.第一个窗格根据所设计的过滤器而变化。最后两个窗格对于所有过滤器都是相同的。下面几节将讨论这些窗格。

数据类型窗格

Filter Builder对话框中的第二个选项卡如下图所示。

算术下拉框允许选择双精度单精度,或不动点.根据筛选器参数的不同,其中一些选项可能不可用。下表描述了这些选项。

算术列表条目 对过滤器的影响
双精度 所有的过滤操作和系数使用双精度,浮点表示和数学。当你使用filterBuilder要创建过滤器,双精度是算术属性的默认值。
单精度 所有的过滤操作和系数都使用单精度浮点表示和数学。
不动点 此条目为定点过滤器中的属性应用选定的默认值(通常在许多数字处理器上使用)。这些属性包括系数字长、分数长度和各种操作模式。此设置只允许带签名的固定数据类型。定点滤波器设计用filterBuilder仅当您安装定点设计器™软件和DSP系统工具箱软件时可用。

下图显示数据类型窗格后进行选择不动点算术并设置过滤器内部指定精度.此图显示了数据类型窗格的情况下使用System对象来实现过滤器复选框中未选中主要窗格。

当您选择使用System对象来实现过滤器的复选框。主要窗格中,数据类型面板显示如下:

并非下一节中描述的所有参数都适用于所有过滤器。例如,FIR滤波器没有输入部分而且部分输出参数。

输入信号

指定筛选器应用于要筛选的数据的格式。对于所有情况,filterBuilder实现使用二进制点缩放和有符号输入的过滤器。您可以根据需要设置单词长度和分数长度。

系数

选择如何指定字长度和过滤器分子和分母系数的分数长度:

  • 指定字长允许您以位为单位输入系数的字长。在此模式下,filterBuilder自动将系数的分数长度设置为仅为系数的值和字长提供最佳精度的二进制点缩放。

  • 二值点缩放允许您输入字长度和以位为单位的系数的分数长度。如果适用,为分子和分母系数分别输入分数长度。

  • 滤波器系数不服从舍入模式而且溢出模式选择时可用的参数指定精度从过滤器内部列表。系数总是饱和的,四舍五入到最近的

输入部分

选择如何指定进入SOS筛选器每个部分的定点数据类型的字长度和分数长度。仅当选择的过滤器结构为IIR和SOS时,此参数可见。

  • 二值点缩放允许您以位为单位输入字和分段长度。

  • 指定字长允许您以位为单位输入字的长度。

部分输出

选择如何指定SOS过滤器的每个部分输出的定点数据类型的字长度和分数长度。仅当选择的过滤器结构为IIR和SOS时,此参数可见。

  • 二值点缩放允许您输入以位为单位输出的节的字和分段长度。

  • 指定字长允许您以位为单位输入输出字的长度。

状态

包含筛选操作之前、期间和之后的筛选器状态。状态充当筛选运行或会话之间的筛选内存。使用此参数指定如何指定状态字和分数长度。此参数对于直接形式和直接形式I过滤器结构不可见,因为filterBuilder直接从输入格式推导状态。各州总是使用签名表示:

  • 二值点缩放允许您以位为单位输入字长度和累加器的分数长度。

  • 指定精度允许您以位为单位输入字长度和分数长度(如果可用)。

产品

确定过滤器如何处理产品操作的输出。从以下选项中选择:

  • 完整的精度-保持结果的完全精度。

  • 保持LSB—当需要缩短数据字时,保留结果中最不有效的位。

  • 指定精度-允许您设置乘法输出所使用的精度(分数长度)。

过滤器内部

指定定点过滤器如何在过滤器内执行算术运算。受影响的过滤器部分是过滤器乘积、和、状态和输出。s manbetx 845选择以下选项之一:

  • 完整的精度-指定过滤器在产品、输出和累加器的所有计算中保持全精度。s manbetx 845

  • 指定精度—设置应用于产品操作结果、过滤器输出和累加器的字和分数长度。选择此选项可启用字和分数长度控件。

签署

选择此选项指示过滤器对过滤器系数使用有符号表示。

字长

设置相关过滤器参数的字长度(以位为单位)。

部分长度

以位为单位设置关联过滤器参数的片段长度。

Accum

使用此参数指定您希望如何指定累加器字和分数长度。

确定累加器如何输出所存储的值。从以下选项中选择:

  • 完整的精度-在累加器中保持完整的精度。

  • 保持最高有效位-在累加器中保留最重要的位。

  • 保持LSB—当需要缩短数据字时,将最低有效位保留在累加器中。

  • 指定精度-允许您设置累加器使用的精度(分数长度)。

输出

设置过滤器用于在过滤后缩放输出数据的模式。你有以下选择:

  • 避免溢出—设置输出数据分片长度,避免数据溢出。避免溢出被认为是保守设置,因为它与输入数据值和范围无关。

  • 最好的精度—设置输出数据的分数长度,使输出数据的精度最大化。

  • 指定精度—设置过滤后的数据使用的分数长度。

定点运行参数

该组中的参数控制筛选器如何舍入定点值以及如何处理溢出的值。

舍入模式

当数值位于数据格式(字和分数长度)的可表示值之间时,设置过滤器用于量化数值的模式。

  • 装天花板-四舍五入到正无穷。

  • 收敛-四舍五入到最接近的可表示整数。四舍五入到最近的偶数存储整数。这是该软件中可用的方法中偏差最小的。

  • 0 /修复-四舍五入到零。

  • 地板上-四舍五入到负无穷。

  • 最近的-绕到最近的方向。接近正无穷。

  • -绕到最近的方向。负数趋近于负无穷,正数趋近于正无穷。

你所做的选择影响除了系数值和输入数据之外的一切。在大多数情况下,产品不会溢出—s manbetx 845它们保持完全的精度。

溢出模式

在定点算法中设置过滤器用于响应溢出条件的模式。从以下选项中选择:

  • 饱和-将输出限制为最大的正或负可表示值。

  • 包装-使用模块化算法将溢出值设置为最近的可表示值。

你所做的选择影响除了系数值和输入数据之外的一切。在大多数情况下,产品不会溢出—s manbetx 845它们保持完全的精度。

求和前抛掷

指定在执行和运算之前是否将数值数据转换为适当的累加器格式。选择求和前抛掷确保受影响的和运算的结果与大多数数字信号处理器上的结果最接近。在求和之前执行强制转换操作会添加一到两个额外的量化操作,这些量化操作可以向筛选结果添加错误源。

如果你清除求和前抛掷,过滤器防止加数在加法操作之前转换为和格式。选择此设置可从求和中获得最准确的结果,而无需考虑过滤器可能使用的硬件。引用的输入格式求和前抛掷这取决于您使用的过滤器结构。

清除:清除或选择的效果求和前抛掷具体如下:

  • 已清除-配置过滤器求和操作,以从上一个操作中携带的格式保留加数。

  • 选中-配置过滤器求和操作,在执行求和操作之前将加数的输入格式转换为与求和输出格式匹配。通常,选择求和前抛掷从求和中生成与数字信号处理器发现的结果更接近的结果。

代码生成窗格

代码生成窗格包含已完成筛选器设计的各种实现的选项。根据您的安装,您可以从设计的过滤器中生成MATLAB、VHDL和Verilog代码。您还可以选择创建或更新一个Simulink万博1manbetx®模型来自设计的滤波器。下一节将解释这些选项。

高密度脂蛋白

有关此选项的更多信息,请参见从过滤器构建器中打开过滤器设计HDL编码器UI(过滤器设计HDL编码器)

MATLAB

根据滤波器规格生成MATLAB代码

  • 生成函数,该函数将您的过滤器作为输出返回

    选择此选项将生成一个函数,该函数将用于设计筛选器对象fdesign

  • 生成过滤数据的函数

    选择此选项将生成一个函数,该函数接受数据作为输入,并输出使用设计的过滤器过滤的数据。控件中的数据类型设置过滤器输出的数据类型数据类型窗格。

点击生成MATLAB代码按钮,弹出“保存文件”对话框。指定文件名和位置,然后保存。过滤器现在包含在一个可编辑文件中。

万博1manbetx仿真软件模型

从您设计的过滤器中万博1manbetx生成Simulink块和子系统

当你点击生成模型,过滤器构建器从您设计的过滤器生成Simulink块和子系统。万博1manbetx

点击生成模型按钮打开导出到Simulink对话框。万博1manbetx

  • 块名称—新子系统块的名称,设置为过滤器默认情况下。

  • 目的地- - - - - -当前的将生成的模型保存到当前的Simulink模型。万博1manbetx创建一个新模型以包含生成的块。用户定义的中指定的位置创建新模型或子系统用户定义的

  • 覆盖生成的'Filter'块中指定的名称覆盖现有的块块名称.清除此复选框可创建具有相同名称的新块。

  • 使用基本元素构建模型-仅使用基本块构建模型。

  • 优化为零增益-从模型中移除所有零增益块。

  • 优化统一增益-将所有的统一收益替换为直接连接。

  • 优化负收益移除所有负单位增益块,并更改最近的求和块的符号。

  • 优化延迟链-替换由。组成的延迟链n单位延迟与单延迟byn

  • 优化统一尺度值-从过滤器结构中删除所有缩放值乘以1。

  • 输入处理—指定生成的过滤块或子系统块如何处理输入。根据你设计的过滤器的类型,可能有以下一种或两种选择:

    • 列作为通道(基于框架)-块将输入的每一列视为单独的通道。

    • 作为通道的元素(基于示例)-块将输入的每个元素视为单独的通道。

    有关基于样本和基于框架的处理的更多信息,请参见基于样本和框架的概念(DSP系统工具箱)

  • 实现模型-根据设定的参数建立模型。

使用System对象来实现过滤器复选框主要窗格中,生成模型按钮中的万博1manbetx仿真软件模型面板在以下情况下是禁用的:

  • 选择滤波器响应作为梳子而且算术数据类型窗格中,不动点

  • 选择滤波器响应作为任意的响应脉冲响应作为信息检索,设置将响应指定为要么量级和相位频率响应,算术数据类型窗格中,不动点

这些设置设计了dsp。信息检索过滤器具有定点算法的系统对象™。生成定点的Simulink万博1manbetx模型dsp。信息检索过滤器对象不支持。万博1manbetx

滤波器响应

选择筛选器响应filterBuilder反应选择主菜单。

如果您有DSP系统工具箱软件,请执行以下操作反应选择菜单出现。

从菜单中选择您想要的过滤器响应,并设计您的过滤器。

以下部分描述每种响应类型的可用选项。

任意响应过滤器设计-主面板

过滤器规格

响应规范

带属性

算法

滤波器的实现

音频加权过滤器设计-主窗格

过滤器规格

算法

滤波器的实现

带通滤波器设计-主面板

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

带阻滤波器设计-主面板

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

CIC过滤器设计-主面板

过滤器规格

频率的规范

大小规格

CIC补偿器设计-主面板

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

梳状过滤器设计-主面板

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

分压器过滤器设计-主面板

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

分数延迟设计-主窗格

频率的规范

半波段滤波器设计-主面板

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

高通滤波器设计-主面板

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

希尔伯特过滤器设计-主要窗格

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

逆正弦滤波器设计-主面板

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

低通滤波器设计-主面板

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

Nyquist过滤器设计-主窗格

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

八度滤波器设计-主窗格

过滤器规格

算法

滤波器的实现

参数均衡器滤波器设计-主面板

过滤器规格

频率的规范

获得规范

算法

滤波器的实现

峰值/陷波滤波器设计-主面板

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

脉冲整形过滤器设计-主面板

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

在R2009a中引入