---
title: "Series programming of a digital controller"
subject: "Digital Control System"
chapter: 4
key: "semester_6/digital_control_system:series-programming-controller"
source: https://www.bctengineer.com/q/semester_6/digital_control_system/series-programming-controller
site: BCT Engineering
---

# Series programming of a digital controller

Digital Control System · Chapter 4: Design and Compensation of Discrete Time Control System

- Asked in: 2082 Chaitra, 3 marks; 2077 Chaitra, 4 marks (asked 2 times)
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/digital_control_system/series-programming-controller
- Whole chapter: https://www.bctengineer.com/md/semester_6/digital_control_system/chapter-4

## Question

Realize the given digital controller by series programming: G(z)=4(z-1)(z²+1.2z+1)/((z+0.1)(z²-0.3z+0.8)).

## Short answer

Factor G(z) into first- and second-order sections: G1=(1-z^{-1})/(1+0.1z^{-1}) and G2=4(1+1.2z^{-1}+z^{-2})/(1-0.3z^{-1}+0.8z^{-2}). Cascade with standard programming, using intermediate variables w1(k)=x(k)-0.1w1(k-1), y1(k)=w1(k)-w1(k-1), and w2(k)=y1(k)+0.3w2(k-1)-0.8w2(k-2), y(k)=4[w2(k)+1.2w2(k-1)+w2(k-2)]. Requires three delay elements.

## Answer

In **series (cascade) programming**, $G(z)$ is factored into first- and second-order sections. Each section is realized by standard programming, and the sections are connected in cascade.

#### Step 1: Factor into sections (divide each factor by the highest power of $z$)
$$
G(z) = 4\cdot\underbrace{\frac{1 - z^{-1}}{1 + 0.1z^{-1}}}_{G_1(z)}\cdot\underbrace{\frac{1 + 1.2z^{-1} + z^{-2}}{1 - 0.3z^{-1} + 0.8z^{-2}}}_{G_2(z)}
$$

#### Step 2: Difference equations
**Section 1:** $G_1 = Y_1/X$, with intermediate variable $w_1$:
- $w_1(k) = x(k) - 0.1w_1(k-1)$
- $y_1(k) = w_1(k) - w_1(k-1)$

**Section 2:** input $y_1$, intermediate $w_2$
- $w_2(k) = y_1(k) + 0.3w_2(k-1) - 0.8w_2(k-2)$
- $y(k) = 4\big[w_2(k) + 1.2w_2(k-1) + w_2(k-2)\big]$

#### Step 3: Block diagram (two standard-programmed sections in cascade)
Section 1, $G_1(z)$:
```text
x(k)-->(S)------------o--[1]-------->(S)--> y1(k)
        ^             |               ^
        |          [z^-1]             |
        |             | w1(k-1)       |
        +<[-0.1]------o--[-1]---------+
```
Section 2, $G_2(z)$, followed by the gain 4:
```text
y1(k)-->(S)------------o--[1]-------->(S)->[4]-> y(k)
         ^             |               ^
         |          [z^-1]             |
         |             | w2(k-1)       |
        (S)<[0.3]------o--[1.2]------>(S)
         ^             |               ^
         |          [z^-1]             |
         |             | w2(k-2)       |
         +<[-0.8]------o--[1]----------+
```
The realization uses only $1 + 2 = 3$ delay elements, the minimum for a third-order filter. The overall gain 4 can be placed at either end.

#### Why series programming
- A coefficient error in one section moves only that section's poles and zeros. The structure is less sensitive to coefficient quantization than direct programming of the whole third-order polynomial.
- The complex poles $z = 0.15 \pm j0.882$ (with $|z| = 0.894$) are kept together in one real-coefficient second-order section.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Series (cascade) programming realizes G(z) by
   A. Adding partial-fraction branches
   B. Factoring into first and second order sections realized separately and cascaded
   C. A continued fraction
   D. A single direct form
   Answer: B. Each factor section is realized by standard programming and the sections are cascaded. (Key point: Series programming idea)

2. Which factorization is used for 4(z-1)(z^2+1.2z+1)/((z+0.1)(z^2-0.3z+0.8))?
   A. 4 * (1 - z^-1)/(1 + 0.1z^-1) * (1 + 1.2z^-1 + z^-2)/(1 - 0.3z^-1 + 0.8z^-2)
   B. 4 * (1 + z^-1)/(1 - 0.1z^-1) * (1 - 1.2z^-1 + z^-2)/(1 + 0.3z^-1 + 0.8z^-2)
   C. (1 - z^-1)/(1 + 0.1z^-1) without the gain 4
   D. 4 * (z-1)/(z+0.1) only
   Answer: A. Each factor is divided by its highest power of z to give sections in z^-1. (Key point: Factorization)

3. The difference equation for the second-order section's intermediate variable is
   A. w2(k) = y1(k) + 0.3w2(k-1) - 0.8w2(k-2)
   B. w2(k) = y1(k) - 0.3w2(k-1) + 0.8w2(k-2)
   C. w2(k) = y1(k) + 0.3w2(k-1) + 0.8w2(k-2)
   D. w2(k) = x(k) - 0.1w2(k-1)
   Answer: A. Denominator 1 - 0.3z^-1 + 0.8z^-2 gives w2 = y1 + 0.3 w2(k-1) - 0.8 w2(k-2). (Key point: Second-section equation)

4. A benefit of series programming over direct programming is that
   A. It needs fewer delays than the minimum
   B. A coefficient error only moves poles and zeros of that section, so it is less sensitive to quantization
   C. It removes the need for gain
   D. It makes the filter unconditionally stable
   Answer: B. Errors in one section's coefficients affect only that section's roots; delays remain 3, the minimum. (Key point: Why use series programming)

## Close variants set in other exams

- [Direct programming of a third-order controller](https://www.bctengineer.com/question.md?key=semester_6%2Fdigital_control_system%3Adirect-programming-6z2-7z) — Digital Control System, chapter 4, asked 4×
- [Direct programming of a third-order controller](https://www.bctengineer.com/question.md?key=semester_6%2Fdigital_control_system%3Adirect-programming-6z2-7z-16) — Digital Control System, chapter 4, asked 4×

## Related in Digital Control System

- [Controllable canonical form of (z⁻¹+2z⁻²)/(1+4z⁻¹+3z⁻²)](https://www.bctengineer.com/question.md?key=semester_6%2Fdigital_control_system%3Accf-z1-2z2-4z1-3z2) — Digital Control System, chapter 5, asked 15×
- [Controllable canonical form of (4z³+3z²+5z+4)/(2z³+5z²+2z+3)](https://www.bctengineer.com/question.md?key=semester_6%2Fdigital_control_system%3Accf-4z3-3z2) — Digital Control System, chapter 5, asked 14×
- [Observable canonical form of (0.3z⁻¹+0.6z⁻²)/(1−0.2z⁻¹+0.5z⁻²)](https://www.bctengineer.com/question.md?key=semester_6%2Fdigital_control_system%3Aocf-0-3-0-6) — Digital Control System, chapter 5, asked 13×
- [Jury test: z⁴−1.2z³+0.07z²+0.3z−0.08](https://www.bctengineer.com/question.md?key=semester_6%2Fdigital_control_system%3Ajury-z4-1-2z3-0-3z) — Digital Control System, chapter 3, asked 3×
- [Controllable canonical form of (3z²+7z+15)/(z²+2z+4)](https://www.bctengineer.com/question.md?key=semester_6%2Fdigital_control_system%3Accf-3z2-7z-15) — Digital Control System, chapter 5
- [Observable canonical form of (3z²+7z+1)/(z²+2z+4)](https://www.bctengineer.com/question.md?key=semester_6%2Fdigital_control_system%3Aocf-3z2-7z-1) — Digital Control System, chapter 5

## Related in other subjects

- [Lattice structure of 1+2z⁻¹−3z⁻²+4z⁻³](https://www.bctengineer.com/question.md?key=semester_7%2Fdigital_signal_analysis_and_processing%3Alattice-coeff-1-2-minus3-4) — Digital Signal Analysis and Processing, chapter 4, asked 4×
- [Inverse z of (3z³+2z)/((z-3)²(z-2)), inversion integral](https://www.bctengineer.com/question.md?key=semester_4%2Fapplied_mathematics%3Ainverse-z-3z3-2z-inversion) — Applied Mathematics, chapter 2, asked 3×
- [Find x(2), x(3) from X(z)=(2z²+3z+12)/(z-1)⁴](https://www.bctengineer.com/question.md?key=semester_4%2Fapplied_mathematics%3Ainverse-z-find-x2-x3) — Applied Mathematics, chapter 2
- [Laurent series of 1/(z²-3z+2), 1<|z|<2](https://www.bctengineer.com/question.md?key=semester_4%2Fapplied_mathematics%3Alaurent-1-over-z2-3z-2) — Applied Mathematics, chapter 1, asked 2×
