主要内容

离散滤波器

模型无限脉冲响应(IIR)滤波器

  • 库:
  • 万博1manbetxsimulink /离散

  • 离散滤波器块

描述

离散滤波器block使用指定的数字IIR滤波器独立地对输入信号的每个通道进行滤波。您可以指定过滤器结构为直接形式I.,直接表格我转置,直接表格II,或直接形式II转置.该块实现具有固定系数的静态滤波器。您可以调整这些静态过滤器的系数。

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

输出尺寸等于输入尺寸,除非您指定用于滤波器的矩阵分子系数范围。当您这样做时,输出尺寸取决于您指定的不同过滤器点的数量。

使用分子系数参数指定离散滤波器分器多项式多项式的系数。使用分母系数参数指定函数的分母多项式的系数。的分母系数参数必须是系数的向量。

指定分子和分母多项式的分数在上升功率中的多项式z-1.的离散滤波器块让您使用多项式z-1(延迟算子)来表示一个离散系统。信号处理工程师通常使用这种方法。相反,离散转移FCN.块让您使用多项式z代表离散系统。控制工程师通常使用此方法。当分子和分母多项式具有相同的长度时,两种方法是相同的。

指定初始状态

对话框参数输入端口(年代)模式,该块默认将内部过滤器状态初始化为零,这相当于假设过去的输入和输出为零。您可以选择使用初始状态参数指定筛选器延迟的非零初始状态。

要确定必须指定的初始状态值的数量,以及如何指定它们,请参阅有效初始状态的下表和延迟元素数(过滤状态).的初始状态参数可以采用下表所述的四种形式之一。

有效的初始状态

初始状态 例子 描述

标量

5

每个信道的每个延迟元素被设置为5

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

向量
(用于将相同的延迟元素应用于每个频道)

对于具有两个延迟元素的滤波器:[d1d2

所有通道的延迟元件为d1和d2。

每个向量元素为相应的延迟元素指定一个唯一的初始条件。该块对输入信号的每个通道应用相同的初始条件向量。向量长度必须等于过滤器中的延迟元素数(在表中指定)延迟元素数(过滤状态))。

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

对于三通道输入信号和具有两个延迟元件的过滤器:

d1d2D1D2d1d2] 或者

d 1 D 1 d 1 d 2 D 2 d 2

  • 通道1的延迟元件是d1d2

  • 通道2的延迟元件是D1D2

  • 通道3的延迟元件是d1d2

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

空矩阵

[]
每个信道的每个延迟元素被设置为0

空矩阵,[],等效于设置初始条件标量值的参数0

每个输入通道的延迟元素(滤波器状态)的数量取决于滤波器的结构,如下表所示。

延迟元素数(过滤状态)

滤波器结构 每个通道的延迟元素数量

直接形式I.
直接表格我转置

  • 0的个数- 1

  • 极点数- 1

直接表格II
直接形式II转置

最大值(零点的数目,极点的数目)-1

下表描述了不同大小的输入和不同频道数量的有效初始状态,具体取决于您是否设置了输入处理参数以框架或样本为基础。

基于帧的处理

输入 数量的渠道 有效初始状态(对话框) 有效初始状态(输入端口)
  • 柱矢量(K-By-1)

  • 无向的向量(K

1
  • 标量

  • 柱矢量(-By-1)

  • 行矢量(1-by-

  • 标量

  • 柱矢量(-By-1)

  • 行矢量(1-by-N

  • 矩阵 (K——- - - - - -N

N
  • 标量

  • 柱矢量(-By-1)

  • 行矢量(1-by-

  • 矩阵 (——- - - - - -N

  • 标量

  • 矩阵 (——- - - - - -N

纸浆包处理

输入 数量的渠道 有效初始状态(对话框) 有效初始状态(输入端口)
  • 标量

1
  • 标量

  • 柱矢量(-By-1)

  • 行矢量(1-by-

  • 标量

  • 柱矢量(-By-1)

  • 行矢量(1-by-

  • 行矢量(1-by-N

  • 柱矢量(N1)

  • 无向的向量(N

N
  • 标量

  • 柱矢量(-By-1)

  • 行矢量(1-by-

  • 矩阵 (——- - - - - -N

  • 标量

  • 矩阵 (K——- - - - - -N

K×N
  • 标量

  • 柱矢量(-By-1)

  • 行矢量(1-by-

  • 矩阵 (————(K×N)))

  • 标量

初始状态是标量,则该块将所有筛选器状态初始化为相同的标量值。输入0将所有状态初始化为零。当初始状态是矢量或矩阵,每个矢量或矩阵元素指定唯一的初始状态。这种唯一状态对应于相应通道中的延迟元素:

  • 向量长度必须等于过滤器中的延迟元素的数量,m = max(零数,杆数)

  • 矩阵的行数必须与滤波器中的延迟元素数相同,m = max(零数,杆数).矩阵的每个输入信号通道也必须有一列。

指定一个离散滤波器块的初始条件向量示例显示了初始过滤器输出与初始输入和状态之间的关系。给定初始输入u1,第一个输出y1与初始状态有关[x1,x2]和初始输入:

y 1 b 1 u 1 - 一个 2 x 1 - 一个 3. x 2 一个 1 + b 2 x 1 + b 3. x 2

港口

输入

全部展开

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

依赖关系

该端口的名称取决于您为分子系数、分母系数和初始状态指定的源。当您设置分子,分母, 和初始状态对话框,只有一个输入端口,该端口是无标记的。当您设置分子,分母,或初始状态输入端口,此端口有标签u

数据类型:||INT8.|int16|int32|固定点

离散滤波器的分子系数,指定为z.使用行向量来指定单个分子多项式的系数。

依赖关系

启用此端口,设置分子输入端口

数据类型:||INT8.|int16|int32|固定点

将离散滤波器的分母系数指定为下降功率z.使用行向量来指定单个分母多项式的系数。

依赖关系

启用此端口,设置分母输入端口

数据类型:||INT8.|int16|int32|固定点

初始状态,指定为标量,向量或矩阵。有关指定状态的详细信息,请参阅指定初始状态

依赖关系

要启用该端口,请设置滤波器结构直接表格II或者直接形式II转置,并设置初始状态输入端口

数据类型:||INT8.|int16|int32|固定点

输出

全部展开

过滤输出信号。输出尺寸等于输入尺寸,除非您指定用于滤波器的矩阵分子系数范围。当您这样做时,输出尺寸取决于您指定的不同过滤器点的数量。

数据类型:||INT8.|int16|int32|固定点

参数

全部展开

主要的

指定离散IIR滤波器结构。

依赖关系

使用除直接表格II,您必须有可用的DSP系统工具箱许可证。

编程使用

块参数:FilterStructure
类型:特征向量
价值观:'直接形式II' | '直接形式I'转置' | '直接形式I' | '直接形式II'转置'
默认值:'直接表格II'

指定分子系数的源对话框或者输入端口

编程使用

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

指定离散滤波器的分子系数为的降序幂z.使用行向量来指定单个分子多项式的系数。

依赖关系

要启用此参数,请设置分子来源对话框

编程使用

块参数:分子
类型:特征向量
价值观:标量|向量|矩阵
默认值:“[1]”

指定分母系数的源对话框或者输入端口

编程使用

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

将离散滤波器的分母系数指定为下降功率z.使用行向量来指定单个分母多项式的系数。

依赖关系

要启用此参数,请设置分母来源对话框

编程使用

块参数:分母
类型:特征向量
价值观:标量|向量
默认值:“0.5[1]”

将初始状态的来源指定为对话框或者输入端口

编程使用

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

将初始筛选器状态指定为标量、向量或矩阵。要了解如何指定初始状态,请参阅指定初始状态

依赖关系

要启用此参数,请设置滤波器结构直接表格II或者直接形式II转置,并设置初始状态来源对话框

编程使用

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

将初始分子过滤器状态指定为标量、向量或矩阵。要了解如何指定初始状态,请参阅指定初始状态

依赖关系

要启用该端口,请设置滤波器结构直接形式I.或者直接表格我转置

编程使用

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

将初始分母过滤器状态指定为标量,向量或矩阵。要了解如何指定初始状态,请参阅指定初始状态

依赖关系

要启用该端口,请设置滤波器结构直接形式I.或者直接表格我转置

编程使用

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

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

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

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

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

  • 当复位信号值在前一次时间从非零在当前时间步长到零时

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

编程使用

块参数ExternalReset
类型:字符向量
价值“没有”|“上升”|“下降”|“不是”|“水平”|'水平持有'
默认“没有”

指定块是执行基于样本还是基于帧的处理。

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

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

依赖关系

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

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

编程使用

块参数:InputProcessing
类型:特征向量
价值观:'列为通道(基于帧)'|“作为通道的元素(基于样本)”
默认值:“作为通道的元素(基于样本)”

选择主导分母系数时,一个0,等于1。此参数可优化代码。

当您选择此复选框时,块不执行除-一个0在模拟或生成的代码中。错误发生在以下情况一个0不等于一个。

当您清除此复选框时,该块在模拟期间是完全可调的。它执行一个除法一个0在模拟和代码生成中。

编程使用

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

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

编程使用

块参数:采样时间
类型:特征向量
价值观:标量|向量
默认值:'-1'

数据类型

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

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

  • 例如,一个内置整数,INT8.

  • 数据类型对象,例如万博1manbetx仿真软件。全国矿工工会ericType对象

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

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

编程使用

块参数:StateDataTypeStr
类型:特征向量
价值观:'继承:与输入相同'|'int8'|'int16'|'int32'|'int64'|'fixdt(1,16,0)'|'<数据类型表达式>'
默认值:“继承:与输入相同”

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

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

  • 一个内置的有符号整数,例如,INT8.

  • 数据类型对象,例如万博1manbetx仿真软件。全国矿工工会ericType对象

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

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

编程使用

块参数:NumCoeffDataTypeStr
类型:特征向量
价值观:'继承:通过内部规则继承|'int8'|'int16'|'int32'|'int64'|'Fixdt(1,16)'|'fixdt(1,16,0)'|'<数据类型表达式>'
默认值:'继承:通过内部规则继承

指定分子系数可以具有的最小值。默认值为[](不明)。万博1manbetxSimulink.®软件使用这个值来执行:

编程使用

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

指定分子系数的最大值。默认值为[](不明)。万博1manbetxSimulink软件使用这个值来执行:

编程使用

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

指定分子系数的产品输出数据类型。可以设置为:

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

  • 例如,内置数据类型,INT8.

  • 数据类型对象,例如万博1manbetx仿真软件。全国矿工工会ericType对象

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

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

编程使用

块参数:NumProductDatatypest.
类型:特征向量
价值观:'继承:通过内部规则继承|'继承:与输入相同'|'int8'|'int16'|'int32'|'int64'|'fixdt(1,16,0)'|'<数据类型表达式>'
默认值:“继承:通过内部规则继承”

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

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

  • 例如,内置数据类型,INT8.

  • 数据类型对象,例如万博1manbetx仿真软件。全国矿工工会ericType对象

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

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

编程使用

块参数:NumAccumDataTypeStr
类型:特征向量
价值观:继承:与产品输出' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<数据类型表达式>'相同
默认值:“继承:通过内部规则继承”

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

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

  • 例如,一个内置整数,INT8.

  • 数据类型对象,例如万博1manbetx仿真软件。全国矿工工会ericType对象

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

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

编程使用

块参数:dencoeffdatatypest.
类型:特征向量
价值观:'继承:通过内部规则继承|'int8'|'int16'|'int32'|'int64'|'Fixdt(1,16)'|'fixdt(1,16,0)'|'<数据类型表达式>'
默认值:'继承:通过内部规则继承

指定分母系数可以具有的最小值。默认值为[](不明)。万博1manbetxSimulink软件使用这个值来执行:

编程使用

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

指定分母系数可以具有的最大值。默认值为[](不明)。万博1manbetxSimulink软件使用这个值来执行:

编程使用

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

指定分母系数的产品输出数据类型。可以设置为:

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

  • 例如,内置数据类型,INT8.

  • 数据类型对象,例如万博1manbetx仿真软件。全国矿工工会ericType对象

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

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

编程使用

块参数:DenProductDataTypeStr
类型:特征向量
价值观:'继承:通过内部规则继承|'继承:与输入相同'|'int8'|'int16'|'int32'|'int64'|'fixdt(1,16,0)'|'<数据类型表达式>'
默认值:'继承:通过内部规则继承

指定分母系数的累加器数据类型。可以设置为:

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

  • 例如,内置数据类型,INT8.

  • 数据类型对象,例如万博1manbetx仿真软件。全国矿工工会ericType对象

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

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

编程使用

块参数:DenAccumDataTypeStr
类型:特征向量
价值观:继承:与产品输出' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<数据类型表达式>'相同
默认值:'继承:通过内部规则继承

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

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

  • 例如,内置数据类型,INT8.

  • 数据类型对象,例如万博1manbetx仿真软件。全国矿工工会ericType对象

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

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

编程使用

块参数:OutDataTypeStr
类型:特征向量
价值观:'继承:通过内部规则继承|'int8'|'int16'|'int32'|'int64'|'Fixdt(1,16)'|'fixdt(1,16,0)'|'<数据类型表达式>'
默认值:'继承:通过内部规则继承

指定块可以输出的最小值。默认值为[](不明)。万博1manbetxSimulink软件使用这个值来执行:

编程使用

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

指定块可以输出的最大值。默认值为[](不明)。万博1manbetxSimulink软件使用这个值来执行:

编程使用

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

指定被乘数和数据类型。可以设置为:

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

  • 例如,内置数据类型,INT8.

  • 数据类型对象,例如万博1manbetx仿真软件。全国矿工工会ericType对象

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

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

依赖关系

要启用此参数,请设置滤波器结构直接表格我转置

编程使用

块参数:MultiplicandDataTypeStr
类型:特征向量
价值观:'继承:与输入相同'|'int8'|'int16'|'int32'|'int64'|'fixdt(1,16,0)'|'<数据类型表达式>'
默认值:“继承:与输入相同”

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

编程使用

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

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

编程使用

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

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

行动 理由 对溢出的影响 例子

选中此复选框()。

您的模型具有可能的溢出,并且您希望在生成的代码中进行显式饱和保护。

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

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

请勿选中此复选框(离开)。

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

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

溢出到可由数据类型表示的适当值。

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

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

编程使用

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

状态属性

为每个状态分配一个唯一的名称。如果该字段为空(' '),不会发生名称分配。

  • 要为单个状态指定名称,请在引号之间输入名称,“位置”

  • 要将名称分配给多个状态,请输入由括号包围的逗号分隔列表,例如,{'a','b','c'}.每个名称必须是唯一的。

  • 在MATLAB中使用变量分配状态名®工作区,输入没有引号的变量。变量可以是字符向量,小区阵列或结构。

限制

  • 状态名仅适用于所选块。

  • 州的数目必须在州名的数目中平均分配。

  • 可以指定比状态更少的名称,但不能指定比状态更多的名称。

    例如,您可以在具有四种状态的系统中指定两个名称。第一个名字适用于前两个州,第二个名字适用于后两个州。

依赖关系

启用此参数,设置滤波器结构直接表格II

编程使用

块参数:attnename.
类型:特征向量
价值观:' '|用户定义
默认值:' '

选中此复选框以要​​求状态名称解析为Simulink信号对象。万博1manbetx

依赖关系

启用此参数,设置滤波器结构直接表格II并指定值州名称.只有当您设置了模型配置参数时,此参数才会出现信号解析而不是没有一个

选择此复选框将禁用代码生成存储类

编程使用

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

指定信号对象类。

依赖关系

启用此参数,设置滤波器结构直接表格II并指定值州名称

编程使用

块参数:StateSignalObject
类型:特征向量
价值观:派生的类的对象万博1manbetxsimulink.signal.
默认值:的万博1manbetx仿真软件。信号的

选择代码生成的状态存储类。

信号对象类从包中选择自定义存储类万博1manbetx

依赖关系

启用此参数,设置滤波器结构直接表格II,并指定值州名称

编程使用

块参数:StateStorageClass
类型:特征向量
价值观:'auto'|'模型默认'|'Exportedglobal'|'ImportedExtern'|'ImportedExternPointer'|'习惯'|......
默认值:'汽车'

指定存储类型限定符,例如常量或者挥发性

请注意

TypeQualifier将在将来的释放中删除。要将存储类型限定符应用于数据,请使用自定义存储类和内存部分。除非您使用具有嵌入式编码器的基于ERED的代码生成目标®,自定义存储类和内存段不会影响生成的代码。

在仿真期间,块使用以下值:

  • 将状态名解析到的信号对象的初始值

  • 信号对象的最小值和最大值

有关更多信息,请参见数据对象

依赖关系

启用此参数,设置滤波器结构直接表格II.除非您之前设置其值,否则隐藏此参数。

编程使用

块参数:RTWStateStorageTypeQualifier
类型:特征向量
价值观:" | 'const' | 'volatile' |…
默认值:''

块特征

数据类型

|固定点一个|整数一个|

直接喂养

多维信号

适应信号

零交叉检测

一个此块仅支持有符号的定点数据类型。万博1manbetx

扩展功能

C / c++代码生成
使用Simulink®Coder™生成C和c++代码。万博1manbetx

PLC的代码生成
使用Simulink®PLCCoder™生成结构化文本代码。万博1manbetx

另请参阅

|(DSP系统工具箱)|(DSP系统工具箱)|(DSP系统工具箱)|(DSP系统工具箱)|(DSP系统工具箱)|(DSP系统工具箱)|(信号处理工具箱)

话题

在R2006A之前介绍