LTI传递函数仿真
组件作者 | 梅清 | 组件ID | 8721 |
---|---|---|---|
功能 | 该模块用传递函数描述线性时不变系统时域响应仿真模型。 __ | ||
输入桩格式 | float | ||
输出桩格式 | float | ||
其他 |
组件原理
Transfer Fcn 模块通过拉普拉斯域变量 s或离散z变换的传递函数为线性系统建模。此模块可为单输入单输出 (SISO) 、多输入多输出(MIMO)以及两者的混合SIMO,MISO系统建模。
以连续传递函数的格式为例,
- 其中 u 和 y 分别代表系统输入和输出,nn 和 nd 分别是分子和分母系数。num(s) 和 den(s) 包含分子和分母的 s 降幂系数。
- 分母的阶必须大于或等于分子的阶。
- 对于多输出系统,所有传递函数具有相同的分母,而所有分子具有相同的阶次。
如传递函数
分子为:[1]
分母为:[2, 3, 4]
输入
浮点数值。_
输出
浮点数值。
参数配置_
- 分子:
数组
- 分母:
数组
- dt:
float,步长
- 系统传递函数-连续/离散:
s 为连续系统,z为离散系统传递函数。
使用示例_
用传递函数实现的一个IIR低通滤波器数字信号处理仿真演示。按键单步执行。
模板ID:32005
单输入多输出(SIMO)系统
原组件增加一个float输出就可以增加一个输出。
多输入多输出(MIMO)系统
在之前基础增加一个输入,并将组件配置为“异步接收”模式,异步接收两路输入,每次第一个输入值更新时候触发一次计算(仿真步进一次)。
如果两个输入为同步输入也可以配置为“同步接收”(需保证两路的message id相同才能执行,更多关于算盘同步和异步接收的工作原理请参考[相关文档](https://xuelangyun.yuque.com/docs/share/f0345428-1c15-48a3-a45d-097dd775fa3f?# 《常见问题》))。
如下例:
分子:[[[1.0, 2.0], [3.0, 4.0]], [[5.0, 6.0], [7.0, 8.0]]]
分母:[[[9.0, 8.0, 7.0], [6.0, 5.0, 4.0]], [[3.0, 2.0, 1.0], [-1.0, -2.0, -3.0]]]
步长dt:0.05(秒)