【自控笔记】6.4 离散系统的数学模型
一、离散系统数学定义
离散系统:输入序列
r
(
n
)
r(n)
r(n)与输出序列
c
(
n
)
c(n)
c(n)的一种变换关系,记作
c
(
n
)
=
F
[
r
(
n
)
]
c(n)=F[r(n)]
c(n)=F[r(n)]。
如果这种变换关系为线性的,则称为线性离散系统;如果是非线性的则称为非线性离散系统。线性离散系统满足叠加定理,如果这种输入输出关系不随时间的改变而改变,则该系统称为线性定常离散系统。
二、差分与差分方程
1、差分
设连续函数为
y
(
k
)
y(k)
y(k), 其一阶前向差分为:
Δ
y
(
k
)
=
y
(
k
+
1
)
−
y
(
k
)
Δy(k)=y(k+1)-y(k)
Δy(k)=y(k+1)−y(k)
其二阶差为:
Δ
2
y
(
k
)
=
Δ
[
Δ
y
(
k
)
]
=
Δ
[
y
(
k
+
1
)
−
y
(
k
)
]
=
Δ
y
(
k
+
1
)
−
Δ
y
(
k
)
=
y
(
k
+
2
)
−
2
y
(
k
+
1
)
+
y
(
k
)
Δ^2y(k)=Δ[Δy(k)]=Δ[y(k+1)-y(k)]=Δy(k+1)-Δy(k)=y(k+2)-2y(k+1)+y(k)
Δ2y(k)=Δ[Δy(k)]=Δ[y(k+1)−y(k)]=Δy(k+1)−Δy(k)=y(k+2)−2y(k+1)+y(k)
所谓的前向差分,其实就相当于数列的后一项减去前一项,类比于微分有如下关系:
lim
T
→
0
Δ
y
(
k
)
T
=
d
y
(
t
)
d
t
\lim_{T \to 0}\frac{Δy(k)}{T}=\frac{dy(t)}{dt}
T→0limTΔy(k)=dtdy(t)
也就是当采样周期T=0时,差分相当于连续系统中的导数。实际上在计算机控制中,常用差分来代替微分。
差分有前向差分和后向差分,但两者实际上是可以等价的,都是关于离散信号 y ( k ) y(k) y(k)的递推式,与微分的关系也是相同的,这里就不赘述。
2、差分方程
差分方程类似于连续系统中的微分方程,是离散系统输入输出变量及其各阶差分组成的等式,同时也可以吧这个等式看成一个递推公式。n阶前向差分方程如下:
c
(
k
+
n
)
+
a
1
c
(
k
+
n
−
1
)
+
.
.
.
+
a
n
−
1
c
(
k
+
1
)
+
a
n
c
(
k
)
=
b
0
r
(
k
+
m
)
+
b
1
r
(
k
+
m
−
1
)
+
.
.
.
+
b
m
−
1
r
(
k
+
1
)
+
b
m
r
(
k
)
c(k+n)+a_1c(k+n-1)+...+a_{n-1}c(k+1)+a_{n}c(k)\newline =b_0r(k+m)+b_1r(k+m-1)+...+b_{m-1}r(k+1)+b_{m}r(k)
c(k+n)+a1c(k+n−1)+...+an−1c(k+1)+anc(k)=b0r(k+m)+b1r(k+m−1)+...+bm−1r(k+1)+bmr(k)
3、差分方程求解
(1)迭代法
首先要明确差分方程是一个递推式,迭代法就是根据输出序列的初始值,利用递推公式逐步求出系统在给定输入序列下的输出序列。
例:已知差分方程为
c
(
k
)
=
r
(
k
)
+
5
c
(
k
−
1
)
−
6
c
(
k
−
2
)
c(k)=r(k)+5c(k-1)-6c(k-2)
c(k)=r(k)+5c(k−1)−6c(k−2)
输入序列r(k)=1,初始条件为c(0)=0,c(1)=1,试利用迭代法求出
c
∗
(
t
)
c^*(t)
c∗(t)
c
(
0
)
=
0
c
(
1
)
=
1
c
(
2
)
=
r
(
2
)
+
5
c
(
1
)
−
6
c
(
0
)
=
6
c
(
3
)
=
r
(
3
)
+
5
c
(
2
)
−
6
c
(
1
)
=
25
c
(
4
)
=
r
(
4
)
+
5
c
(
3
)
−
6
c
(
2
)
=
90
.
.
.
c
∗
(
t
)
=
δ
(
t
−
1
)
+
6
δ
(
t
−
2
)
+
25
δ
(
t
−
3
)
+
.
.
.
c(0)=0\newline c(1)=1\newline c(2)=r(2)+5c(1)-6c(0)=6\newline c(3)=r(3)+5c(2)-6c(1)=25\newline c(4)=r(4)+5c(3)-6c(2)=90 \newline ...\newline c^*(t)=δ(t-1)+6δ(t-2)+25δ(t-3)+...
c(0)=0c(1)=1c(2)=r(2)+5c(1)−6c(0)=6c(3)=r(3)+5c(2)−6c(1)=25c(4)=r(4)+5c(3)−6c(2)=90...c∗(t)=δ(t−1)+6δ(t−2)+25δ(t−3)+...
(2)Z变换法
Z变换法可以根据Z变换的正负偏移定理,对差分方程两边求Z变换。再根据初始条件和给定输入信号的Z变换 R ( z ) R(z) R(z),求出系统输出的Z变换表达式。对其进行Z反变换可求得系统的输出序列从c(k)。
例:已知描述离散控制系统的差分方程为
c
(
k
+
2
T
)
+
3
c
(
k
+
T
)
+
2
c
(
k
)
=
0
c(k+2T)+3c(k+T)+2c(k)=0
c(k+2T)+3c(k+T)+2c(k)=0
且c(0)=0,c(1)=1,求差分方程的解。
解:利用Z变换超前定理对差分方程两边求Z变换得
z
2
C
(
z
)
−
z
2
C
(
0
)
−
z
C
(
1
)
+
3
z
C
(
z
)
−
3
z
C
(
0
)
+
2
C
(
z
)
=
0
z^2C(z)-z^2C(0)-zC(1)+3zC(z)-3zC(0)+2C(z)=0
z2C(z)−z2C(0)−zC(1)+3zC(z)−3zC(0)+2C(z)=0
整理得Z变换得表达式为
C
(
z
)
=
z
z
2
+
3
z
+
2
=
z
z
+
1
−
z
z
+
2
C(z)=\frac{z}{z^2+3z+2}=\frac{z}{z+1}-\frac{z}{z+2}
C(z)=z2+3z+2z=z+1z−z+2z
查表可得Z反变换的结果,即输出序列
c
(
k
)
=
(
−
1
)
k
−
(
−
2
)
k
k
=
0
,
1
,
2
,
.
.
.
c(k)=(-1)^k-(-2)^k \quad k=0,1,2,...
c(k)=(−1)k−(−2)kk=0,1,2,...
三、脉冲传递函数
脉冲传递函数是离散系统的复域模型,可类比于连续系统的传递函数。
1、定义:零初始条件下离散系统输出Z变换对输入Z变换之比。用
G
(
z
)
G(z)
G(z)表示,即:
G
(
z
)
=
C
(
z
)
R
(
z
)
G(z)=\frac{C(z)}{R(z)}
G(z)=R(z)C(z)
下面来解释一下脉冲传递函数
G
(
z
)
G(z)
G(z),下图为开环离散系统的方框图,对于一般的连续系统,当输入是离散信号时,输出仍然是连续信号,并不能使用Z变换理论进行研究。于是可以在系统输出端虚设一个理想采样开关,采样周期与输入采样同步。实际上虚设的采样开关是不存在的,它表明系统的脉冲传递函数只能描述
c
∗
(
t
)
c^*(t)
c∗(t)而不能描述
c
(
t
)
c(t)
c(t)。

设输入为单位脉冲函数
r
(
t
)
=
δ
(
t
)
r(t)=δ(t)
r(t)=δ(t), 其输出为为单位脉冲响应
g
(
t
)
g(t)
g(t)。则有输入采样序列为:
r
∗
(
t
)
=
∑
n
=
0
∞
r
(
n
T
)
δ
(
t
−
n
T
)
r^*(t)=\sum_{n=0}^{\infty}r(nT)δ(t-nT)
r∗(t)=n=0∑∞r(nT)δ(t−nT)
根据叠加定理有
c
(
t
)
=
r
(
0
)
g
(
t
)
+
r
(
T
)
g
(
t
−
T
)
+
.
.
.
+
r
(
n
T
)
g
(
t
−
n
T
)
=
∑
n
=
0
∞
r
(
n
T
)
g
(
t
−
n
T
)
c(t)=r(0)g(t)+r(T)g(t-T)+...+r(nT)g(t-nT)=\sum_{n=0}^{\infty}r(nT)g(t-nT)
c(t)=r(0)g(t)+r(T)g(t−T)+...+r(nT)g(t−nT)=n=0∑∞r(nT)g(t−nT)
令t=kT,可得
c
(
k
T
)
=
∑
n
=
0
∞
r
(
n
T
)
g
[
(
k
−
n
)
T
]
c(kT)=\sum_{n=0}^{\infty}r(nT)g[(k-n)T]
c(kT)=n=0∑∞r(nT)g[(k−n)T]
由于t<0时,g(t)=0,所以有当k<n时,g[(k-n)T]=0。即kT以后的输入脉冲不会对kT时刻的输出信号造成影响。所以得
c
(
k
T
)
=
∑
n
=
0
k
r
(
n
T
)
g
[
(
k
−
n
)
T
]
=
r
(
k
T
)
∗
g
(
k
T
)
c(kT)=\sum_{n=0}^{k}r(nT)g[(k-n)T]=r(kT)*g(kT)
c(kT)=n=0∑kr(nT)g[(k−n)T]=r(kT)∗g(kT)
即说明:系统输出的离散序列等于输入采样序列与系统传函采样序列的卷积
根据卷积定理,则有
C
(
z
)
=
G
(
z
)
R
(
z
)
C(z)=G(z)R(z)
C(z)=G(z)R(z)
又根据Z变换的定义
G
(
Z
)
=
∑
n
=
0
∞
g
(
n
T
)
z
−
n
G(Z)=\sum_{n=0}^{\infty}g(nT)z^{-n}
G(Z)=n=0∑∞g(nT)z−n
即
G
(
z
)
G(z)
G(z)就是系统单位脉冲响应序列的Z变换。
另外需要注意
G
(
Z
)
≠
G
(
s
)
s
=
z
G(Z)≠G(s)_{s=z}
G(Z)=G(s)s=z。
2、脉冲传递函数的性质
(1)
G
(
z
)
G(z)
G(z)是关于z的复函数
(2)
G
(
z
)
G(z)
G(z)与输入输出序列没有关系,和它们的比有关,即之和系统的结构参数有关。
(3)
G
(
z
)
G(z)
G(z)与系统的差分方程是一一对应的,可相互求解。
(4)
G
(
z
)
G(z)
G(z),脉冲传递函数就是系统单位脉冲响应序列的Z变换
3、脉冲传递函数的局限性
(1)原则上,不反应非零初始条件下系统响应的全部信息。但不影响讨论。
(2)一般只适合描述单输入单输出离散系统。
(3)只适合用于描述线性定常离散系统。
四、开环离散系统的脉冲传递函数
1、串联环节之间有采样开关
这种情况下,各串联环节之间要分开进行Z变换。
G
(
z
)
=
G
1
(
z
)
G
2
(
z
)
G(z)=G_1(z)G_2(z)
G(z)=G1(z)G2(z)
2、串联环节之间没有采样开关
这种情况下,各串联环节之间要乘在一起进行Z变换。
G
(
z
)
=
Z
[
G
1
(
s
)
G
2
(
s
)
]
=
G
1
G
2
(
z
)
G(z)=Z[G_1(s)G_2(s)]=G_1G_2(z)
G(z)=Z[G1(s)G2(s)]=G1G2(z)
结构框图如下:

3、有零阶保持器的开环系统脉冲传递函数
对于带有零阶保持器的系统可做如下变换:

G ( z ) = z − 1 z Z [ G 0 ( s ) s ] G(z)=\frac{z-1}{z}Z[\frac{G_0(s)}{s}] G(z)=zz−1Z[sG0(s)]
即直接将零阶保持器的分母凑到系统传函中,在将余下的部分直接进行变量替换。加零阶保持器不改变 系统的阶数,不改变开环极点,只改变开环零点。
五、离散系统的闭环脉冲传递函数
闭环离散控制系统的典型结构图如下所示:

一般来说,不能直接使用梅森公式求系统闭环脉冲传递函数,这能一点点地从后往前推。
以下两种情况可以使用梅森公式进行求解:
1、单回路(无前馈通道)离散系统,在前向通道至少存在一个实际的采样开关。
2、离散系统结构图中各环节之间均有或有等效采样开关时。