Skip to main content

Causal, non-causal and anticausal systems

Short answer

Causal systems use only present/past inputs (h(t)=0 for t<0; e.g., y(t)=x(t)+x(t-2)). Non-causal use future inputs (e.g., y(t)=x(t+1)). Anticausal systems use only future/present inputs (h(t)=0 for t>0; e.g., y(t)=x(t+3)).

Explain the properties of causal, non-causal and anticausal systems with example.

Causal system

The output at any time depends only on the present and past values of the input (and past outputs). It does not need the future. All physical real-time systems are causal. For an LTI system, h(t) = 0 for t < 0.

  • Example: y(t) = x(t) + x(t - 2); h(t) = e^(-t)u(t).

Non-causal system

The output depends on at least one future value of the input. Such systems cannot be built for real-time use but can be used in offline processing (stored data, image processing). For an LTI system, h(t) ≠ 0 for some t < 0.

  • Example: y(t) = x(t + 1), or y(t) = x(t) + x(t + 2).

Anticausal system

The output depends only on the present and future values of the input; no past value is used. For an LTI system, h(t) = 0 for t > 0.

  • Example: y(t) = x(t + 3); h(t) = e^(at)u(-t).
Causal      h(t): ........|=====\___   (t >= 0 only)
Anticausal  h(t): ___/====|........   (t <= 0 only)
Non-causal  h(t): ___/====|====\___   (both sides)

A system that is anticausal is non-causal (except for the memoryless case), but a non-causal system is not necessarily anticausal.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Data Communication chapter 2 questions →