I guess the same question is usually asked for complex numbers too, but the fact is that complex numbers are used all the time practically. However, at least on a quick google search, I couldn't find any applications of anticausal systems. So why define it in the first place?

  • 2
    $\begingroup$ I prefer the term "noncausal". To a native speaker, "anticausal" implies a system whose response is only dependent on future inputs, where "noncausal" implies a system whose response is dependent on future and past inputs. $\endgroup$ – TimWescott Jan 18 at 18:03
  • $\begingroup$ i might suggest the word "acausal" rather than "noncausal". Matt alludes to this point, but when doing non-realtime, offline processing (you are processing the sampled data of a signal stored in a file and outputing the resulting signal to another file), you can pretend the pointer to "the present" is wherever you want it to be if that makes your life simpler. For linear-phase filters, you have symmetrey in the impulse response about a common delay, but you can make that a zero-phase filter by making that location of common delay equal to the present time, when $t=0$. $\endgroup$ – robert bristow-johnson Jan 18 at 18:49
  • $\begingroup$ @TimWescott, I was indeed referring to a system where the response is dependent only on future inputs $\endgroup$ – Pradyoth Shandilya Jan 18 at 19:00

Of course they don't exist. But we can stop time and use systems that would be non-causal if we hadn't stopped time. Stop time? Yes, just store your data and work offline / non-realtime. Or work on data that are not temporal but something else, for instance spatial. Of course, non-causal is a misnomer in that case, but the term is still used, in analogy with temporal signals and systems.

One common "non-causal" system that is used in offline mode is filtering followed by reversed filtering using IIR filters. This is done in order to eliminate phase distortions introduced by the conventional (causal/realtime) use of the filter. See this answer for the details.


First, because noncausal systems drop out of the math all the time, often when we're looking for some form of optimal filter.

Second, because if you don't mind adding delay to your system, or working offline, you can make a FIR noncausal system into a causal system simply by delaying it by the time span that it looks into the future. For an IIR noncausal system, you can truncate the anticausal part of the response, and then delay the response so that your result is causal.


I would first disagree on complex numbers. Even if they look odd (imaginary, impossible), they are very central, and some believe they are the most appropriate algebraic structure in many natural situations. Think again of the real numbers, do infinite sequences of decimals really exist?

Second, our human perception of time as a one-directional stream may be misleading. The fact that our brain and senses seem to perceive past only does not impede backward symmetry in physical laws. Some even model that antimatter could be matter moving backward in time (in some specific sense). Exotic theories can imagine that time might be two-dimensional. From a more pragmatic point of view, in simulation, one may consider to control a present state with future predicted values, which can be formalized by an anticausal system. Of course, in practice, those future estimations are obtained by past information.

So, they are defined not because one can exhibit one in reality, but because they are useful models, like instantaneous systems, or infinite precision computations, that are unlikely ("All models are wrong, but some are useful").

  • $\begingroup$ I did say that complex numbers, although weird looking, are very useful in the question $\endgroup$ – Pradyoth Shandilya Jan 18 at 19:01
  • $\begingroup$ They are more than "just useful" or practical. They are "real", IMO $\endgroup$ – Laurent Duval Jan 18 at 19:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.