Properties
Before designing a filter, you need a shared vocabulary. Five properties — linearity, time-invariance, causality, stability, and memory — define how every discrete-time system behaves.
A discrete-time system is an operator T that maps input x[n] to output y[n]. The rule T might be a difference equation, a cascade of filters, or any algorithm that processes samples.
Superposition holds: the response to a sum of scaled inputs equals the sum of scaled responses. This unlocks the impulse-response framework — know the impulse response, know everything.
Shifting the input by k samples shifts the output by k samples — nothing else changes. The system has no internal clock; it behaves the same today as it did yesterday.
The output at time n depends only on present and past inputs. Future values are not yet available in a real-time system. Non-causal filters can run offline for better performance.
Bounded Input → Bounded Output. A stable system never blows up from finite-energy input. For an LTI system, stability means the impulse response is absolutely summable.
Accumulator y[n] = Σx[k] is unstable. First-order filter y[n] = αy[n−1] + x[n] with |α| < 1 is stable.
A system has memory if past samples affect the output. Memoryless systems only see the current sample and cannot filter. An LTI system is fully described by its impulse response h[n]:
Know h[n] → know the system's output for any input.
- Linearity: superposition T{ax₁+bx₂} = aT{x₁}+bT{x₂}
- Time-invariance: shift input → shift output; no internal clock
- Causality: output uses only present & past; required for real-time
- BIBO stability: bounded input → bounded output always
- Memory: past samples affect the present output
- LTI = linear + time-invariant → fully described by h[n]