Digital Control Systems
Figure 13: Digital Control System
When using a digital system to control a CT system, the inputs
u(t)u(t)
must be held constant for a particular amount of time. This is equivalent to using a zero-order hold for sampling period
TT
. At an multiple of the sampling period
kTkT
x(kT)=eAkTx(0)+0kTeA(kTτ)Bu(τ)dτ.\mathbf{x}(kT) = e^{AkT}\mathbf{x}(0) + \int_{0}^{kT}e^{A(kT-\tau)}B\mathbf{u}(\tau)d\tau.
If we look only at the output at times which are multiples of
kTkT
(i.e what our CPU would see if we sampled the output), then we can find a relationship between the current sample and the next sample.
eAtx(kT)+x((k+1)T)=eA(k+1)τx(0)0kTeA((k+1)Tτ)Bu(τ)dτ+eA(k+1)τx(0)+0(k+1)TeA((k+1)Tτ)Bu(τ)dτ=kT(k+1)TeA((k+1)Tτ)Bu(τ)dτ=eA(k+1)TBu(kT)kT(k+1)TeAτdτ=Bu(kT)0TeAλdλ(λ=(k+1)Tτ)x((k+1)T)=eAtx(kT)+u(kT)0TBeAλdλ.\begin{aligned} -e^{At}\mathbf{x}(kT) + \mathbf{x}((k+1)T) &= -e^{A(k+1)\tau}\mathbf{x}(0) - \int_{0}^{kT} e^{A((k+1)T-\tau)}B\mathbf{u}(\tau) d\tau \\ &+ e^{A(k+1)\tau}\mathbf{x}(0) + \int_{0}^{(k+1)T} e^{A((k+1)T-\tau)}B\mathbf{u}(\tau) d\tau\\ &= \int_{kT}^{(k+1)T} e^{A((k+1)T-\tau)}B\mathbf{u}(\tau)d\tau = e^{A(k+1)T}B\mathbf{u}(kT)\int_{kT}^{(k+1)T}e^{-A\tau}d\tau\\ &= B\mathbf{u}(kT)\int_0^{T}e^{A\lambda}d\lambda \qquad (\lambda = (k+1)T-\tau)\\ \therefore \mathbf{x}((k+1)T) &= e^{At}\mathbf{x}(kT) + \mathbf{u}(kT)\int_{0}^{T}Be^{A\lambda}d\lambda.\end{aligned}
Looking only at the samples, the discrete system is
x[k+1]=Gx[k]+Hu[k]G=eATH=0TeAλBdλ.(17)\mathbf{x}[k+1] = G\mathbf{x}[k]+H\mathbf{u}[k] \qquad G = e^{AT} \quad H = \int_0^Te^{A\lambda}Bd\lambda. \qquad (17)
If we solve this recursive equation for a particular
x[0]\mathbf{x}[0]
, then we get
x[n]=Gnx[0]+i=0n1GiHu[i].(18)\mathbf{x}[n] = G^n\mathbf{x}[0] + \sum_{i=0}^{n-1}G^iH\mathbf{u}[i]. \qquad (18)
Notice that the stability of this system depends on the eigenvales of
GG
and that
λG<1|\lambda_G|<1
in order for it to be stable. If we want to find a transfer function of the system, then we can use the unilateral Z-transform.
zX(z)zx[0]=GX(z)+HU(z)X(Z)=(zIG)1(HU(z)+x[0]z)(19)\begin{aligned} zX(z) - zx[0] = GX(z) + HU(z)\\ X(Z) = (zI-G)^{-1}(HU(z)+x[0]z) \qquad (19)\end{aligned}
Notice that the poles of the system are still the eigenvalues of the
GG
matrix. Thus any techniques for placing the poles of the
GG
matrix are still valid, except we need to make sure the poles stay within the unit circle for stability instead of the left half plane. If we want to figure out how a system will respond to an input, we can use the final value theorem like we do in CT.

Theorem 15

For a transfer function
G(z)G(z)
which has all poles in the unit circle, the final value of
g[n]g[n]
is given by
limn=g[n]=limz1(z1)G(z).\lim_{n=\to\infty}g[n] = \lim_{z\to1}(z-1)G(z).
The other primary difference from CT is that in DT, a pole which is closer to the origin means a faster transient response.
Copy link