差分方程
Z变换
脉冲传递函数
计算机控制系统的响应
文章目录
- 差分方程
- 基础知识
- 差分方程的解
- Z变换
- 定义与性质
- 求Z变换
- Z变换表
- 求Z反变换
- 用Z变换解差分方程
- 脉冲传递函数
- 脉冲传递函数与差分方程的相互转化
- 开环脉冲传递函数
- 闭环脉冲传递函数
- 计算机控制系统的响应
差分方程
基础知识
几种不同的差分:
前向差分和后向差分没有本质区别,在控制系统中一般用后向差分。
在连续系统中,用微分方程来描述系统的运动。而在离散系统,则使用差分方程:
差分方程是确定时间序列的方程,因为可以通过递推迭代的方法,用前项求后项:
离散系统的差分方程标准形式:(注意各系数的下标)
差分方程的解
解分为通解和特解。通解是与方程初始状态有关的解。特解是与外部输入有关的解。
解的求法:
求解特征方程,得到特征根:
- n个单根
r
1
,
r
2
,
r
3
,
⋯
,
r
n
r_1, r_2, r_3, \cdots, r_n
r1,r2,r3,⋯,rn,则通解
y ( k ) = c 1 r 1 k + c 2 r 2 k + ⋯ + c n r n k y(k)=c_1 r_1^k+ c_2r_2^k+\cdots+c_nr_n^k y(k)=c1r1k+c2r2k+⋯+cnrnk - 解
r
r
r为
m
m
m重根,其他为单根
r
1
,
r
2
,
r
3
,
⋯
,
r
n
r_1, r_2, r_3, \cdots, r_n
r1,r2,r3,⋯,rn,则通解:
y ( k ) = c 11 r k + c 12 k r k + ⋯ + c 1 m k m − 1 r k + c 1 r 1 k + c 2 r 2 k + ⋯ + c n r n k y(k)=c_{11} r^k+ c_{12}kr^k+\cdots+c_{1m}k^{m-1}r^k+c_1 r_1^k+c_2r_2^k+\cdots+c_nr_n^k y(k)=c11rk+c12krk+⋯+c1mkm−1rk+c1r1k+c2r2k+⋯+cnrnk
其中各系数根据初始条件来求:
对于后向差分,步骤类似:
Z变换
定义与性质
注意:
- 先采样,然后才有Z变换。多个不同的 f ( t ) f(t) f(t),如果采样后 f ∗ ( t ) f^*(t) f∗(t)相同,则Z变换相同
- z − 1 z^{-1} z−1代表信号滞后一个采样周期,可以称为单位延迟因子
- 书写时T可以省略,写作 F ( z ) = ∑ k = 0 ∞ f ( k ) z − k F(z)=\sum_{k=0}^{\infty}f(k)z^{-k} F(z)=∑k=0∞f(k)z−k
性质:
这里只涉及一部分常用的性质。
- 线性性质
Z [ a f ( k T ) + b g ( k T ) ] = a F ( z ) + b G ( z ) Z[af(kT)+bg(kT)]=aF(z)+bG(z) Z[af(kT)+bg(kT)]=aF(z)+bG(z) - 实位移定理
- 右位移: Z [ f ( k T − n T ) ] = z − n F ( z ) Z[f(kT-nT)]=z^{-n}F(z) Z[f(kT−nT)]=z−nF(z)
- 左位移:
Z
[
f
(
k
T
+
n
T
)
]
=
z
n
[
F
(
z
)
−
∑
k
=
0
∞
f
(
k
T
)
z
−
k
]
Z[f(kT+nT)]=z^n[F(z)-\sum_{k=0}^\infty f(kT)z^{-k}]
Z[f(kT+nT)]=zn[F(z)−∑k=0∞f(kT)z−k]
- n=1: Z [ f ( k T + T ) ] = z [ F ( z ) − f ( 0 ) ] Z[f(kT+T)]=z[F(z)-f(0)] Z[f(kT+T)]=z[F(z)−f(0)]
- n=2: Z [ f ( k T + 2 T ) ] = z 2 [ F ( z ) − f ( 0 ) − f ( T ) z − 1 ] Z[f(kT+2T)]=z^2[F(z)-f(0)-f(T)z^{-1}] Z[f(kT+2T)]=z2[F(z)−f(0)−f(T)z−1]
- 复位移定理
Z [ e ∓ a t f ( k T ) ] = F ( z e ± a T ) Z[e^{\mp at}f(kT)]=F(ze^{\pm aT}) Z[e∓atf(kT)]=F(ze±aT) - 初值定理
如果极限 lim z → ∞ F ( z ) \displaystyle\lim_{z \to \infty} F(z) z→∞limF(z)存在,则有 f ( 0 ) = lim z → ∞ F ( z ) \displaystyle f(0)=\lim _{z\to\infty} F(z) f(0)=z→∞limF(z) - 终值定理
设系统稳定,则 lim k → ∞ f ( k T ) = lim z → 1 ( 1 − z − 1 ) F ( z ) = lim z → 1 ( z − 1 ) F ( z ) \displaystyle \lim_{k\to \infty}f(kT)=\lim_{z\to1}(1-z^{-1})F(z)=\lim _{z\to 1}(z-1)F(z) k→∞limf(kT)=z→1lim(1−z−1)F(z)=z→1lim(z−1)F(z)
求Z变换
-
级数求和法
即用定义硬算。
注意级数求和要附加收敛条件。 -
部分分式展开法
即先分解,然后查表,再通过线性性质得出Z变换
Z变换表
求Z反变换
-
长除法(幂级数展开法)
简单易行,但因为难以找出规律,所以一般只用来计算前几项。
步骤:分式除法,得到z的降幂序列。利用实位移性质写出对应的f(t)
写成 f ( k T ) f(kT) f(kT)序列形式和 f ∗ ( t ) f^*(t) f∗(t)时域函数形式都可以。注意省略号不要丢了。 -
部分分式展开法
先分解,后查表。
两个注意的地方:
1.先除z,再进行计算。
2.注意k的取值范围,选取原则是 e − a k T e^{-akT} e−akT是滞后的而不是超前的(非正幂) -
留数计算法
f ( k T ) = ∑ i = 1 n Res [ F ( z ) z k − 1 ] z → p i \displaystyle f(kT)=\sum_{i=1}^n \text{Res} [F(z)z^{k-1}]_{z\to p_i} f(kT)=i=1∑nRes[F(z)zk−1]z→pi
即 F ( z ) F(z) F(z)的z反变换等于 [ F ( z ) z k − 1 ] [F(z)z^{k-1}] [F(z)zk−1]在各个极点处留数之和。
例题:
用Z变换解差分方程
这个和用Laplace变换解微分方程是同样的思路。
脉冲传递函数
零初始条件下,线性定常系统,输出采样信号的Z变换与输入采样信号的Z变换之比,称为该系统的脉冲传递函数,或称Z传递函数
G
(
z
)
=
C
(
z
)
R
(
z
)
\displaystyle G(z)=\frac{C(z)}{R(z)}
G(z)=R(z)C(z)
注意:
- 先采样才有Z变换。因此要求输入、输出信号都为采样后信号。输出允许没有采样开关,但列写传递函数时必须设置虚拟采样开关,才能求出Z变换
- 传递函数与输入信号无关,但与采样周期有关
脉冲传递函数的求法:
- 求系统脉冲响应,即为 G ( s ) G(s) G(s),求出: g ( t ) = L − 1 [ G ( s ) ] g(t)=\mathscr{L}^{-1}[G(s)] g(t)=L−1[G(s)]
- 采样: g ∗ ( t ) = ∑ k = 0 ∞ g ( k T ) δ ( t − k T ) g^*(t)=\sum_{k=0}^{\infty}g(kT)\delta(t-kT) g∗(t)=∑k=0∞g(kT)δ(t−kT)
- Z变换: G ( z ) = Z [ g ∗ ( t ) ] = ∑ k = 0 ∞ g ( k T ) z − k G(z)=Z[g^*(t)]=\sum_{k=0}^{\infty}g(kT)z^{-k} G(z)=Z[g∗(t)]=∑k=0∞g(kT)z−k
脉冲传递函数与差分方程的相互转化
开环脉冲传递函数
闭环脉冲传递函数
- 采样开关在误差通道:
- 一般情况
很多情况下,因为R没有采样,被合并到其他地方先串连再Z变换,变成RG的形式,无法写出C/R的函数,所以改为写输出的函数。
这里注意,开环传函的列写,从某个采样开关开始,按照回路依次列写,直到回到这个采样开关。不必从R开始。
计算机控制系统的响应
其实本质就是Z反变换
这里得到的输出的采样值。
如果想要得到输出值,可以采取如下的方法:
Y
(
s
)
=
G
(
s
)
E
∗
(
s
)
=
G
(
s
)
R
∗
(
s
)
1
+
G
F
∗
(
s
)
y
(
t
)
=
L
−
1
[
Y
(
s
)
]
\begin{aligned} Y(s)=&G(s)E^*(s)\\ =&G(s)\frac{R^*(s)}{1+GF^*(s)}\\ y(t)=& \mathscr{L}^{-1}[Y(s)] \end{aligned}
Y(s)==y(t)=G(s)E∗(s)G(s)1+GF∗(s)R∗(s)L−1[Y(s)]