Main Content

IIR Filter

实现无限冲激响应 (IIR) 滤波器

自 R2020a 起

库:
Motor Control Blockset / Signal Management
Motor Control Blockset HDL Support / Signal Management

描述

IIR Filter 模块对指定输入信号实现离散一阶无限冲激响应 (IIR) 滤波器。该模块支持定点和浮点数据类型。当该模块与 Motor Control Blockset™ 中附带的示例所采用的模型设置和配置结合使用时,该模块还会针对代码生成进行优化。

建议您对该模块使用定步长离散求解器,以实现代码生成并确保精确仿真。

方程

您可以使用滤波器系数 (a) 模块参数来配置 IIR 滤波器,以设置滤波器所需的截止频率 (fc)。您也可以选择通过输入端口提供滤波器系数值。

如果您知道滤波器的截止频率,则可以使用以下方程计算所需的滤波器系数:

a= ( 2πTsfc2πTsfc+1 )

该模块还包括一个选项,用于在模块封装上显示与给定滤波器系数和采样时间对应的截止频率。

使用滤波器类型参数将模块配置为低通或高通滤波器。

以下两个方程描述该模块如何计算其输出。

低通滤波器:

y(k)=ax(k)+(1a)y(k1)

高通滤波器:

y(k)=(1a)[x(k)x(k1)+y(k1)]

其中:

  • fc 是 IIR 滤波器的截止频率。

  • a 是滤波器系数 (0 < a ≤ 1)。

  • y(k) 是在时间 k 处的输出值。

  • y(k1) 是在时间 k1 处的输出值。

  • x(k) 是在时间 k 处的输入值。

  • x(k1) 是在时间 k1 处的输入值。

  • Ts 是 IIR Filter 模块的采样时间。

端口

输入

全部展开

原始输入信号在时域中的采样值。

数据类型: single | double | fixed point

IIR 滤波器的滤波器系数。此信号的数据类型必须与输入信号 x 的数据类型相同。当与定点数据类型结合使用时,这可能会限制信号精度。

依存关系

要启用此端口,请将滤波器系数参数设置为输入端口

数据类型: single | double | fixed point

输出

全部展开

IIR Filter 模块在时域中返回的滤波后的输出信号。

数据类型: single | double | fixed point

参数

全部展开

IIR 滤波器的类型。

选择以下方法之一来指定滤波器系数:

  • 通过对话框指定 - 如果您要使用“模块参数”对话框指定滤波器系数值,请选择此选项。

  • 输入端口 - 如果您要使用输入端口指定滤波器系数值,请选择此选项。

IIR 滤波器的滤波器系数。此信号的数据类型必须与输入信号 x 的数据类型相同。当与定点数据类型结合使用时,这可能会限制信号精度。

依存关系

要启用此参数,请将滤波器系数参数设置为通过对话框指定

为模块选择此参数以显示理论截止频率(Hz) 参数。

依存关系

要启用此参数,请将滤波器系数参数设置为通过对话框指定

每两个连续的模块执行实例之间的固定时间间隔(以秒为单位)。

注意

该模块使用此值计算并在模块对话框中显示理论截止频率(Hz)。此参数不设置模块的采样时间。该模块从模型继承采样时间。

依存关系

要显示此参数,请执行以下操作:

  • 滤波器系数参数设置为通过对话框指定

  • 选择显示截止频率参数。

计算的 IIR 滤波器的理论截止频率(以赫兹为单位)。此参数不可配置。

依存关系

要显示此参数,请执行以下操作:

  • 滤波器系数参数设置为通过对话框指定

  • 选择显示截止频率参数。

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2020a 中推出

另请参阅