Digital Signal Processing Basics
Which of the following systems with input x[n] and output y[n] is causal (its output depends only on inputs up to the present time)?
- Ay[n] = x[n + 1] − x[n]
- By[n] = x[n] + 0.5y[n − 1]
- Cy[n] = (x[n − 1] + x[n] + x[n + 1])/3
Show answer and explanation
Answer: B. y[n] = x[n] + 0.5y[n − 1]
In a causal system, the output at time n depends only on inputs at or before time n (and on past outputs). y[n] = x[n] + 0.5y[n − 1] uses only the present input and the previous output, so it is causal and can be computed in real time. The other two contain x[n + 1], a future input that has not arrived yet, so they are not causal. When recorded data is processed afterwards, for example, processing that uses values on both sides can still be realized by delaying the output.
- A. It uses the next input x[n + 1], so it is not causal.
- B. Correct. It can be computed from the present input and a past output only.
- C. This is the average of three values around n and contains the future input x[n + 1], so it is not causal.