Digital Control Systems

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.

Last updated