主要内容

离散冷杉滤波器

FIR滤波器模型

  • 库:
  • 金宝app模型/离散

    HDL编码器/离散

    HDL编码器/ HDL浮点运算

  • 离散FIR滤波器块

描述

离散冷杉滤波器块使用指定的数字FIR滤波器独立地对输入信号的各个通道进行滤波。该块可以实现固定系数的静态滤波器,以及系数随时间变化的时变滤波器。您可以在仿真期间调整静态滤波器的系数。

这个块随着时间的推移独立地过滤输入信号的每个通道。的输入处理参数允许指定块是将输入的每个元素视为独立通道(基于样本的处理),还是将输入的每个列视为独立通道(基于框架的处理)。要执行基于帧的处理,您必须拥有DSP System Toolbox™许可证。

的输出维度与输入维度相等,除非您指定一个过滤器点击矩阵系数参数。当您这样做时,输出尺寸取决于您指定的不同过滤器点击集的数量。

此块支持自定义状态属性金宝app,以更有效地自定义和生成代码。例如,请参见自定义状态属性在离散冷滤波器块中.在某些条件下,该块还支持SIMD代码生成。金宝app有关详细信息,请参见代码生成

这个块的输出数字匹配DSP系统工具箱的输出数字滤波器设计(DSP系统工具箱)块。

此块支持Simulin金宝appk金宝app®状态日志记录功能。有关更多信息,请参见状态

过滤器结构支持金宝app

您可以更改使用的过滤器结构离散冷杉滤波器块,方法是从滤波器结构参数:

  • 直接的形式

  • 直接形成对称的

  • 直接形式反对称

  • 直接形式转置

  • 格马

您必须有可用的DSP系统工具箱许可证才能使用这些滤波器结构中的任何一个运行模型直接的形式

指定初始状态

离散冷杉滤波器块默认将内部筛选器状态初始化为零,这与假设过去的输入和输出为零的效果相同。您可以选择使用初始状态参数指定过滤器延迟的非零初始条件。

要确定必须指定的初始状态的数量以及如何指定它们,请参阅有效初始状态上的表。的初始状态参数可以采用下表中描述的形式之一。

有效的初始状态

初始条件 描述

标量

该块将过滤器中的所有延迟元素初始化为标量值。

向量或矩阵
(用于对每个信道应用不同的延迟元件)

每个向量或矩阵元素指定了对应信道中对应延迟元素的唯一初始条件:

  • 向量长度等于输入通道的数量和滤波器中延迟元素的数量的乘积,# _of_filter_coeffs-1(或#_of_reflection_coeffs.格马).

  • 矩阵的行数必须与滤波器中的延迟元素数相同,# _of_filter_coeffs-1#_of_reflection_coeffs.格马),每个输入信号通道必须有一列。

港口

输入

全部展开

要过滤的输入信号,指定为标量、向量或矩阵。

依赖关系

当您设置系数来源对话框参数,输入信号的端口没有标记。当您设置系数来源输入端口,标记为输入信号的端口

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

指定过滤器系数为标量、向量或矩阵。当您指定筛选器点击的行向量时,该块将对输入应用单个筛选器。要对相同的输入应用多个过滤器,请指定一个系数矩阵,其中每一行代表一组不同的过滤器点击。

依赖关系

要启用该端口,请设置系数来源输入端口

要实现多个过滤器,滤波器结构必须直接的形式,并且输入必须是标量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

外部复位信号,指定为标量。当指定的触发事件发生时,该块将状态重置为初始状态。

提示

的值会改变该端口的图标外部复位参数。

依赖关系

要启用该端口,请设置外部复位不断上升的下降要么水平,或保持水平

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

启用信号,指定为标量。该端口可以控制块的执行。当该端口的输入为非零时,该块被启用;当该端口的输入为非零时,该块被禁用0.在块执行的同时检查输入的值。

依赖关系

要启用该端口,请选择显示启用端口复选框。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

输出

全部展开

过滤后的输出信号。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

参数

全部展开

主要

选择使用可调对话框参数或通过输入端口指定过滤系数,这对时变系数很有用。

编程使用

块参数:CoefSource
类型:特征向量
价值观:'对话框参数' | '输入端口'
默认值:“对话框参数”

选择您想要块实现的过滤器结构。

依赖关系

您必须有可用的DSP系统工具箱许可证才能使用离散冷杉滤波器块,它实现除直接的形式

编程使用

块参数:FilterStructure
类型:特征向量
价值观:'直接形式' | '直接形式对称' | '直接形式反对称' | '直接形式转置' | 'Lattice MA'
默认值:直接形成的

指定传递函数的系数向量。过滤系数必须指定为行向量。当您指定筛选器点击的行向量时,该块将对输入应用单个筛选器。要对相同的输入应用多个过滤器,请指定一个系数矩阵,其中每一行代表一组不同的过滤器点击。

依赖关系

要启用该参数,请设置系数来源对话框参数

要实现多个过滤器,滤波器结构必须直接的形式,并且输入必须是标量。

编程使用

块参数:系数
类型:特征向量
价值观:向量
默认值:“[0.5 - 0.5]”

指定块是执行基于样本还是基于帧的处理。您可以选择以下选项之一:

  • 作为通道的元素(基于样本)-将输入的每个元素视为一个独立的通道(基于样本的处理)。

  • 作为通道的列(基于框架)-将输入的每一列作为一个独立的通道(基于帧的处理)。

    请注意

    基于帧的处理需要DSP系统工具箱许可证。

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

编程使用

块参数:InputProcessing.
类型:特征向量
价值观:'Columns as channels (frame based)' | 'Elements as channels (sample based)'
默认值:“作为通道的元素(基于样本)”

指定滤波器状态的初始条件。要了解如何指定初始状态,请参阅指定初始状态

编程使用

块参数:InitialStates
类型:特征向量
价值观:标量|向量|矩阵
默认值:' 0 '

选择使用“启用端口”来控制执行此块的执行。当输入到此端口的输入是非零时,将块已启用,并且当输入是禁用时禁用0.在块执行的同时检查输入的值。

编程使用

块参数:ShowEnablePort
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

指定用于将状态重置为初始条件的触发器事件。

复位模式 行为
没有一个 没有复位
不断上升的 在上升边缘重置
下降 在下降边缘重置
要么 在上升或下降边缘重置
水平

在上述任何一种情况下重置:

  • 当复位信号在当前时间步长非零时

  • 当复位信号值从上一个时间步长处的非零变为当前时间步长处的零

保持水平 当复位信号在当前时间步长非零时复位

编程使用

块参数ExternalReset
类型:特征向量
“没有”|'升起'|“下降”|“不是”|“水平”|“持有水平”
默认的“没有”

指定样本之间的时间间隔。要继承示例时间,请将该参数设置为-1.有关更多信息,请参见指定样品时间

编程使用

块参数:SampleTime
类型:特征向量
价值观:标量|向量
默认值:' 1 '

数据类型

指定直接表单对称或直接表单反对称过滤器的tap和数据类型,该数据类型是过滤器在乘系数之前对输入进行求和时使用的数据类型。你可以设置为:

  • 继承数据类型的规则,例如,继承:通过内部规则继承

  • 例如,一个内置整数,int8

  • 数据类型对象,例如金宝app仿真软件。全国矿工工会ericType对象

  • 计算结果为数据类型的表达式,例如,fixdt (1 16 0)

单击显示数据类型助手按钮来显示数据类型的助理,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型

依赖关系

当您设置时,此参数仅可见滤波器结构直接形成对称的直接形式反对称

编程使用

块参数:TapSumDataTypeStr
类型:特征向量
价值观:`继承:同input ` | ` int8 ` | ` uint8 ` | ` int16 ` | ` uint16 ` | ` int32 ` | ` uint32 ` | ` int64 ` | ` uint64 ` | ` fixdt(1,16,0) ` | ` `
默认值:“继承:与输入相同”

指定系数数据类型。你可以设置为:

  • 继承数据类型的规则,例如,继承:与输入相同的字长

  • 例如,一个内置整数,int8

  • 数据类型对象,例如金宝app仿真软件。全国矿工工会ericType对象

  • 计算结果为数据类型的表达式,例如,fixdt (1 16 0)

单击显示数据类型助手按钮来显示数据类型的助理,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型

编程使用

块参数:CoeffDataTypeStr
类型:特征向量
价值观:'继承:与input'| 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | ''
默认值:“继承:与输入长度相同”

指定过滤器系数应该具有的最小值。默认值为[](不明)。金宝appSimulink软件使用这个值来执行:

编程使用

块参数:CoeffMin
类型:特征向量
价值观:标量
默认值:“[]”

指定过滤器系数应有的最大值。默认值为[](不明)。金宝appSimulink软件使用这个值来执行:

编程使用

块参数:CoeffMax
类型:特征向量
价值观:标量
默认值:“[]”

指定产品输出数据类型。你可以设置为:

  • 继承数据类型的规则,例如,继承:通过内部规则继承

  • 例如,内置数据类型,int8

  • 数据类型对象,例如金宝app仿真软件。全国矿工工会ericType对象

  • 计算结果为数据类型的表达式,例如,fixdt (1 16 0)

单击显示数据类型助手按钮来显示数据类型的助理,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型

编程使用

块参数:ProductDataTypeStr
类型:特征向量
价值观:继承:同input' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | '<数据类型表达式>'
默认值:“继承:通过内部规则继承”

指定累加器数据类型。你可以设置为:

  • 继承数据类型的规则,例如,继承:通过内部规则继承

  • 例如,内置数据类型,int8

  • 数据类型对象,例如金宝app仿真软件。全国矿工工会ericType对象

  • 计算结果为数据类型的表达式,例如,fixdt (1 16 0)

单击显示数据类型助手按钮来显示数据类型的助理,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型

编程使用

块参数:AccumDataTypeStr
类型:特征向量
价值观:'继承:通过内部规则' | '继承:与input' | '相同继承:与product output' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | '<数据类型表达式>'
默认值:“继承:通过内部规则继承”

指定状态数据类型。你可以设置为:

  • 继承数据类型的规则,例如,继承:和累加器一样

  • 例如,一个内置整数,int8

  • 数据类型对象,例如金宝app仿真软件。全国矿工工会ericType对象

  • 计算结果为数据类型的表达式,例如,fixdt (1 16 0)

依赖关系

要启用该参数,请设置滤波器结构格马

编程使用

块参数:StateDataTypeStr
类型:特征向量
价值观:继承:同于input' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | ''
默认值:“继承:与累加器相同”

指定输出数据类型。你可以设置为:

  • 继承数据类型的规则,例如,继承:和累加器一样

  • 例如,内置数据类型,int8

  • 数据类型对象,例如金宝app仿真软件。全国矿工工会ericType对象

  • 计算结果为数据类型的表达式,例如,fixdt (1 16 0)

单击显示数据类型助手按钮来显示数据类型的助理,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型

编程使用

块参数:OutDataTypeStr
类型:特征向量
价值观:继承:同于input' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | ''
默认值:“继承:与累加器相同”

Simulink检查的输出范围的较低值。金宝app

金宝appSimulink使用最小值来执行:

请注意

输出最小不饱和或剪辑实际输出信号。使用饱和阻止。

编程使用

块参数OutMin
类型:特征向量
'[]'|标量
默认的'[]'

Simulink检查的输出范围的高值。金宝app

金宝appSimulink使用最大值来执行:

请注意

输出最大不饱和或剪辑实际输出信号。使用饱和阻止。

编程使用

块参数OutMax
类型:特征向量
'[]'|标量
默认的'[]'

选择此选项可根据定点工具和定点顾问的更改锁定此块的数据类型设置。有关更多信息,请参见锁定输出数据类型设置(定点设计师)

编程使用

块参数:LockScale
价值观:”从“|”“
默认值:“关闭”

指定定点操作的舍入模式。有关更多信息,请参见舍入(定点设计师)

编程使用

块参数:RndMeth
类型:特征向量
价值观:'天花板' | '收敛' | '地板' | '最近' | 'Round' | '最简单' | '零'
默认值:“地板”

指定溢出是否饱和或缠绕。

行动 基本原理 对溢出的影响 例子

选择此复选框().

您的模型可能存在溢出,您希望在生成的代码中显示饱和保护。

溢出会饱和到数据类型所能表示的最小值或最大值。

的最大值int8(有符号,8位整数)的数据类型可以表示为127。任何大于这个最大值的块操作结果都会导致8位整数溢出。选中复选框后,块输出在127处饱和。类似地,块输出在最小输出值-128处饱和。

不选择此复选框().

您希望优化生成代码的效率。

您希望避免过度指定块如何处理超出范围的信号。有关更多信息,请参见排除信号范围误差

溢出包装为数据类型可表示的适当值。

的最大值int8(有符号,8位整数)的数据类型可以表示为127。任何大于这个最大值的块操作结果都会导致8位整数溢出。清除复选框后,软件将导致溢出的值解释为int8,这可能会产生意想不到的结果。例如,块结果130(二进制1000 0010)表示为int8,是-126。

当您选中此复选框时,饱和度将应用于块上的每个内部操作,而不仅仅是输出或结果。通常,当不可能溢出时,代码生成过程可以检测到。在这种情况下,代码生成器不会产生饱和代码。

编程使用

块参数:SaturateOnIntegerOverflow
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

模型的例子

块特征

数据类型

|不动点|整数|

直接引线

没有

多维信号

没有

适应信号

是的

讨论二阶导数过零检测

没有

扩展功能

PLC的代码生成
使用Simulink®PLC Coder™生成结构化文本代码。金宝app

介绍了R2008a