Skip to main content

Standard and series realization of a filter

Short answer

Standard: define w(k)=x(k)-0.6w(k-1)-0.7w(k-2)-0.5w(k-3) and y(k)=0.6w(k-1)+0.7w(k-2) using 3 delays. Series: factor as G(z)=0.6 * [1/(1+0.6697z^-1)] * [(z^-1+1.1667z^-2)/(1-0.0697z^-1+0.7467z^-2)], giving two cascaded first- and second-order blocks.

Consider the digital filter defined by G(z)=(6z²+7z)/(10z³+6z²+7z+5). Realize this filter in the standard and series scheme.

Divide by 10z310z^3:

G(z)=6z2+7z10z3+6z2+7z+5=0.6z−1+0.7z−21+0.6z−1+0.7z−2+0.5z−3G(z) = \frac{6z^2 + 7z}{10z^3 + 6z^2 + 7z + 5} = \frac{0.6z^{-1} + 0.7z^{-2}}{1 + 0.6z^{-1} + 0.7z^{-2} + 0.5z^{-3}}

(a) Standard programming

Introduce an intermediate variable W(z)=X(z)/(denominator)W(z) = X(z)/(\text{denominator}):

w(k)=x(k)−0.6w(k−1)−0.7w(k−2)−0.5w(k−3)y(k)=0.6w(k−1)+0.7w(k−2)\begin{aligned} w(k) &= x(k) - 0.6w(k-1) - 0.7w(k-2) - 0.5w(k-3) \\ y(k) &= 0.6w(k-1) + 0.7w(k-2) \end{aligned}
x(k)-->(S)------------o
        ^             |
        |          [z^-1]
        |             | w(k-1)
       (S)<[-0.6]-----o--[0.6]------>(S)--> y(k)
        ^             |               ^
        |          [z^-1]             |
        |             | w(k-2)        |
       (S)<[-0.7]-----o--[0.7]--------+
        ^             |
        |          [z^-1]
        |             | w(k-3)
        +<[-0.5]------o

Only n=3n = 3 delays are used, the minimum number.

(b) Series programming

Factor the denominator. Its real root, found numerically, is z=−0.6697z = -0.6697:

10z3+6z2+7z+5=10(z+0.6697)(z2−0.0697z+0.7467)10z^3 + 6z^2 + 7z + 5 = 10(z + 0.6697)(z^2 - 0.0697z + 0.7467)

The quadratic has complex roots 0.0348±j0.86340.0348 \pm j0.8634, so it is kept as one second-order block. The numerator is 6z2+7z=6z(z+1.1667)6z^2 + 7z = 6z(z + 1.1667). So

G(z)=0.6⋅11+0.6697z−1⏟G1⋅z−1+1.1667z−21−0.0697z−1+0.7467z−2⏟G2G(z) = 0.6\cdot\underbrace{\frac{1}{1 + 0.6697z^{-1}}}_{G_1}\cdot\underbrace{\frac{z^{-1} + 1.1667z^{-2}}{1 - 0.0697z^{-1} + 0.7467z^{-2}}}_{G_2}

Check: 0.6(z−1+1.1667z−2)=0.6z−1+0.7z−20.6(z^{-1} + 1.1667z^{-2}) = 0.6z^{-1} + 0.7z^{-2}, and (1+0.6697z−1)(1−0.0697z−1+0.7467z−2)=1+0.6z−1+0.7z−2+0.5z−3(1 + 0.6697z^{-1})(1 - 0.0697z^{-1} + 0.7467z^{-2}) = 1 + 0.6z^{-1} + 0.7z^{-2} + 0.5z^{-3}. ✔

Difference equations:

  • w1(k)=x(k)−0.6697w1(k−1)w_1(k) = x(k) - 0.6697w_1(k-1), and y1(k)=0.6w1(k)y_1(k) = 0.6w_1(k)
  • w2(k)=y1(k)+0.0697w2(k−1)−0.7467w2(k−2)w_2(k) = y_1(k) + 0.0697w_2(k-1) - 0.7467w_2(k-2)
  • y(k)=w2(k−1)+1.1667w2(k−2)y(k) = w_2(k-1) + 1.1667w_2(k-2)

Block G1G_1 (with gain 0.6):

x(k)-->(S)------------o--[1]-------->(S)->[0.6]-> y1(k)
        ^             |
        |          [z^-1]
        |             | w1(k-1)
        +<[-0.6697]---o

Block G2G_2:

y1(k)-->(S)------------o
         ^             |
         |          [z^-1]
         |             | w2(k-1)
        (S)<[0.0697]---o--[1]-------->(S)--> y(k)
         ^             |               ^
         |          [z^-1]             |
         |             | w2(k-2)       |
         +<[-0.7467]---o--[1.1667]-----+

The series form also uses 3 delays. Each block is first- or second-order, so it is less sensitive to coefficient rounding.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Control System chapter 4 questions →