System Properties
A system maps an input signal to an output signal. It can represent an electrical network, a mechanical suspension, a digital filter, a communication channel, or an abstract operation such as differentiation. Before solving a system, the first task is to classify it. Properties such as linearity, time invariance, causality, memory, stability, and invertibility determine which tools are legal and which conclusions can be trusted.
The most important later theory, linear time-invariant analysis, is built from two of these properties. Linearity gives superposition. Time invariance says the system behaves the same way regardless of the absolute time origin. Together they imply that the response to any signal can be assembled from shifted impulse responses, producing convolution.
Definitions
A continuous-time system maps an input to an output
A discrete-time system maps to
A system is memoryless if the output at a time depends only on the input value at that same time. In continuous time, a memoryless system has the form
for some function . In discrete time,
A system has memory if the output depends on past, future, or accumulated values of the input. Examples include
A system is linear if it satisfies superposition. For any inputs and , and any constants and ,
Equivalently, linearity is additivity plus homogeneity.
A system is time-invariant if shifting the input shifts the output by the same amount. In continuous time, if
then for every real ,
In discrete time, if , then for every integer ,
A system is causal if the output at the present does not depend on future input values. For continuous time, may depend on only for . For discrete time, may depend on only for .
A system is bounded-input bounded-output stable, or BIBO stable, if every bounded input produces a bounded output. Formally, if
for all , then there must exist a finite such that
for all . The same definition applies to sequences.
A system is invertible if distinct inputs produce distinct outputs, so that another system can recover the input from the output. If exists, then
Key results
To prove linearity, test the combined input directly. Compute the output produced by , and compare it with . A single counterexample is enough to disprove linearity. Systems that add constants, multiply signals by themselves, take magnitudes, or contain fixed thresholds are usually nonlinear.
To test time invariance, use two paths:
- Shift the input first, then apply the system.
- Apply the system first, then shift the output.
If the two expressions match for every input and every shift, the system is time-invariant. If the system contains explicit time, such as or , it is often time-varying. However, explicit time is a warning sign, not a proof by itself; the two-path test is definitive.
For memorylessness, a delay system such as has memory, even though it is simple. A memoryless nonlinear system such as
has no memory but is not linear. Properties are independent; one should not infer one from another.
Causality is about information ordering, not algebraic simplicity. The system
is causal because it uses present and past inputs. The system
is noncausal because it requires a future input sample.
For LTI systems, later pages give sharper tests: causality is equivalent to for or for , and BIBO stability is equivalent to absolute integrability or absolute summability of the impulse response. Those tests depend on LTI structure and should not be used for arbitrary systems.
When several properties are requested, test them independently and record the reason for each conclusion. A system can be linear and noncausal, nonlinear and memoryless, stable and noninvertible, or causal and unstable. Many exam errors come from treating the properties as a chain of implications. The only major implication in this early list is that memoryless systems are automatically causal, because a present output depending only on the present input cannot depend on future input values.
For systems described by formulas, it is helpful to classify the location of input samples or values first. Terms like or point to the past. Terms like or point to the future. Terms like use accumulated past information, while uses future information. This quick scan makes the causality and memory tests less error-prone before moving to linearity and time invariance.
Visual
| Property | Question to ask | Typical test | Common counterexample |
|---|---|---|---|
| Memoryless | Does output use only current input? | inspect dependence on or | |
| Linear | Does superposition hold? | compare with | |
| Time-invariant | Does a shift commute with the system? | two-path shift test | |
| Causal | Is future input needed? | check dependence relative to current time | |
| BIBO stable | Do bounded inputs always give bounded outputs? | find bound or counterexample | |
| Invertible | Can input be recovered uniquely? | check one-to-one behavior |
Worked example 1: classifying a continuous-time system
Problem: Classify
with respect to memory, linearity, time invariance, and causality.
Method:
-
Memory: The output at time uses , not only . Therefore the system has memory.
-
Linearity: Let inputs and produce
For input ,
Distribute:
So the system is linear.
- Time invariance: First shift the input by :
Apply the system:
Now apply the system first and shift the output:
The two expressions are
and
They are not equal for arbitrary and . Therefore the system is time-varying.
- Causality: At time , the output uses , a past value. Therefore the system is causal.
Checked answer: The system has memory, is linear, is time-varying, and is causal.
Worked example 2: testing BIBO stability and invertibility
Problem: Consider the discrete-time system
Determine whether it is memoryless, linear, time-invariant, BIBO stable, and invertible over real-valued input sequences.
Method:
-
Memoryless: depends only on , so it is memoryless.
-
Linearity: Test homogeneity with input and scalar :
But
These are not equal for general . For example, gives versus . The system is nonlinear.
- Time invariance: Shift the input:
Then
The original output shifted is
They match, so the system is time-invariant.
- BIBO stability: If , then
So the system is BIBO stable.
- Invertibility: Real inputs and produce the same output:
Unless the domain is restricted to nonnegative signals, the input cannot be recovered uniquely.
Checked answer: The system is memoryless, nonlinear, time-invariant, BIBO stable, and not invertible over all real sequences.
Code
import numpy as np
def system_square(x):
return x**2
n = np.arange(-4, 5)
x = np.array([-2, -1, 0, 1, 2, 1, 0, -1, -2], dtype=float)
shift = 2
left = system_square(np.roll(x, shift))
right = np.roll(system_square(x), shift)
print("time-invariance check:", np.allclose(left, right))
print("x and -x produce same output:", np.allclose(system_square(x), system_square(-x)))
print("bounded input max:", np.max(np.abs(x)))
print("bounded output max:", np.max(np.abs(system_square(x))))
Common pitfalls
- Treating nonlinear as equivalent to time-varying. These are separate properties.
- Calling a delayed system memoryless. Any dependence on with is memory.
- Declaring a system time-varying only because the expression looks complicated. Use the two-path shift test.
- Using LTI impulse-response tests for systems that have not been proven LTI.
- Forgetting that invertibility depends on the allowed input set. Squaring is not invertible on all real signals, but it is invertible on nonnegative signals.