Discrete State-Space
Discrete离散状态空间方块(Discrete State-Space)实现了一个离散时间线性状态空间系统。在每个采样时刻,它利用递推方程推进内部状态向量,然后将当前状态和输入的线性组合计算为输出。该方块等效于 z 域矩阵传递函数 H(z) = C(zI - A)^-1 B + D。
典型用途包括实现离散时间被控对象模型、观测器/估计器动力学、以状态空间形式表示的预设计数字滤波器,以及通过零阶保持器(ZOH)或双线性变换(Tustin)方法从连续时间设计离散化的任何线性系统。
数学模型
其中:
x[k]— 步长 k 时的状态向量(长度为 n,即系统阶数)u[k]— 步长 k 时的输入向量(与 B 的列数匹配)y[k]— 步长 k 时的输出向量(与 C 的行数匹配)A— n×n 状态转移矩阵B— n×m 输入矩阵C— p×n 输出矩阵D— p×m 直接传递矩阵k— 离散时间索引;实际时间 = k · sampleTime
输入与输出
| Direction | ID | Label | 类型 | Status |
|---|---|---|---|---|
| → In | u |
Input(s) | number | Required |
| ← Out | y |
Output(s) | number | Output |
参数
| 参数 | Label | 类型 | 默认值 | 描述 |
|---|---|---|---|---|
A |
A Matrix | vector | 0.9 |
|
B |
B Matrix | vector | 1 |
|
C |
C Matrix | vector | 1 |
|
D |
D Matrix | vector | 0 |
|
initialState |
Initial State | vector | 0 |
|
sampleTime |
Sample Time | number | 0.01 |
使用示例
100 Hz 下的一阶低通滤波器
极点位于 z = 0.9、单位直流增益的离散一阶低通系统:
Step → DiscreteStateSpace → Display
A=0.9 B=0.1 C=1 D=0 T=0.01s
二阶系统(双重积分器,欧拉法)
采样时间 T = 0.01 s 的离散化双重积分器:
Force → DiscreteStateSpace → Position
A=[1 0.01; 0 1] B=[0.00005; 0.01] C=[1 0] D=0说明与最佳实践
- 矩阵尺寸:A 必须是方阵(n×n)。B 必须有 n 行。C 必须有 n 列。D 必须与 C 具有相同的行数,与 B 具有相同的列数。维度不匹配将产生仿真错误。
- 多输入/多输出 (MIMO):对于 MIMO 系统,将多个信号连接到输入端口;该方块将按连接顺序将它们堆叠到 u 向量中。
- 稳定性:仅当 A 的所有特征值严格位于单位圆内时,系统才稳定。不稳定的 A 矩阵将导致状态无界发散。
- 离散状态:该方块在内部最多分配 32 个离散状态槽;请将系统阶数保持在 32 或以下。
- 采样时间对齐:当此方块与其他离散方块混合使用时,请保持所有
sampleTime值一致,或在边界处插入 Rate Transition 方块。
相关模块
- RateTransition:在连接到以不同速率运行的子系统时跨越采样率边界。
- TransferFunction:连续时间等效方块;在离散化之前于 s 域设计时使用。
- Integrator:连续时间状态积分;当全局求解器处理积分时代替 DiscreteStateSpace 使用。