Skip to main content

Digital PI design, plant e^(−5s)/(s+0.4), step response

Short answer

Sampling period T=2.5 s. PI controller GD(z)=0.2028(z-0.5873)/(z-1) with Kp=0.1191 and Ki=0.0837. The step response settles to 1 with zero steady-state error.

Consider the digital control system as shown in figure below, where the plant is of the first order and has a dead time of 5 second. By choosing reasonable sampling time T, design a digital PI controller such that the dominant closed loop poles have a damping ratio ζ of 0.5 and the number of samples per cycle of damped oscillation is 10. After the controller is designed, determine the response of the system to a unit step input. [Figure: unity-feedback loop: r(t)/R(z) → summing junction → sampler (δT = T) → digital PI controller → ZOH → e⁻⁵ˢ/(s+0.4) → c(t)/C(z)]

A digital PI controller GD(z)=Kp+Ki1−z−1=Kz−az−1G_D(z)=K_p+\dfrac{K_i}{1-z^{-1}}=K\dfrac{z-a}{z-1} is designed by the root-locus (angle and magnitude) method in the z-plane. The plant is Gp(s)=e−5ss+0.4G_p(s)=\dfrac{e^{-5s}}{s+0.4} (time constant 2.5 s, dead time 5 s).

Choice of sampling period

  • The dead time should be a whole number of sampling periods, so T=5/NT = 5/N.
  • Ten samples per cycle fixes the angle of the desired pole at ωdT=2π/10=36∘\omega_d T = 2\pi/10 = 36^\circ, whatever T is. Each sample of delay (z−1z^{-1}) then adds 36∘36^\circ of phase lag at that pole.
  • With T=1T = 1 s (N=5N = 5) the delay alone gives 5×36∘=180∘5\times36^\circ = 180^\circ. The poles at z=1z=1 and z=e−0.4z=e^{-0.4} add more than 180∘180^\circ again, and one PI zero cannot make up the difference, so no PI controller exists.
  • Choose T=2.5T = 2.5 s: this equals the plant time constant, the dead time is 2T2T, and the angle condition can be met.

Pulse transfer function of the plant (with ZOH)

With e−0.4T=e−1=0.3679e^{-0.4T}=e^{-1}=0.3679:

G(z)=z−2(1−z−1) Z[1s(s+0.4)]=z−2 (1−e−1)/0.4z−e−1=1.5803z2(z−0.3679)\begin{aligned} G(z) &= z^{-2}(1-z^{-1})\,\mathcal{Z}\left[\frac{1}{s(s+0.4)}\right] = z^{-2}\,\frac{(1-e^{-1})/0.4}{z-e^{-1}}\\ &= \frac{1.5803}{z^{2}(z-0.3679)} \end{aligned}

Desired closed-loop poles

∣z∣=exp⁡(−2πζ101−ζ2)=exp⁡(−0.6283×0.50.8660)=0.6958z1=0.6958∠36∘=0.5629+j0.4090\begin{aligned} |z| &= \exp\left(-\frac{2\pi\zeta}{10\sqrt{1-\zeta^2}}\right) = \exp\left(-\frac{0.6283\times0.5}{0.8660}\right) = 0.6958\\ z_1 &= 0.6958\angle 36^\circ = 0.5629 + j0.4090 \end{aligned}

(This gives ωd=0.2513\omega_d = 0.2513 rad/s and ωn=0.2902\omega_n = 0.2902 rad/s.)

Angle condition

Open loop: GD(z)G(z)=1.5803K(z−a)z2(z−0.3679)(z−1)G_D(z)G(z) = \dfrac{1.5803K(z-a)}{z^2(z-0.3679)(z-1)}. Pole angles at z1z_1:

PoleAngle at z1z_1
z=0z=0 (double)2×36∘=72.0∘2\times36^\circ = 72.0^\circ
z=0.3679z=0.367964.5∘64.5^\circ
z=1z=1136.9∘136.9^\circ
Total273.4∘273.4^\circ

The zero must give 273.4∘−180∘=93.4∘273.4^\circ - 180^\circ = 93.4^\circ:

a=0.5629−0.4090tan⁡93.4∘=0.5873a = 0.5629 - \frac{0.4090}{\tan 93.4^\circ} = 0.5873

Magnitude condition

K=∣z12(z1−0.3679)(z1−1)1.5803(z1−0.5873)∣=0.2028K = \left|\frac{z_1^2(z_1-0.3679)(z_1-1)}{1.5803(z_1-0.5873)}\right| = 0.2028 GD(z)=0.2028(z−0.5873)z−1=0.1191+0.08371−z−1G_D(z) = \frac{0.2028(z-0.5873)}{z-1} = 0.1191 + \frac{0.0837}{1-z^{-1}}

So Kp=Ka=0.1191K_p = Ka = 0.1191 and Ki=K(1−a)=0.0837K_i = K(1-a) = 0.0837.

Unit-step response

C(z)R(z)=0.3204(z−0.5873)z4−1.3679z3+0.3679z2+0.3204z−0.1882\frac{C(z)}{R(z)} = \frac{0.3204(z-0.5873)}{z^4-1.3679z^3+0.3679z^2+0.3204z-0.1882}

Closed-loop poles: 0.5629±j0.40900.5629\pm j0.4090 (designed), 0.75620.7562 and −0.5141-0.5141. Solving the difference equation with r(k)=1r(k)=1:

k0–23456781012152029
c(kT)00.3200.5710.7950.9070.9580.9620.9470.9570.9870.9971.000
  • Output is zero for 3 samples (2 for the dead time, 1 for ZOH plus computation).
  • The extra real pole at 0.7562 slows the final approach, so the response rises to about 0.96, dips slightly and creeps up to 1 with almost no overshoot.
  • Because of the integral action, steady-state error to a step is zero: c(∞)=1c(\infty)=1. Kv=K(1−a)(1.5803)/[T(1−0.3679)]=0.0837 s−1K_v = K(1-a)(1.5803)/[T(1-0.3679)] = 0.0837\ \text{s}^{-1}.

Answer: T=2.5T = 2.5 s, GD(z)=0.2028(z−0.5873)/(z−1)G_D(z) = 0.2028(z-0.5873)/(z-1) (Kp=0.1191K_p = 0.1191, Ki=0.0837K_i = 0.0837); the step response settles at 1 with zero steady-state error.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Control System chapter 4 questions →