filterBuilder

交互式滤波器设计

语法

filterBuilder (h)
filterBuilder ('回答')

描述

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

请注意

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

有关如何使用的详细信息,请参阅filterBuilder,请参阅滤清器设计流程

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

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

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

    请注意

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

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

请注意

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

反应方法 结果过滤器设计说明 过滤器对象
arbgrpdelay 任意群延迟滤波器设计 fdesign.arbgrpdelay
arbmag 任意幅值滤波器设计 fdesign.arbmag
arbmagnphase 任意响应滤波器(幅值和相位) fdesign.arbmagnphase
audioweighting 音频加权滤波器 设计音频加权
带通英国石油公司 带通滤波器 fdesign.bandpass
带阻废话 Bandstop过滤器 fdesign.bandstop
中投公司 CIC滤波器 F设计抽取器(M,'cic',…)fdesign.interpolator (L,“中投”,…)
看到fdesign.decimatorfdesign.interpolator
ciccomp 中投公司补偿器 fdesign.ciccomp
梳子 梳状滤波器 fdesign.comb
diff 微分滤波器 fdesign.differentiator
fracdelay 分数延迟滤波器 fdesign.fracdelay
halfband乙肝 Halfband过滤器 fdesign.halfband
高通滤波惠普 高通滤波器 fdesign.highpass
hilb 希尔伯特过滤器 fdesign.hilbert
isinc
isinclp,或
isinchp
逆sinc低通或高通滤波器 fdesign.isinclp
fdesign.isinchp
低通滤波器lp 低通滤波器(默认) fdesign.lowpass
切口 陷波滤波器 fdesign.notch
尼奎斯特 尼奎斯特过滤器 fdesign.nyquist
倍频程 倍频程滤波器 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时,此参数才可见。

  • 二进制扩展点允许您以位为单位输入段输出的字和分数长度。

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

状态

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

  • 二进制扩展点允许您输入以比特为单位的单词长度和累加器的分数长度。

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

产品

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

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

  • 保持LSB-当需要缩短数据字时,在结果中保留最低有效位。

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

过滤器内部

指定定点筛选器在筛选器中执行算术运算的方式。受影响的筛选器部分包括筛选器乘积、总和、状态和输出。请选择以下选项之一:下载188bet金宝搏

  • 全精度-指定过滤器在产品、输出和累加器的所有计算中保持完全精度。下载188bet金宝搏

  • 指定精度-设置应用于product操作结果、过滤器输出和累加器的单词和分数长度。选择此选项将启用单词和分数长度控制。

签署

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

字长

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

分数长度

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

Accum

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

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

  • 全精度-保持蓄电池的全精度。

  • 保持最高有效位—保留累加器中的最高有效位。

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

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

输出

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

  • 避免溢出—设置输出数据的分数长度,避免数据溢出。避免溢出被认为是保守设置,因为它独立于输入数据值和范围。

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

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

定点操作参数

这个组中的参数控制过滤器如何舍入定点值以及如何处理溢出的值。

舍入模式

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

  • 装天花板-向正无穷方向旋转。

  • 收敛-四舍五入到最近的可表示整数。四舍五入到最近的偶数存储整数。这是这个软件中最不偏颇的方法。

  • 0 /修复-接近零。

  • 地板上-趋近于负无穷。

  • 最近的-向最近的方向转。趋向正无穷。

  • 圆形的-向最近的方向转。对于负数,趋向于负无穷,对于正数,趋向于正无穷。

你所做的选择会影响所有的东西,除了系数值和输入数据,它们总是四舍五入的。在大多数情况下,产品不会溢出—下载188bet金宝搏—它们保持了完全的精度。

溢出模式

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

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

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

你所做的选择会影响所有的东西,除了系数值和输入数据,它们总是四舍五入的。在大多数情况下,产品不会溢出—下载188bet金宝搏—它们保持了完全的精度。

先决条件

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

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

清除或选择的效果先决条件如下:

  • 清除-配置过滤器和操作,以保留前一个操作带来的格式的加数。

  • 选定-配置过滤器求和操作,在执行求和操作之前,将加数的输入格式转换为与求和输出格式匹配。通常,选择先决条件从求和得到的结果更接近数字信号处理器的结果。

代码生成窗格

代码生成窗格包含用于已完成筛选器设计的各种实现的选项。根据您的安装情况,您可以从设计的过滤器生成MATLAB、VHDL和Verilog代码。您还可以选择创建或更新Simulink金宝app®从设计的过滤器中选择模型。以下部分解释这些选项。

高密度脂蛋白

有关此选项的更多信息,请参见从Filter Builder中打开Filter Design HDL Coder UI(Filter Design HDL编码器)。

MATLAB

生成基于滤波器规范的MATLAB代码

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

    选择此选项将生成一个函数,该函数使用fdesign

  • 生成过滤数据的函数

    选择此选项将生成一个函数,该函数将数据作为输入,并输出使用设计的过滤器过滤的数据。属性中的数据类型设置筛选器输出的数据类型数据类型窗玻璃

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

金宝app仿真软件模型

从您设计的过滤器生金宝app成Simulink块和子系统

当你点击生成模型,过滤器生成器从您设计的过滤器生成Simulink块和子系统。金宝app

点击生成模型按钮打开“导出到Simulink”对话框。金宝app

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

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

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

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

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

  • 优化以获得统一收益-将所有单位增益替换为直接连接

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

  • 优化延迟链-取代由n单位延迟与单延迟n

  • 优化单位比例值-从过滤器结构中删除所有比例值乘以1。

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

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

    • 作为通道的元素(基于样本)-块将输入的每个元素作为一个单独的通道。

    有关基于样本和基于框架的处理的更多信息,请参见基于样本和框架的概念

  • 实现模型-使用设置的参数构建模型。

使用System对象来实现过滤器复选框中被选中主要窗格中,生成模型按钮金宝app仿真软件模型面板在以下情况下被禁用:

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

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

这些设置设计了一个dsp。信息检索过滤器系统对象™与定点算法。生成定点的Simulink金宝app模型dsp。信息检索过滤器对象不受支持。金宝app

滤波器响应

选择您的过滤器响应filterBuilder响应选择主菜单。

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

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

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

任意响应过滤器设计-主窗格

过滤器规格

响应规范

带属性

算法

过滤器实现

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

过滤器规格

算法

过滤器实现

带通滤波器设计-主窗格

过滤器规格

频率的规范

震级规格

算法

过滤器实现

带阻滤波器设计-主窗格

过滤器规格

频率的规范

震级规格

算法

过滤器实现

CIC过滤器设计-主窗格

过滤器规格

频率的规范

震级规格

CIC补偿器设计-主窗格

过滤器规格

频率的规范

震级规格

算法

过滤器实现

梳状过滤器设计-主窗格

过滤器规格

频率的规范

震级规格

算法

过滤器实现

微分器过滤器设计-主窗格

过滤器规格

频率的规范

震级规格

算法

过滤器实现

部分延迟设计-主窗格

频率的规范

半带滤波器设计-主窗格

过滤器规格

频率的规范

震级规格

算法

过滤器实现

高通滤波器设计-主窗格

过滤器规格

频率的规范

震级规格

算法

过滤器实现

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

过滤器规格

频率的规范

震级规格

算法

过滤器实现

逆Sinc滤波器设计-主窗格

过滤器规格

频率的规范

震级规格

算法

过滤器实现

低通滤波器设计-主窗格

过滤器规格

频率的规范

震级规格

算法

过滤器实现

奈奎斯特过滤器设计-主窗格

过滤器规格

频率的规范

震级规格

算法

过滤器实现

倍频滤波器设计-主窗格

过滤器规格

算法

过滤器实现

参数均衡器滤波器设计-主窗格

过滤器规格

频率的规范

获得规范

算法

过滤器实现

峰值/陷波滤波器设计-主窗格

过滤器规格

频率的规范

震级规格

算法

过滤器实现

脉冲整形滤波器设计-主窗格

过滤器规格

频率的规范

震级规格

算法

过滤器实现

介绍了R2009a