Skip to main content

Ladder realization of a second-order filter

Short answer

Write G(z) as a continued fraction in z: A₀=2, B₁=0.7143, A₁=16.333, B₂=0.0357, A₂=−20. The ladder structure uses two delays and realizes the filter via the equations Y₁ = (z⁻¹/B₁)(X−E₁), E₁ = (1/A₁)(Y₁−Y₂), Y₂ = (z⁻¹/B₂)(E₁−E₂), E₂ = (1/A₂)Y₂, with output Y = A₀X + Y₁.

Consider the digital filter defined by G(z)=(2+2.2z⁻¹+0.2z⁻²)/(1+0.4z⁻¹-0.12z⁻²) (equivalently GD(z)=(2z²+2.2z+0.2)/(z²+0.4z-0.12)). Realize this filter in the ladder scheme.

In ladder programming, G(z)G(z) is written as a continued fraction in zz:

G(z)=A0+1B1z+1A1+1B2z+1A2G(z) = A_0 + \cfrac{1}{B_1z + \cfrac{1}{A_1 + \cfrac{1}{B_2z + \cfrac{1}{A_2}}}}

Each 1/(Biz)1/(B_iz) becomes a delay z−1/Biz^{-1}/B_i, and each AiA_i becomes a constant gain.

Write the filter in positive powers of zz:

G(z)=2+2.2z−1+0.2z−21+0.4z−1−0.12z−2=2z2+2.2z+0.2z2+0.4z−0.12G(z) = \frac{2 + 2.2z^{-1} + 0.2z^{-2}}{1 + 0.4z^{-1} - 0.12z^{-2}} = \frac{2z^2 + 2.2z + 0.2}{z^2 + 0.4z - 0.12}

Step 1: Constant term A0A_0

G(z)=2+(2z2+2.2z+0.2)−2(z2+0.4z−0.12)z2+0.4z−0.12=2+1.4z+0.44z2+0.4z−0.12G(z) = 2 + \frac{(2z^2+2.2z+0.2) - 2(z^2+0.4z-0.12)}{z^2+0.4z-0.12} = 2 + \frac{1.4z + 0.44}{z^2 + 0.4z - 0.12}

So A0=2A_0 = 2.

Step 2: B1B_1

z2+0.4z−0.121.4z+0.44=11.4z+0.0857z−0.121.4z+0.44\frac{z^2+0.4z-0.12}{1.4z+0.44} = \frac{1}{1.4}z + \frac{0.0857z - 0.12}{1.4z+0.44}

So B1=1/1.4=0.7143B_1 = 1/1.4 = 0.7143. The remainder is 0.4z−0.3143z=0.0857z0.4z - 0.3143z = 0.0857z (exactly 3z/353z/35).

Step 3: A1A_1

1.4z+0.440.0857z−0.12=1.40.0857+0.44+16.333(0.12)0.0857z−0.12=16.333+2.40.0857z−0.12\frac{1.4z+0.44}{0.0857z-0.12} = \frac{1.4}{0.0857} + \frac{0.44 + 16.333(0.12)}{0.0857z - 0.12} = 16.333 + \frac{2.4}{0.0857z-0.12}

So A1=49/3=16.333A_1 = 49/3 = 16.333.

Step 4: B2B_2 and A2A_2

0.0857z−0.122.4=0.0357z−0.05=B2z+1A2\frac{0.0857z - 0.12}{2.4} = 0.0357z - 0.05 = B_2z + \frac{1}{A_2}

So B2=1/28=0.0357B_2 = 1/28 = 0.0357 and A2=−1/0.05=−20A_2 = -1/0.05 = -20.

G(z)=2+10.7143z+116.333+10.0357z+1−20G(z) = 2 + \cfrac{1}{0.7143z + \cfrac{1}{16.333 + \cfrac{1}{0.0357z + \cfrac{1}{-20}}}}
A0A_0B1B_1A1A_1B2B_2A2A_2
20.714316.3330.0357−20

Ladder block diagram

X(z)--o-----------------[A0]--------------->(S)--> Y(z)
      |                                      ^
      v +                                    | Y1
     (S1)-->[z^-1/B1]-------------o----------+
      ^ -                         | +
      |                           v
      o<--E1--[1/A1]<----------- (S2)
      |                           ^ -
      v +                         |
     (S3)-->[z^-1/B2]-------------o Y2
      ^ -                         |
      |                           |
      +<--E2--[1/A2]<-------------+

Signal equations (these define the ladder diagram; oo marks a take-off point):

Y1=z−1B1(X−E1),E1=1A1(Y1−Y2)Y2=z−1B2(E1−E2),E2=1A2Y2Y=A0X+Y1\begin{aligned} Y_1 &= \tfrac{z^{-1}}{B_1}(X - E_1), & E_1 &= \tfrac{1}{A_1}(Y_1 - Y_2) \\ Y_2 &= \tfrac{z^{-1}}{B_2}(E_1 - E_2), & E_2 &= \tfrac{1}{A_2}Y_2 \\ Y &= A_0X + Y_1 \end{aligned}

With the values: 1/B1=1.41/B_1 = 1.4, 1/A1=0.06121/A_1 = 0.0612, 1/B2=281/B_2 = 28, 1/A2=−0.051/A_2 = -0.05.

Simulating these equations gives the same impulse response as the original difference equation y(k)=−0.4y(k−1)+0.12y(k−2)+2x(k)+2.2x(k−1)+0.2x(k−2)y(k) = -0.4y(k-1) + 0.12y(k-2) + 2x(k) + 2.2x(k-1) + 0.2x(k-2). The realization needs only 2 delays.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Control System chapter 4 questions →