Signals to learning / 5. Build systems

Lesson 20 of 40 · Intermediate · About 30 minutes

Recurrence and stability

When does yesterday’s state fade, persist or explode?

You will be able to

  • Unroll a scalar recurrence from a defined initial state.
  • Relate decay to stability and memory half-life.

State summarises the past

For h[n]=a h[n−1]+x[n], start with h[−1]=0. An impulse x[0]=1 and later zero input yields h[n]=aⁿ. For |a|<1, the impulse response decays and is absolutely summable, giving BIBO stability for this scalar zero-state LTI system. At a=1 an impulse persists, but bounded constant input accumulates without bound.

Decay can rotate too

The lab uses a two-dimensional state transition ρR(θ), a rotation scaled by decay ρ. Norm after n steps is ρⁿ for unit initial state. For 0<ρ<1 the norm half-life is log(0.5)/log(ρ). This is an explicitly specified toy recurrence, not a trained sequence network.

h[n]=a h[n−1]+x[n]; zero-state impulse response h[n]=aⁿ

Worked example

For a=0.5, an impulse yields [1,0.5,0.25,0.125,…]. Constant input 1 instead approaches 2. At a=1, constant input 1 yields [1,2,3,…].

A common trap

A non-growing response to one impulse does not prove BIBO stability; persistent responses can accumulate under repeated input.

Predict, then experiment

At decay 1, does the state norm disappear even if its coordinates oscillate? Before touching the controls, say or write your prediction.

Interactive experiment

An impulse leaves a rotating memory

How do decay and rotation control the response to one input?

State starts at [1,0], then evolves as hₜ₊₁=ρR(θ)hₜ with no further input. Solid blue and dashed amber are the two state coordinates, not the output of a trained model.

Your experiment

Compare decay 0.5, 0.95 and 1 at rotation 0.3 rad/step. Distinguish coordinate sign changes from norm decay.

Change one parameter at a time. Compare what you observed with your prediction and record an explanation in your notes.

Check your understanding

Try from memory first. Hints and feedback are part of learning, not a penalty. These checks are for self-study, not a graded qualification.

1. For h[n]=h[n−1]+x[n] with x[n]=1, the state…
Give me a hint

Unroll the first three steps.

2. With a=0.5, zero initial state and one impulse at n=0, what is h[3]?

Accepted absolute tolerance: ±0.001 .

Give me a hint

The impulse establishes h[0]=1.

Reference answers (after your attempt)
  1. grows without bound — Correct: this accumulator is not BIBO stable.
  2. 0.125 — 0.5³=0.125.

Apply it: Include the initial state

Use paper, your notes, or a local notebook/editor. Code examples are Python 3 starting points to run yourself; this page does not execute code or automatically assess the practical task.

  1. Unroll h[n]=0.5h[n−1]+x[n] for two steps.
  2. Repeat with h[−1]=4 instead of 0 and no input.
  3. Separate the initial-state and input-driven terms.
Reference solution & review criteria

h[0]=0.5h[−1]+x[0]; h[1]=0.25h[−1]+0.5x[0]+x[1]. With initial state 4 and zero input, the first two states are 2 and 1.

Your notebook

Notes and progress stay in this browser. They are not sent to the server; ordinary web-server request logs still operate. Export a backup from the course page.

Review list

Completion requires both correct checks and your practical-task acknowledgement.

Go deeper

Sources support further study; the worked examples and questions here are original. Browser experiments are small, disclosed models—not evidence of production-model quality or hardware performance.