Causality check for discrete-time systems: Which of the following systems is causal?

Difficulty: Easy

Correct Answer: y[n] = 3 x[n] − 2 x[n − 1]

Explanation:


Introduction / Context:
Causality is a foundational property for real-time systems: the output at time n cannot depend on future input samples. Knowing how to spot future dependencies is vital for implementability.



Given Data / Assumptions:

  • Five candidate input–output relations.
  • Standard discrete-time indexing with n for current time, n−k for past, and n+k for future.
  • No hidden states beyond what is shown.


Concept / Approach:

A causal system’s output y[n] relies only on x[n] and past values x[n−k], k ≥ 1. Any appearance of x[n+k] with k > 0 violates causality because it requires knowledge of future input.



Step-by-Step Solution:

Option (a): depends on x[n] and x[n−1] → causal.Option (b): includes x[n+1] → noncausal.Option (c): includes x[n+1] → noncausal.Option (d): includes x[n+1] → noncausal.Option (e): pure advance x[n+2] → noncausal.


Verification / Alternative check:

Physical realization: (a) can be implemented with one sample of memory (a delay). Others would need prediction of unknown future inputs, which is not causal.



Why Other Options Are Wrong:

  • Any x[n+k], k > 0, violates causality by definition.
  • Adding current or past terms cannot fix a future dependency.


Common Pitfalls:

  • Confusing time advance (future input) with time delay (past input).
  • Assuming linearity or time invariance alone guarantees causality—it does not.


Final Answer:

y[n] = 3 x[n] − 2 x[n − 1]

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion