Causality
Today’s output cannot depend on tomorrow’s input. That single requirement is why no real filter has a vertical cutoff, and why any digital audio processing has latency.
01No guessing the future
A system is causal if its output at an instant depends only on what happened up to that instant, never on what is going to happen afterward:
For an LTI system the condition translates into a single sentence about the impulse response. If the impulse arrives at \( t = 0 \), the output cannot have started earlier:
With that, the convolution integral no longer runs over the whole axis and starts at zero, which also explains why in the one-sided Laplace transform you integrate from \( 0 \) to \( \infty \) without losing anything.
A memoryless system responds only to the present value: \( y(t) = 3x(t) \). One with memory also uses earlier values —a capacitor, an averager— or later ones. Every memoryless system is causal, but a system with memory can be causal or not. They are two independent classifications.
02Which part of the input is involved
The clearest way to see causality is to ask, for a given instant, which stretch of the input that output depends on. In a causal system that stretch always lies to the left of the cursor; in a non-causal one, it reaches to the right.
Above, the input, with the shaded zone that is involved in computing the output at the marked instant. Below, the complete output. Move the cursor and see where each value comes from.
03Non-causal systems exist, and they are used
A system not being causal does not make it useless. It makes it unrealizable in real time, which is something else. If the signal is already recorded, the “future” is available in the file:
| Case | Why it is not causal | How it is used anyway |
|---|---|---|
| Centered average | Uses later samples | File and image processing |
| Linear-phase FIR filter | Its \( h[n] \) is symmetric about the center | It is delayed until it becomes causal |
| Ideal low-pass filter | Its \( h(t) \) is a sinc extending to \( -\infty \) | It is not used: it is approximated |
| Smoothing a data series | Looks both forward and backward | Post-processing, never online |
The second row is the most interesting in practice. A linear-phase FIR filter needs to be symmetric, and symmetry about time zero would make it non-causal. The solution is simple: shift it. Shifting \( h[n] \) by \( (N-1)/2 \) samples makes it causal, and the price is a fixed delay of that many samples. That delay is the one that appears on the datasheet of any digital filter, and it is the reason an audio system with FIR processing has latency.
The Paley-Wiener criterion says it precisely: a causal and stable system cannot have a magnitude of exactly zero over a band of frequencies of nonzero width. An ideal low-pass filter, which attenuates infinitely beyond the cutoff, violates that condition. The practical consequence is that every transition of a real filter has a width: there is no vertical cutoff, and the slope is the price of causality.
04In discrete time
The condition is the same with square brackets: \( h[n] = 0 \) for \( n \lt 0 \). And it can be read directly from the difference equation:
If an \( x[n+1] \) appeared in the expression, the system would need a sample that has not yet arrived. In a processor that works on a block of data this is solved without drama; in one that processes sample by sample, it is impossible.
05In the lab
Decide whether these are causal: \( y(t) = x(t)\cos(t+1) \), \( y[n] = x[-n] \), \( y(t) = \int_{-\infty}^{t} x(\tau)d\tau \) and \( y[n] = x[n] - x[n+2] \). Justify each one.
Program a symmetric 51-coefficient FIR filter and measure the delay between input and output with the oscilloscope. Check that it matches 25 sampling periods, which is \( (N-1)/2 \).
Design three low-pass filters with the same cutoff frequency and increasingly abrupt transitions. Measure the group delay of each one and observe how it grows as the transition gets sharper.
06Common mistakes
- Confusing causal with stable. They are independent properties: there are causal systems that are unstable and stable systems that are non-causal.
- Confusing causal with memoryless. A capacitor has memory and is perfectly causal.
- Believing a non-causal system is a mistake. It is valid, and it is used whenever the signal is recorded.
- Forgetting that causality is defined on \( h \), not on \( x \). It is a property of the system.
- Expecting a vertical cutoff from a real filter. Paley-Wiener forbids it for any causal and stable system.
07Self-assessment
What condition does \( h(t) \) satisfy in a causal system?
\( h(t) = 0 \) for \( t \lt 0 \): it does not respond before the impulse arrives.
Is \( y(t) = x(t)\cos(t + 1) \) causal?
Yes. The cosine depends on time, which makes it time-varying, but it only uses the present value of \( x \).
How is a linear-phase FIR made causal?
By shifting it \( (N-1)/2 \) samples. The price is a fixed delay of that amount.
Why is an ideal low-pass filter not realizable?
Because its \( h(t) \) is a sinc that exists for \( t \lt 0 \), and because its zero magnitude over a band violates the Paley-Wiener criterion.
Can a memoryless system be non-causal?
No. If it only uses the present value, it is causal by definition.
What gives away a non-causal system in a difference equation?
A term with index \( n+k \) with \( k \) positive: it needs a sample that has not yet arrived.
08Further reading
- Alan V. Oppenheim and Alan S. Willsky. Signals and Systems. 2nd ed. (Spanish edition, “Señales y sistemas”), Prentice Hall, 1998. The properties of systems, with the translation of each one into a condition on h.
- John G. Proakis and Dimitris G. Manolakis. Digital Signal Processing. 4th ed. (Spanish edition, “Tratamiento digital de señales”), Pearson, 2007. Linear-phase FIR filters and the delay introduced by making them causal.
- Alan V. Oppenheim and Ronald W. Schafer. Discrete-Time Signal Processing. 3rd ed. (Spanish edition, “Tratamiento de señales en tiempo discreto”), Prentice Hall, 2011. The Paley-Wiener criterion and the consequences of causality for the frequency response.