Berkeley Notes
  • Introduction
  • EE120
    • Introduction to Signals and Systems
    • The Fourier Series
    • The Fourier Transform
    • Generalized transforms
    • Linear Time-Invariant Systems
    • Feedback Control
    • Sampling
    • Appendix
  • EE123
    • The DFT
    • Spectral Analysis
    • Sampling
    • Filtering
  • EECS126
    • Introduction to Probability
    • Random Variables and their Distributions
    • Concentration
    • Information Theory
    • Random Processes
    • Random Graphs
    • Statistical Inference
    • Estimation
  • EECS127
    • Linear Algebra
    • Fundamentals of Optimization
    • Linear Algebraic Optimization
    • Convex Optimization
    • Duality
  • EE128
    • Introduction to Control
    • Modeling Systems
    • System Performance
    • Design Tools
    • Cascade Compensation
    • State-Space Control
    • Digital Control Systems
    • Cayley-Hamilton
  • EECS225A
    • Hilbert Space Theory
    • Linear Estimation
    • Discrete Time Random Processes
    • Filtering
  • EE222
    • Real Analysis
    • Differential Geometry
    • Nonlinear System Dynamics
    • Stability of Nonlinear Systems
    • Nonlinear Feedback Control
Powered by GitBook
On this page

Was this helpful?

  1. EE128

Digital Control Systems

PreviousState-Space ControlNextCayley-Hamilton

Last updated 3 years ago

Was this helpful?

When using a digital system to control a CT system, the inputs u(t)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 TTT. At an multiple of the sampling period kTkTkT

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.x(kT)=eAkTx(0)+∫0kT​eA(kT−τ)Bu(τ)dτ.

If we look only at the output at times which are multiples of kTkTkT (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)Te−Aτ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}−eAtx(kT)+x((k+1)T)∴x((k+1)T)​=−eA(k+1)τx(0)−∫0kT​eA((k+1)T−τ)Bu(τ)dτ+eA(k+1)τx(0)+∫0(k+1)T​eA((k+1)T−τ)Bu(τ)dτ=∫kT(k+1)T​eA((k+1)T−τ)Bu(τ)dτ=eA(k+1)TBu(kT)∫kT(k+1)T​e−Aτdτ=Bu(kT)∫0T​eAλdλ(λ=(k+1)T−τ)=eAtx(kT)+u(kT)∫0T​BeAλdλ.​

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)x[k+1]=Gx[k]+Hu[k]G=eATH=∫0T​eAλBdλ.(17)

If we solve this recursive equation for a particular x[0]\mathbf{x}[0]x[0], then we get

x[n]=Gnx[0]+∑i=0n−1GiHu[i].(18)\mathbf{x}[n] = G^n\mathbf{x}[0] + \sum_{i=0}^{n-1}G^iH\mathbf{u}[i]. \qquad (18)x[n]=Gnx[0]+∑i=0n−1​GiHu[i].(18)

Notice that the stability of this system depends on the eigenvales of GGG and that ∣λG∣<1|\lambda_G|<1∣λ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)=(zI−G)−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}zX(z)−zx[0]=GX(z)+HU(z)X(Z)=(zI−G)−1(HU(z)+x[0]z)(19)​

Notice that the poles of the system are still the eigenvalues of the GGG matrix. Thus any techniques for placing the poles of the GGG 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)G(z) which has all poles in the unit circle, the final value of g[n]g[n]g[n] is given by

lim⁡n=→∞g[n]=lim⁡z→1(z−1)G(z).\lim_{n=\to\infty}g[n] = \lim_{z\to1}(z-1)G(z).limn=→∞​g[n]=limz→1​(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.

Figure 13: Digital Control System