Skip to content

System Property Explorer

Copy this iframe to your website:

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

Run MicroSim in Fullscreen

Edit in the p5.js Editor

Description

Each system property is a statement that two signals must be equal. This MicroSim builds both signals for the system you select and overlays them on the output plot. When a property holds, the dashed orange curve lies exactly on the solid blue one. When it fails, the curves separate, and the panel below the plots reports the maximum difference and a one-line reason.

Use the System menu to choose one of eight example systems and the Test menu to run a linearity, time-invariance, causality or BIBO stability test. The Amplitude A, Frequency f and Time shift \(t_0\) sliders change the test input, so you can check whether a verdict depends on the input. The frequency slider is greyed out for the stability test, which uses a step. Five badges across the top give the true classification of the selected system, and the badge for the running test has a heavy outline.

The simulation illustrates superposition, time shifting, the rule that a causal output cannot depend on future input, and the definition of BIBO stability. It also makes a point of logic: one example can disprove a property but cannot prove it. It supports the section on system properties in Chapter 3: System Properties and Analysis.

Mathematical Concepts

Test What is compared Input used
Linearity \(\mathcal{T}[A x_1 + x_2]\) against \(A\,\mathcal{T}[x_1] + \mathcal{T}[x_2]\) \(x_1\) is a sine burst, \(x_2\) is a 2 s pulse starting at \(t_0\)
Time-invariance \(\mathcal{T}[x(t - t_0)]\) against \(y(t - t_0)\) A sine burst of amplitude \(A\)
Causality Outputs for two inputs that are identical up to \(t_0\) A sine burst, and the same burst with 1 added after \(t_0\)
BIBO stability Whether the output stays bounded The bounded step \(A\,u(t - t_0)\)

The sine burst is \(\sin(2\pi f t)\) for \(0 \le t \le 4\) s and zero elsewhere. The badges give the true classification of the selected system:

System Linear Time-invariant Causal BIBO stable Memoryless
Amplifier \(y(t) = 2x(t)\) yes yes yes yes yes
Linear filter \(y(t) = \int_{t-1}^{t} x(\tau)\,d\tau\) yes yes yes yes no
Time-varying multiplier \(y(t) = t\,x(t)\) yes no yes no yes
Squarer \(y(t) = x^2(t)\) no yes yes yes yes
Compressor \(y(t) = \tanh(x(t))\) no yes yes yes yes
Predictor \(y(t) = x(t + 1)\) yes yes no yes no
Integrator \(y(t) = \int_{-\infty}^{t} x(\tau)\,d\tau\) yes yes yes no no
Offset \(y(t) = x(t) + 1\) no yes yes yes yes

One example can disprove a property, but cannot prove it

A property must hold for every input. A single pair of curves that separate is enough to show that a property fails. Curves that match only show that the property holds for those inputs. For some slider settings a nonlinear system passes the linearity comparison by coincidence (try the squarer with \(A = 1\) and \(t_0 = 4\) s, where the burst and the pulse do not overlap). The MicroSim then reports that the system is not linear and that these inputs do not show it.

How to Use

  1. Choose a System and a Test.
  2. Compare the solid blue and dashed orange curves on the output plot. Read the verdict and the one-line reason in the panel below the plots.
  3. Move Amplitude, Frequency and Time shift to change the test input and check whether the verdict depends on the input.
  4. For the causality test the vertical dashed line marks \(t_0\), where the two inputs begin to differ. A thick red trace marks any output difference that appears before \(t_0\).
  5. For the stability test the dotted red lines mark the input bound \(\pm A\).

Lesson Plan

Learning Objectives

By the end of this activity, students will be able to:

  1. Explain the superposition principle and test a system for linearity.
  2. Distinguish time-invariant systems from time-varying systems using a shifted input.
  3. Determine whether a system is causal by comparing outputs for inputs that agree up to a given time.
  4. Classify a system as BIBO stable or unstable from its response to a bounded input.
  5. Evaluate why a single matching example cannot prove that a system has a property.

Target Audience

Undergraduate students in an introductory signals and systems course. Plan 20-25 minutes for the activities below.

Prerequisites

  • Signals as functions of time, time shifting
  • The unit step function
  • Basic integration

Activities

Activity 1: Predict first (5 min). Before running any test, fill in a table of the four tested properties for \(y(t) = 2x(t)\), \(y(t) = t\,x(t)\), \(y(t) = x^2(t)\) and \(y(t) = x(t+1)\). Then select each system and read the badges.

  • The amplifier has all four properties.
  • The multiplier is linear and causal but not time-invariant and not BIBO stable.
  • The squarer is time-invariant, causal and stable but not linear.
  • The predictor is linear, time-invariant and stable but not causal.

Activity 2: Put a number on each failure (10 min). Keep the defaults \(A = 2\) and \(t_0 = 2\) s unless stated.

  • Select the time-varying multiplier and the time-invariance test. The maximum difference is 4.00. Explain this number from \(\mathcal{T}[x(t - t_0)] - y(t - t_0) = t_0\,x(t - t_0)\), whose peak is \(t_0 A\).
  • Select the offset system and the linearity test. The maximum difference is 2.00. Set \(A = 1\) and then \(A = 3\): it becomes 1.00 and 3.00, so it equals \(A\) for every setting. Explain why from the two expressions in the reason line.
  • Select the integrator and the stability test. The panel reports a magnitude of 16.0 at \(t = 10\) s. Compare it with \(A\,(10 - t_0) = 2 \cdot 8 = 16\).
  • Select the predictor and the causality test. The thick red trace runs from \(t = 1\) s to \(t = 2\) s and the difference is up to 1.00. Why does the trace start 1 s before \(t_0\)?

Activity 3: Matching curves that prove nothing (5 min). Select the squarer and the linearity test.

  • Set \(A = 1\) and \(t_0 = 4\) s. The curves coincide and the maximum difference is 0.00, but the verdict reads "Not linear, but these inputs do not show it".
  • Raise \(A\) to 2. The curves separate and the maximum difference becomes 2.00 (it is 6.00 when \(t_0 = 2\) s).
  • Switch to the compressor. With \(A = 1\) and \(t_0 = 4\) s it also passes; at \(A = 2\) the difference is 0.56.

Activity 4: Bounded or unbounded? (5 min). Run the stability test with \(A = 2\) and \(t_0 = 2\) s on four systems.

  • Linear filter: the magnitude never exceeds 2.00, which is \(A\) times the 1 s window.
  • Compressor: the magnitude never exceeds 0.96, which is \(\tanh(2)\).
  • Integrator: the output is still growing at \(t = 10\) s and has reached 16.0.
  • Time-varying multiplier: the output is still growing and has reached 20.0, which is \(A\,t\) at \(t = 10\) s.

Assessment

  1. State both parts of linearity and say which one the offset system \(y(t) = x(t) + 1\) violates. (Answer: additivity, \(\mathcal{T}[x_1 + x_2] = \mathcal{T}[x_1] + \mathcal{T}[x_2]\), and homogeneity, \(\mathcal{T}[a x] = a\,\mathcal{T}[x]\). The offset system violates both: \(\mathcal{T}[x_1 + x_2] = x_1 + x_2 + 1\) but \(\mathcal{T}[x_1] + \mathcal{T}[x_2] = x_1 + x_2 + 2\), and \(\mathcal{T}[a x] = a x + 1\) but \(a\,\mathcal{T}[x] = a x + a\). The test shows a difference of \(A\).)
  2. Why is \(y(t) = t\,x(t)\) linear but time-varying? (Answer: the gain \(t\) multiplies every input in the same way, so superposition holds. Delaying the input gives \(t\,x(t - t_0)\), but delaying the output gives \((t - t_0)\,x(t - t_0)\). The two differ by \(t_0\,x(t - t_0)\), which peaks at 4.00 for \(A = 2\) and \(t_0 = 2\) s.)
  3. Give a bounded input that produces an unbounded output for the integrator. (Answer: the step \(A\,u(t - t_0)\) integrates to the ramp \(A\,(t - t_0)\), which grows without limit. At \(t = 10\) s with \(A = 2\) and \(t_0 = 2\) s it has reached 16.)
  4. The squarer passes the linearity comparison for \(A = 1\) and \(t_0 = 4\) s. Is the squarer linear? (Answer: no. The burst and the pulse do not overlap, so the cross term \(2A\,x_1 x_2\) is zero and \(A = 1\) hides the \(A^2 - A\) term. A counterexample such as \(A = 2\) disproves linearity; matching curves cannot prove it.)
  5. For \(y(t) = x(t + 1)\), which property fails and what does the red trace show? (Answer: causality. The output at time \(t\) uses \(x(t + 1)\), so inputs that differ only after \(t_0\) already give different outputs from \(t_0 - 1\) to \(t_0\). The red trace marks that interval.)

Common Misconceptions

  • "A system whose equation contains \(t\) multiplied by \(x(t)\) is nonlinear." Select the time-varying multiplier. The linearity curves coincide, but the time-invariance curves separate. The system is linear and time-varying.
  • "Adding a constant keeps a system linear." Select the offset system and the linearity test. The curves separate by \(A\) at every setting, because a zero input does not give a zero output.
  • "One passing example proves that a property holds." The squarer passes the linearity comparison at \(A = 1\) and \(t_0 = 4\) s. BIBO stability has the same limit: the MicroSim tests one bounded input, a step, whereas the definition requires a bounded output for every bounded input.

References

  1. Linear time-invariant system - Wikipedia - definition of linearity and time invariance and the properties of LTI systems
  2. BIBO stability - Wikipedia - bounded-input bounded-output stability and its test for linear systems
  3. Causal system - Wikipedia - definition of causality and examples of non-causal systems
  4. Linear system - Wikipedia - the superposition principle behind the linearity test
  5. The Scientist and Engineer's Guide to Digital Signal Processing - Steven W. Smith - free online textbook with chapters on linear systems and convolution
  6. Oppenheim, A. V., Willsky, A. S., & Nawab, S. H. (1997). Signals and Systems (2nd ed.). Prentice Hall. Chapter 1 covers the basic system properties: memory, invertibility, causality, stability, time invariance and linearity.