Skip to content

System Interconnections: Series, Parallel, Feedback

Copy this iframe to your website:

1
<iframe src="https://dmccreary.github.io/signal-processing/sims/system-interconnections/main.html" width="100%" height="662px" scrolling="no"></iframe>

Run MicroSim in Fullscreen

Description

This MicroSim builds a system from two blocks, \(H_1\) and \(H_2\), and shows how the behavior of the whole follows from the parts. Everything runs in discrete time at \(f_s = 100\) Hz (\(T = 0.01\) s). Each block is one of:

  • Gain \(K\) (−2 to 2): \(y[n] = K\,x[n]\), so \(H(z) = K\)
  • Low-pass with time constant \(\tau\) (0.01 to 0.50 s): \(y[n] = a\,y[n-1] + (1-a)\,x[n]\) with \(a = e^{-T/\tau}\), so \(H(z) = (1-a)/(1 - a z^{-1})\)
  • Delay of \(D\) samples (1 to 50, that is 0.01 to 0.50 s): \(y[n] = x[n-D]\), so \(H(z) = z^{-D}\)

The Topology menu connects them in series, \(H = H_1 H_2\); in parallel, \(H = H_1 + H_2\); in a negative-feedback loop, \(H = H_1/(1 + H_1 H_2)\), with \(H_1\) in the forward path and \(H_2\) in the return path; or as a feedforward structure, \(H = 1 + H_1 H_2\), where the input reaches the summing junction both directly and through \(H_1\) then \(H_2\), and no signal travels backward.

The block diagram redraws as you change the menus and sliders, and the feedback loop turns red when it is unstable. Below it the sim prints the overall \(H(z)\), the difference equation that implements it, and the DC gain \(H(1)\). The pole-zero plot marks poles with × and zeros with ○, gives the largest pole magnitude, and shows a badge: stable (all poles inside \(|z| = 1\)), marginally stable (poles on the circle), unstable (a pole outside), or ill-posed (a loop with no delay in which \(1 + H_1 H_2 = 0\), so \(y[n]\) cannot be computed). The bottom plots show the step response \(s[n]\) and the impulse response \(h[n]\) from 0 to 2 s. Values beyond ±4 are clipped and drawn in red.

This simulation is used in Chapter 3: System Properties and Analysis.

Lesson Plan

Learning Objectives

After using this MicroSim, students will be able to:

  1. Calculate the overall transfer function of two blocks connected in series (\(H_1 H_2\)), in parallel (\(H_1 + H_2\)), in negative feedback (\(H_1/(1 + H_1 H_2)\)) and as a feedforward structure (\(1 + H_1 H_2\))
  2. Derive the difference equation of the combined system from \(H(z)\) and use it to predict the step and impulse responses
  3. Classify the combined system as stable, marginally stable or unstable from the largest pole magnitude
  4. Analyze how a delay inside a feedback loop produces oscillation, and instability when the loop gain exceeds 1, while the same blocks connected without a loop stay stable
  5. Explain the trade-off negative feedback makes between DC gain and speed of response

Target Audience

Undergraduate students in a first signals and systems course (sophomore or junior engineering, physics or computer science). Plan 25 minutes for the activities below.

Prerequisites

  • Impulse response, step response and BIBO stability (Chapter 3)
  • Difference equations and the meaning of \(z^{-1}\) as a one-sample delay
  • Complex numbers in polar form, for reading the pole-zero plot

Activities

Activity 1: Series and parallel (5 min). Press Reset, then set H₁ = Gain with \(K_1 = 0.80\) and H₂ = Delay with \(D_2 = 10\) (these are the defaults). Choose Series: \(H(z) = 0.8z^{-10}\), the impulse response is a single spike of 0.8 at \(t = 0.10\) s, and the step response stays at 0 until 0.10 s and then holds at 0.8. Choose Parallel: \(H(z) = 0.8 + z^{-10}\), the impulse response has spikes of 0.8 at \(t = 0\) and 1 at \(t = 0.10\) s, and the step response steps to 0.8 and then to 1.8 (\(H(1) = 1.800\)). Both systems are FIR: the only poles are 10 poles at \(z = 0\), and the badge says stable.

Activity 2: Two low-pass blocks (5 min). Set both blocks to Low-pass with \(\tau = 0.10\) s, so each has \(a = 0.905\). In Series the read-out shows a double pole at \(z = 0.905\) and \(H(1) = 1.000\). The step response is S-shaped and first reaches 63% of its final value at \(t = 0.20\) s; a single block (change H₂ to Gain with \(K_2 = 1.00\)) reaches 63% at \(t = 0.09\) s. In Parallel with both blocks at \(\tau = 0.10\) s the two identical poles merge into one, \(H(z) = 0.19/(1 - 0.905z^{-1})\), and \(H(1) = 2.000\).

Activity 3: Feedback trades gain for speed (5 min). Choose Negative feedback, H₁ = Low-pass with \(\tau_1 = 0.10\) s and H₂ = Gain. With \(K_2 = 0\) there is no feedback: pole \(z = 0.905\) (\(\tau = 0.100\) s) and \(H(1) = 1.000\). With \(K_2 = 1.00\) the pole moves to \(z = 0.826\) (\(\tau = 0.052\) s), \(H(1) = 0.500\), and the step response reaches 63% of its final value at \(t = 0.05\) s. With \(K_2 = 2.00\) the pole is \(z = 0.760\) (\(\tau = 0.036\) s), \(H(1) = 0.333\) and the 63% point is at \(t = 0.03\) s. These are close to the continuous-time prediction \(\tau/(1 + K)\): 0.050 s and 0.033 s.

Activity 4: A delay in the loop (10 min). Press Reset (negative feedback, \(K_1 = 0.80\), \(D_2 = 10\)). The loop equation is \(y[n] = 0.8x[n] - 0.8y[n-10]\), so each correction arrives 0.10 s late. The step response alternates 0.80, 0.16, 0.672, 0.262 and settles toward \(H(1) = 0.444\); the 10 poles lie on \(|z| = 0.978\). Raise \(K_1\) to 1.00: the badge changes to marginally stable, the poles sit on the unit circle and the step response becomes a square wave between 1 and 0 with period 0.20 s that never decays. Raise \(K_1\) to 1.20: the poles move out to \(|z| = 1.018\), the oscillation grows, and the step response leaves the ±4 display range at \(t = 1.00\) s. Now keep \(K_1 = 1.20\) and switch the topology to Feedforward: \(H(z) = 1 + 1.2z^{-10}\) is stable, and its 10 zeros lie on \(|z| = 1.018\), exactly where the feedback loop put its poles. Finally return to Negative feedback and change H₂ to Gain (\(K_2 = 1.00\)): without the delay the loop is just the constant \(H = 1.2/2.2 = 0.545\), with no poles.

Assessment

  1. H₁ is a gain of 2 and H₂ a gain of 1 in negative feedback. What is the overall system? Answer: \(H = 2/(1 + 2 \cdot 1) = 0.667\), a memoryless gain with no poles; the sim shows \(H(z) = 0.667\).
  2. H₁ is a gain of 0.5 and H₂ a delay of 5 samples in negative feedback. Find \(H(z)\), the pole magnitude and the DC gain. Answer: \(H(z) = 0.5/(1 + 0.5z^{-5})\). The poles solve \(z^5 = -0.5\), so all five have \(|z| = 0.5^{1/5} = 0.871\) and the system is stable, with \(H(1) = 0.5/1.5 = 0.333\).
  3. H₁ is a gain of −1 and H₂ a low-pass with \(\tau = 0.10\) s, connected in parallel. What are \(H(1)\) and \(h[0]\), and what kind of filter is this? Answer: \(H(1) = -1 + 1 = 0\) and \(h[0] = -1 + 0.0952 = -0.905\). The system blocks DC and passes sudden changes: it is an inverted high-pass filter, \(H(z) = (-0.905 + 0.905z^{-1})/(1 - 0.905z^{-1})\).
  4. A gain of 1.2 and a delay of 10 samples are unstable in negative feedback but stable in series, parallel and feedforward. Why? Answer: only the feedback connection has a loop. Its denominator \(1 + 1.2z^{-10}\) has poles at \(|z| = 1.2^{1/10} = 1.018\). In the other connections the denominator is just \(A_1 A_2 = 1\), so the poles are those of the blocks, all at \(z = 0\).
  5. In negative feedback with \(K_1 = -0.80\) and \(D_2 = 10\) (that is, positive feedback), what final value does the step response approach? Answer: \(H(1) = -0.8/(1 - 0.8) = -4.0\). The output moves toward −4 without oscillating and reads −3.95 at \(t = 1.99\) s.

Common Misconceptions

"Feedback always makes a system more stable." Negative feedback steadies the low-pass in Activity 3, but with a delay in the loop the same idea fails: the correction arrives late and pushes in the wrong direction. With \(K_1 = 1.20\) and \(D_2 = 10\) the badge reads unstable, while the same two blocks in series, parallel or feedforward are stable.

"Marginally stable means the output stays bounded." Set negative feedback with \(K_1 = -1.00\) and \(D_2 = 10\). The poles lie on the unit circle (one is at \(z = 1\)) and the badge says marginally stable, yet the step response steps down by 1 every 0.10 s and reaches −20 at \(t = 1.99\) s. A pole on the unit circle means the system is not BIBO stable, and \(H(1)\) is infinite.

References

  1. Block diagram - Wikipedia - drawing systems as blocks joined by signal lines and summing junctions
  2. Negative feedback - Wikipedia - the closed-loop gain \(G/(1 + GH)\) and its trade-off between gain and speed
  3. Feed forward (control) - Wikipedia - systems that act on the input without a feedback loop
  4. Comb filter - Wikipedia - the feedforward and feedback forms of a gain plus a delay, as in Activity 4
  5. BIBO stability - Wikipedia - why poles must lie inside the unit circle for a bounded output
  6. Z-transform - Wikipedia - transfer functions in \(z^{-1}\), poles, zeros and the region of convergence
  7. The Scientist and Engineer's Guide to Digital Signal Processing - Steven W. Smith - free online textbook with chapters on recursive filters and the z-transform