BlockWerk 文档
H(s)

TransferFunction

Continuous

TransferFunction(传递函数)方块用于对拉普拉斯复频域下描述的连续线性时不变(LTI)动态系统进行建模与仿真。它接收系统传递函数表达式 H(s)=num(s)den(s)H(s) = \frac{\text{num}(s)}{\text{den}(s)},并通过数值积分算法精确计算系统在输入激励下的时域动态响应。

该方块支持使用直观的代数多项式文本定义分子和分母(例如用 "1" 和 "s+1" 表示一阶惯性环节,或用 "100" 和 "s^2 + 10s + 100" 建立带阻尼的二阶质量-弹簧系统模型),并在底层自动将其转换为能控标准型状态空间模型进行高速仿真。

在 BlockWerk 中仿真

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

在 BlockWerk 中仿真 →

数学模型

TransferFunction 方块实现如下传递函数:

H(s)=num(s)den(s)=bmsm+⋯+b1s+b0ansn+⋯+a1s+a0H(s) = \frac{\text{num}(s)}{\text{den}(s)} = \frac{b_m s^m + \dots + b_1 s + b_0}{a_n s^n + \dots + a_1 s + a_0}

其中:

  • num(s)\text{num}(s) 为分子多项式(对应系统的零点分布)
  • den(s)\text{den}(s) 为分母多项式(对应系统的极点分布)
  • ss 为拉普拉斯复频率变量(s=σ+jωs = \sigma + j\omega)
  • 分母阶数必须大于或等于分子阶数(m≤nm \le n),以确保物理系统的因果性(真分式传递函数)。

输入与输出

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

参数

参数 Label 类型 默认值 描述
numerator Numerator polynomial 1
denominator Denominator polynomial s+1
initialCondition Initial Condition number 0

使用示例

一阶低通惯性滤波环节 (PT1)

时间常数 τ=1 s\tau = 1\text{ s} 的惯性系统:

Step (finalValue: 1) → TransferFunction (numerator: "1", denominator: "s+1") → Scope

阻尼二阶振荡器 (PT2)

具有固有振荡频率与阻尼比的二阶系统:

Step → TransferFunction (numerator: "100", denominator: "s^2 + 10s + 100") → Scope

说明与最佳实践

  • 状态空间自动实现: 内部自动将多项式转化为能控规范型,以获得优秀的数值积分稳定性。
  • 因果性约束: 必须满足严格真或真分式条件(deg⁡(numerator)≤deg⁡(denominator)\deg(\text{numerator}) \le \deg(\text{denominator}))。
  • 多项式语法: 支持指数幂次(s^2)、多项式自由排布及负系数(例如 s^2 - 2s + 1)。

相关模块

  • StateSpace: 显式矩阵形式的状态空间系统(A,B,C,DA, B, C, D)
  • Integrator: 标量纯积分器环节(1/s1/s)
  • PIDController: 比例-积分-微分控制器
  • ZeroPole: 零极点形式表达的传递函数