Reading
Stories Mode

System Properties

~12 min read Lesson 2 of Module 3

Classifying Discrete-Time Systems

A discrete-time system is a rule that transforms an input sequence x[n] into an output sequence y[n]. That rule might be as simple as y[n] = 2x[n] (scaling), or as complex as a recursive filter that mixes hundreds of past samples. Before designing or analyzing any system, engineers need a common vocabulary for describing how a system behaves — independent of its specific coefficients.

That vocabulary consists of five fundamental properties: linearity, time-invariance, causality, stability, and memory. Every discrete-time system can be characterized along these dimensions. The most important combination — linearity and time-invariance together — defines the class of LTI systems, which are fully described by a single sequence called the impulse response.

Property 1
Linearity
Superposition holds: scaling and summing inputs produces the same scaled, summed output.
Property 2
Time-Invariance
Shifting the input by k samples shifts the output by exactly k samples — the system does not change over time.
Property 3
Causality
Output at time n depends only on present and past inputs, never on future ones.
Property 4
BIBO Stability
A bounded input always produces a bounded output — the system never blows up.

What Is a Discrete-Time System?

Formally, a discrete-time system is an operator T{·} that maps each input sequence x[n] to an output sequence y[n]. The notation y[n] = T{x[n]} encapsulates this idea. The operator T could represent a single difference equation, a cascade of filters, a neural network, or any algorithm that processes samples sequentially.

System Definition
y[n] = T\{x[n]\}
The operator T maps every possible input sequence to a corresponding output sequence. Characterizing T by its properties tells us how to analyze it, combine it with other systems, and determine what inputs it can safely process.

A simple example: the accumulator y[n] = ∑k=−∞n x[k] sums all past and present inputs. A moving average y[n] = ½(x[n] + x[n−1]) blends two consecutive samples. An ideal delay y[n] = x[n−n0] shifts the signal by n0 samples. Each is a different operator T, with different properties.

Linearity: The Superposition Principle

A system is linear if it obeys the superposition principle: the response to a sum of inputs equals the sum of the individual responses. More precisely, T is linear if and only if for any two inputs x1[n] and x2[n] and any constants a and b:

Linearity (Superposition)
T\{a\,x_1[n] + b\,x_2[n]\} = a\,T\{x_1[n]\} + b\,T\{x_2[n]\}
Superposition combines two simpler conditions: additivity (T{x₁ + x₂} = T{x₁} + T{x₂}) and homogeneity (T{ax} = aT{x}). Both must hold for the system to be linear.

Linearity is enormously powerful. Because any signal can be decomposed into a sum of scaled, shifted impulses (the sifting property from the previous lesson), knowing the response of a linear system to a single impulse tells us its response to every possible input. This insight is the foundation of convolution and the entire theory of LTI systems.

Testing Linearity

To test whether y[n] = x²[n] is linear, apply superposition: T{ax₁ + bx₂} = (ax₁[n] + bx₂[n])² = a²x₁²[n] + 2abx₁[n]x₂[n] + b²x₂²[n]. This does not equal aT{x₁} + bT{x₂} = ax₁²[n] + bx₂²[n] in general. The squarer is nonlinear. In contrast, y[n] = 3x[n] − x[n−1] is linear because T{ax₁ + bx₂} = 3(ax₁ + bx₂) − (ax₁[n−1] + bx₂[n−1]) = aT{x₁} + bT{x₂}.

Time-Invariance: The System Doesn't Change

A system is time-invariant if shifting the input in time produces an identical shift in the output — nothing else changes. If y[n] is the response to x[n], then the response to x[n−k] must be y[n−k] for any integer k:

Time-Invariance Condition
T\{x[n-k]\} = y[n-k] \quad \forall\, k \in \mathbb{Z}
If you play the same signal tomorrow instead of today, the system produces the same output — just delayed by one day. The system's behavior does not depend on when the signal arrives.

Time-invariance means the system has no internal clock or calendar. Most digital filters are time-invariant: the same coefficient set applies at every sample instant. A time-varying system, by contrast, has parameters that change over time — for example, a filter whose cutoff frequency tracks a control signal, or a communication channel whose characteristics vary second to second.

A useful test: if the system description explicitly contains the index n as a multiplier or coefficient (e.g., y[n] = n⋅x[n]), it is likely time-varying. The factor n makes the gain depend on when in time the signal arrives.

Causality: No Peeking into the Future

A system is causal if its output at any time n depends only on the input at time n and at earlier times (n−1, n−2, …). It cannot depend on future input values x[n+1], x[n+2], and so on — values that have not yet arrived at a real-time processor.

Causality Condition
y[n] = f\bigl(x[n],\, x[n-1],\, x[n-2],\, \ldots\bigr)
y[n] may depend on x[n], x[n−1], x[n−2], … but never on x[n+1], x[n+2], …. A causal LTI system has h[k] = 0 for all k < 0.

All real-time hardware systems must be causal — a microphone cannot anticipate speech, and a radar receiver cannot know the echo before the pulse is transmitted. However, offline processing is different: when working on pre-recorded data, a system can access future samples freely. Non-causal filters often achieve superior frequency selectivity because they can use both past and future context. Audio mastering, image processing, and scientific data analysis routinely use non-causal algorithms for this reason.

Causal vs. Non-Causal in Practice

A causal moving average y[n] = ½(x[n] + x[n−1]) uses only past and present samples. A centered moving average y[n] = ⅓(x[n+1] + x[n] + x[n−1]) uses a future sample and is non-causal. The centered version is symmetric and achieves zero phase shift — desirable for ECG or audio analysis — but cannot run in real time.

Causal → real-time capable  |  Non-causal → offline only, often better performance

Stability: Bounded Input, Bounded Output

A system is BIBO stable (Bounded-Input Bounded-Output stable) if every bounded input produces a bounded output. Formally: if there exists a finite constant Bx such that |x[n]| ≤ Bx for all n, then there must exist a finite constant By such that |y[n]| ≤ By for all n:

BIBO Stability
|x[n]| \leq B_x < \infty \;\Rightarrow\; |y[n]| \leq B_y < \infty
BIBO stability guarantees the system will not produce infinite output from finite input. For an LTI system, BIBO stability is equivalent to the impulse response h[n] being absolutely summable: Σ|h[n]| < ∞.

An unstable system is dangerous in practice: a finite-energy input (a clap, a voltage transient) can trigger runaway growth that saturates hardware, blows speakers, or crashes processors. The accumulator y[n] = ∑k=−∞n x[k] is unstable: apply a unit step input (all ones) and the output grows without bound. The first-order recursive filter y[n] = αy[n−1] + x[n] with |α| < 1 is stable: its impulse response is αnu[n], which is absolutely summable.

Memory: Does the Past Matter?

A system has memory if its output at time n depends on more than just the current input sample x[n]. In other words, past input values (or past output values in a recursive system) influence the present output. A system is memoryless if y[n] = f(x[n]) for some function f — the output depends only on the instantaneous input.

Memoryless Example
y[n] = f\bigl(x[n]\bigr)
Only the current sample matters. A gain stage, rectifier, or lookup table is memoryless.
Memory Example
y[n] = \tfrac{1}{2}\bigl(x[n] + x[n-1]\bigr)
Past samples are needed. Any filter, delay, or integrator has memory.

Memory is what makes filtering possible. A memoryless system cannot smooth noise, remove frequency components, or detect patterns across time — those tasks require combining multiple samples. The length of a system's memory (how far back in time the current output depends) is related to the order of the difference equation and the duration of the impulse response.

LTI Systems: The Most Important Class

When a system is both linear and time-invariant, it belongs to the class of LTI systems (Linear Time-Invariant systems). This combination unlocks a complete analytical framework: an LTI system is fully characterized by its impulse response h[n], and its output is the convolution of the input with h[n]:

LTI Output via Convolution
y[n] = \sum_{k=-\infty}^{\infty} x[k]\,h[n-k] = x[n] * h[n]
Any LTI system is completely specified by h[n]. Once h[n] is known, the output for any input x[n] is computed by convolving x with h. The next lesson derives this convolution sum in detail.

Why is this so powerful? Because linearity and time-invariance together allow the impulse decomposition from the previous lesson to be applied to the output as well. The linearity ensures we can add the scaled responses; the time-invariance ensures that each shifted impulse in x[n] produces a shifted copy of h[n]. The result is the convolution sum.

Practically every useful discrete-time processing block — low-pass filters, equalizers, echo cancellers, channel estimators, correlators — is either exactly LTI or well-approximated as LTI over the operating range. The Z-transform and the DFT are both tools for analyzing LTI systems in the frequency domain. The entire machinery of classical DSP is built on this foundation.

The next lesson dives into Convolution: the fundamental operation that computes the output of any LTI system. We will derive the convolution sum, step through a graphical interpretation, and explore its algebraic properties.

Key Takeaways
  • A discrete-time system T maps input sequences x[n] to output sequences y[n]; its properties determine how it can be analyzed and implemented.
  • Linearity means T{ax₁ + bx₂} = aT{x₁} + bT{x₂}: the superposition principle holds.
  • Time-invariance means a time-shifted input produces a time-shifted output; the system's behavior is constant over time.
  • A causal system's output depends only on present and past inputs — required for real-time processing; non-causal systems are used offline for better performance.
  • BIBO stability ensures bounded inputs always produce bounded outputs; for LTI systems this is equivalent to the impulse response being absolutely summable.
  • Memory means past samples affect the current output; memoryless systems process each sample in isolation and cannot perform filtering.
  • LTI systems (linear + time-invariant) are fully described by their impulse response h[n]; the output is the convolution y[n] = x[n] * h[n].
Previous Common Discrete Signals Module Overview Next Convolution