Skip to main content

Controller design with 8 samples per cycle, step response and Kv

Short answer

Digital controller: GD(z)=0.7991(z-0.3679)/(z-0.1926). The step response overshoots by 16.3% and settles to 1. Static velocity error constant Kv=0.626 s^-1.

Consider a digital control system shown in figure below. The plant is a second order system described as G(s)=1/s(s+1). The sampling period of the system is taken to be T = 1 s. Design a digital controller such that the dominant closed loop poles of the system will have damping ratio ζ=0.5 and number of samples per cycle of damped sinusoidal oscillation to be 8. Following the design, obtain the unit step response of the designed system and static velocity error constant Kᵥ. [Figure: unity-feedback loop: R(s) → summing junction → sampler (T = 1 s) → digital controller → ZOH → G(s) → Y(s)]

Step 1: Plant pulse transfer function (T=1T = 1 s)

G(z)=(1−z−1) Z[1s2(s+1)]=0.3679z+0.2642(z−1)(z−0.3679)=0.3679(z+0.7183)(z−1)(z−0.3679)G(z) = (1-z^{-1})\,\mathcal{Z}\left[\frac{1}{s^2(s+1)}\right] = \frac{0.3679z + 0.2642}{(z-1)(z-0.3679)} = \frac{0.3679(z + 0.7183)}{(z-1)(z-0.3679)}

Step 2: Desired poles

With 8 samples per cycle, ωdT=2π/8=45∘\omega_dT = 2\pi/8 = 45^\circ, and

∣z∣=exp⁡(−2πζ1−ζ2⋅18)=e−0.4534=0.6354z1,2=0.6354∠±45∘=0.4493±j0.4493\begin{aligned} |z| &= \exp\left(-\frac{2\pi\zeta}{\sqrt{1-\zeta^2}}\cdot\frac{1}{8}\right) = e^{-0.4534} = 0.6354 \\ z_{1,2} &= 0.6354\angle \pm 45^\circ = 0.4493 \pm j0.4493 \end{aligned}

Step 3: Angle condition

FactorAngle at z1z_1
zero at −0.7183-0.7183+21.05∘+21.05^\circ
pole at 11−140.79∘-140.79^\circ
pole at 0.36790.3679−79.73∘-79.73^\circ
Total−199.47∘-199.47^\circ

The controller must add +19.47∘+19.47^\circ, so a lead compensator is needed.

Step 4: Lead controller GD(z)=Kz−0.3679z−βG_D(z) = K\dfrac{z-0.3679}{z-\beta}

The zero cancels the plant pole at 0.3679 and adds +79.73∘+79.73^\circ. The controller pole must contribute 79.73∘−19.47∘=60.26∘79.73^\circ - 19.47^\circ = 60.26^\circ:

β=0.4493−0.4493tan⁡60.26∘=0.1926\beta = 0.4493 - \frac{0.4493}{\tan 60.26^\circ} = 0.1926

Step 5: Gain

K=∣z1−1∣ ∣z1−0.1926∣0.3679 ∣z1+0.7183∣=0.7107×0.51750.3679×1.2511=0.7991K = \frac{|z_1-1|\,|z_1-0.1926|}{0.3679\,|z_1+0.7183|} = \frac{0.7107 \times 0.5175}{0.3679 \times 1.2511} = 0.7991 GD(z)=0.7991 z−0.3679z−0.1926G_D(z) = 0.7991\,\frac{z - 0.3679}{z - 0.1926}

Step 6: Closed-loop pulse transfer function

GDG=0.2940(z+0.7183)(z−1)(z−0.1926)C(z)R(z)=0.2940z+0.2112z2−0.8986z+0.4038\begin{aligned} G_DG &= \frac{0.2940(z + 0.7183)}{(z-1)(z-0.1926)} \\ \frac{C(z)}{R(z)} &= \frac{0.2940z + 0.2112}{z^2 - 0.8986z + 0.4038} \end{aligned}

The poles are 0.4493±j0.44930.4493 \pm j0.4493, as desired. ✔

Step 7: Unit step response

With R(z)=z/(z−1)R(z) = z/(z-1), the difference equation is c(k)=0.8986c(k−1)−0.4038c(k−2)+0.2940r(k−1)+0.2112r(k−2)c(k) = 0.8986c(k-1) - 0.4038c(k-2) + 0.2940r(k-1) + 0.2112r(k-2), where r(k)=1r(k) = 1:

kk012345678910
c(k)c(k)00.2940.7691.0781.1631.1151.0380.9870.9730.9810.994

The maximum overshoot is about 16.3% at k=4k = 4, which matches ζ=0.5\zeta = 0.5. One damped cycle takes about 8 samples, and c(∞)=1c(\infty) = 1 (type-1 system).

Step 8: Static velocity error constant

Kv=lim⁡z→1(1−z−1)GDGT=0.2940×1.71831×(1−0.1926)=0.626 s−1K_v = \lim_{z\to1}\frac{(1-z^{-1})G_DG}{T} = \frac{0.2940 \times 1.7183}{1 \times (1 - 0.1926)} = 0.626\ \text{s}^{-1}

Answer: GD(z)=0.7991z−0.3679z−0.1926G_D(z) = 0.7991\dfrac{z-0.3679}{z-0.1926}. The step response overshoots by 16.3% and settles to 1, and Kv=0.626 s−1K_v = 0.626\ \text{s}^{-1}.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Control System chapter 4 questions →