主要内容

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
arbmag 任意幅度滤波器设计 fdesign.arbmag
arbmagnphase 任意响应滤波器(幅度和相位) fdesign.arbmagnphase
audioweighting 音频加权滤波器 fdesign.audioweighting
带通英国石油公司 带通滤波器 fdesign.bandpass
bandstop废话 Bandstop过滤器 fdesign.bandstop
中投公司 CIC滤波器 fdesign.decimator (M,“中投”,…)fdesign.interpolator (L,“中投”,…)
看到fdesign.decimator而且fdesign.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).如果你指定输入采样率,那么FVTool以Hz为单位绘制幅值响应的频率函数。如果不指定输入采样率,则FVTool绘制幅值响应作为标准化频率在rad/sample中的函数。

请注意

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—它们保持完全的精度。

先投后加

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

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

清除或选择的效果先投后加如下:

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

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

代码生成窗格

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

高密度脂蛋白

有关此选项的详细信息,请参见从Filter Builder打开Filter Design HDL Coder UI(Filter Design HDL Coder)

MATLAB

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

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

    选择此选项将生成用于设计筛选器对象的函数fdesign

  • 生成过滤数据的函数

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

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

万博1manbetx仿真软件模型

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

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

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

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

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

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

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

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

  • 优化统一增益-用直接连接替换所有的单位增益。

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

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

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

  • 输入处理-指定生成的过滤块或子系统块如何处理输入。根据您正在设计的过滤器类型,可能有以下一个或两个选项:

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

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

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

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

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

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

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

这些设置将设计一个dsp。信息检索过滤器系统对象™与定点算法。为定点生成Simulink万博1manbetx模型dsp。信息检索过滤器对象不支持。万博1manbetx

滤波器响应

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

如果你有DSP系统工具箱软件,下面反应选择菜单出现。

从菜单中选择所需的筛选器响应并设计筛选器。

下面几节描述每种响应类型的可用选项。

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

过滤器规格

响应规范

带属性

算法

滤波器的实现

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

过滤器规格

算法

滤波器的实现

带通滤波器设计-主窗格

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

带阻滤波器设计-主窗格

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

CIC过滤器设计-主窗格

过滤器规格

频率的规范

大小规格

CIC补偿器设计-主窗格

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

梳状过滤器设计-主窗格

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

分压器滤波器设计-主窗格

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

分数延迟设计-主窗格

频率的规范

半带滤波器设计-主窗格

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

高通滤波器设计-主窗格

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

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

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

逆正弦滤波器设计-主窗格

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

低通滤波器设计-主窗格

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

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

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

八度滤波器设计-主窗格

过滤器规格

算法

滤波器的实现

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

过滤器规格

频率的规范

获得规范

算法

滤波器的实现

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

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

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

过滤器规格

频率的规范

大小规格

算法

滤波器的实现

版本历史

在R2009a中引入