系统可以使用状态空间、传递函数、零极点增益三种数学表示方式。
1、状态空间:
x
˙
=
A
x
+
B
u
x
[
k
+
1
]
=
A
x
[
k
]
+
B
u
[
k
]
2、零极点增益:
H
(
s
)
=
k
∏
i
(
s
−
z
[
i
]
)
∏
j
(
s
−
p
[
j
]
)
H(s)=\frac{k\prod_{i}{(s-z[i])}}{\prod_j(s-p[j])}
H(s)=∏j(s−p[j])k∏i(s−z[i])
3、传递函数:
H
(
s
)
=
∑
i
=
0
N
b
[
N
−
i
]
s
i
∑
j
=
0
M
b
[
M
−
j
]
s
j
H
(
s
)
=
∑
i
=
0
N
b
[
N
−
i
]
z
i
∑
j
=
0
M
b
[
M
−
j
]
z
j
H(s)=\frac{\sum_{i=0}^Nb[N-i]s^i}{\sum_{j=0}^M}b[M-j]s^j\\ H(s)=\frac{\sum_{i=0}^Nb[N-i]z^i}{\sum_{j=0}^M}b[M-j]z^j\\
H(s)=∑j=0M∑i=0Nb[N−i]sib[M−j]sjH(s)=∑j=0M∑i=0Nb[N−i]zib[M−j]zj
lti (*system) | 连续时间线性系统基类 |
---|---|
StateSpace (*system, **kwargs) | 状态空间表达式的连续线性时不变系统 |
TransferFunction (*system, **kwargs) | 传递函数表示的连续线性时不变系统 |
ZerosPolesGain (*system, **kwargs) | 零极点增益表示的连续线性时不变系统 |
lsim (system, U, T[, X0, interp]) | 连续时间线性系统输出仿真 |
lsim2 (system[, U, T, X0]) | 使用常微分方程求解器的连续时间线性系统输出仿真 |
impulse (system[, X0, T, N]) | 连续时间线性系统脉冲响应 |
impulse2 (system[, X0, T, N]) | 但输入的连续时间线性系统脉冲响应 |
step (system[, X0, T, N]) | 连续时间线性系统阶跃响应 |
step2 (system[, X0, T, N]) | 连续时间线性系统阶跃响应 |
freqresp (system[, w, n]) | 连续时间线性系统频率响应 |
bode (system[, w, n]) | 计算连续时间线性系统的伯德图和相位 |
dlti (*system, **kwargs) | 离散线性时不变系统基类 |
---|---|
StateSpace (*system, **kwargs) | 状态空间表达式的离散线性时不变系统 |
TransferFunction (*system, **kwargs) | 传递函数表示的离散线性时不变系统 |
ZerosPolesGain (*system, **kwargs) | 零极点增益表示的离散线性时不变系统 |
dlsim (system, u[, t, x0]) | 离散时间线性系统输出仿真 |
dimpulse (system[, x0, t, n]) | 离散时间线性系统脉冲响应 |
dstep (system[, x0, t, n]) | 离散时间线性系统阶跃响应 |
dfreqresp (system[, w, n, whole]) | 计算离散时间线性系统频率响应 |
dbode (system[, w, n]) | 计算离散时间线性系统的伯德图和相位 |
tf2zpk (b, a) | 线性滤波器分子分母表示->零极点增益表示 |
---|---|
tf2sos (b, a[, pairing, analog]) | 传递函数->二阶基本节 |
tf2ss (num, den) | 传递函数->状态空间 |
zpk2tf (z, p, k) | 零极点增益->传递函数 |
zpk2sos (z, p, k[, pairing, analog]) | 零极点增益->二阶基本节 |
zpk2ss (z, p, k) | 零极点增益->状态空间 |
ss2tf (A, B, C, D[, input]) | 状态空间->传递函数 |
ss2zpk (A, B, C, D[, input]) | 状态空间->零极点增益 |
sos2zpk (sos) | 二阶基本节->零极点增益 |
sos2tf (sos) | 二阶基本节->传递函数 |
cont2discrete (system, dt[, method, alpha]) | 连续系统->离散状态空间表示的系统 |
place_poles (A, B, poles[, method, rtol, maxiter]) | 计算K使得特征值 (A - dot(B, K))=poles. |