BlockWerk 文档
|·|

Absolute Value

Math

绝对值方块 (Absolute Value) 计算输入信号的幅值(绝对值)∣u(t)∣|u(t)|。无论输入信号的正负符号如何,输出始终为非负值(≥0\ge 0)。该方块广泛应用于控制系统和信号处理中的幅值计算、误差范数评估(如平均绝对误差 MAE)以及全波整流。

在 BlockWerk 中仿真

浏览器即开即用的交互式仿真环境 — 无需安装,由 WebAssembly 强力驱动。

在 BlockWerk 中仿真 →

数学模型

y(t)=∣u(t)∣={u(t),if u(t)≥0−u(t),if u(t)<0y(t) = |u(t)| = \begin{cases} u(t), & \text{if } u(t) \ge 0 \\ -u(t), & \text{if } u(t) < 0 \end{cases}

输入与输出

Direction ID Label 类型 Status
→ In in Input number Required
← Out out Output number Output

使用示例

全波整流

输入正弦波产生基频翻倍(2f2f)的整流脉动信号:

交流电压 (50 Hz AC) → Abs → 整流波形 (100 Hz DC)

说明与最佳实践

  • 非负输出:在任何情况下均满足 y(t)≥0y(t) \ge 0。
  • 不可导奇点:在 u=0u = 0 处不可导(导数发生跳变)。
  • 零计算开销:通过底层 CPU 原生指令(f64::abs)实现极快运算。
  • 级联滤波:常与低通滤波器级联用于包络线或幅值追踪。
  • 范数计算:常与 Product 或 SquareRoot 组合用于向量范数与均方根(RMS)计算。

相关模块

  • Product:乘法运算(计算幅值平方 u2u^2)
  • SquareRoot:平方根运算(用于由平方幅值计算 RMS)
  • Saturation:信号输出限幅