主要内容

Second-Order Filter

离散时间或连续时间低通、高通、带通或带阻二阶滤波器

  • Second-Order Filter block

库:
Simscape / Electrical / Control / General Control

描述

离散时间或连续时间低通、高通、带通或带阻二阶滤波器滤波器可用于使测量信号中的噪声衰减。

Second-Order Filter 模块实现不同类型的二阶滤波器。

  • 低通滤波器 - 只允许频率低于截止频率 fc 的信号 f 通过。

  • 高通滤波器 - 只允许频率高于截止频率 fc 的信号 f 通过。

  • 带通滤波器 - 只允许频率介于两个截止频率 fc1fc2 之间的信号 f 通过。

  • 带阻滤波器 - 仅阻止频率介于两个截止频率 fc1fc2 之间的信号 f 通过。

滤波器类型频率范围 f
低通

f<fc
高通

f>fc
带通

fc1<f<fc2
带阻

fc1<f<fc2

方程

滤波器的二阶导数状态方程为:

d2xdt2=u2ζωndxdtωn2x

其中:

  • x 是滤波器内部状态。

  • u 是滤波器输入。

  • ωn 是滤波器固有频率。

  • ζ 是滤波器阻尼因子。

对于每种滤波器类型,下表将模块输出 y(x) 作为滤波器内部状态的函数映射到 s 域传递函数 G(s)

滤波器类型输出 y(x)传递函数 G(s)
低通ωn2xωn2s2+2ζωns+ωn2
高通d2xdt2s2s2+2ζωns+ωn2
带通2ζωndxdt2ζωnss2+2ζωns+ωn2
带阻d2xdt2+xs2+ωn2s2+2ζωns+ωn2

初始化公式:

x˙(0)=dxdt|t=0

u(0)=u1(0)+u2(0)

u1(0)=A0ejφ0

u2(0)=b0ejπ2

其中:

  • x(0) 是滤波器的初始状态。

  • u(0) 是滤波器的初始输入。

  • u1(0) 是稳态初始输入的 AC 分量。

  • A0 是初始振幅。

  • φ0 是初始相位。

  • u2(0) 是稳态初始输入的 DC 分量。

  • b0 是初始偏置。

s 域中,s=jω0。因此,对于初始频率 ω0,有:

x˙(0)=Im(jω0u1(0)ω02+jω02ζωn+ωn2).

x(0)=Im(x˙(0)ωn2jω0+u2(0))

示例

端口

输入

全部展开

滤波器输入。

数据类型: single | double

输出

全部展开

滤波后输出。

数据类型: single | double

参数

全部展开

主要参数

二阶滤波器的类型。

固有频率,以 Hz 为单位。

初始条件

滤波器的阻尼因子。

连续两次模块执行之间的时间。在执行期间,模块产生输出,并在需要时更新其内部状态。有关详细信息,请参阅什么是采样时间?指定采样时间

对于继承的离散时间运行,将此参数设置为 -1。对于离散时间运行,请将此参数设置为一个正标量。对于连续时间运行,将此参数设置为 0

如果该模块位于封装子系统或支持在连续运行和离散运行之间切换的可变子系统中,请提升此参数以确保在模块的连续实现和离散实现之间正确切换。有关详细信息,请参阅Promote Block Parameters to a Mask

仿真开始时的振幅。

仿真开始时的相位,以弧度为单位。

仿真开始时的频率,以 Hz 为单位。

仿真开始时的偏置。

参考

[1] Agarwal, A. and Lang, J. H. Foundations of Analog and Digital Electronic Circuits. New York: Elsevier, 2005.

扩展功能

全部展开

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

版本历史记录

在 R2018b 中推出