What exactly does causal signal mean?

Causality,as I see it is a property of a system wherein the output at PRESENT is dependent ONLY on PAST and PRESENT values of input.Here we have a reference of Output signal Time to define PAST & PRESENT for an input.

Since an isolated signal doesn't have a concept of a STATE,how can we define past or present for a signal?

If ideas of Past & Present aren't defined for a signal,how can the idea of causality be defined for signals?

Here the definition is given but I 'm not able to get a feel of Causality of a signal?

I've a follow-up question which I've put up here.

  • 1
    \$\begingroup\$ Sounds like a term that academics made up to justify high school tuition and/or their own tenure. Not only have I never heard the term before, but the definition(s) for those terms seem quite useless in any practical sense. \$\endgroup\$ – user3624 Aug 23 '13 at 1:26
  • \$\begingroup\$ I think "causality of a signal" is just shortcut terminology for a signal that is 0 when t<0. Since t=0 can be arbitrarily defined for a signal, it's not really a characteristic of the signal but rather more of a characteristic of the representation, in the line of: if we take the signal to be causal, we can say such and such about the z-transform...etc \$\endgroup\$ – Zuofu Aug 23 '13 at 1:34
  • \$\begingroup\$ You're right. A system can be causal, and the concept has no meaning for a signal in isolation. The only thing I can think of that can make this make any sense is if the signal reflects an impulse response. \$\endgroup\$ – Scott Seidman Aug 23 '13 at 1:37
  • 2
    \$\begingroup\$ Why are we getting ansanswers offering definitions of a causal system when the question is if the concept of causality has any meaning for a signal? \$\endgroup\$ – Scott Seidman Aug 23 '13 at 3:02
  • 1
    \$\begingroup\$ @ScottSeidman Because bots have a sense of future. They know if they paste the first definition which has the keyword in them, they will collect a fair amount of votes. Upvoting bots won't spawn the votes if answer takes their time to understand the question and address the asked essence. \$\endgroup\$ – Valentin Tihomirov Mar 16 '16 at 9:50

A causal system (e.g. a causal filter) is as you say, it simply depends on only past and present values of the input.
All real time systems are causal, for they cannot "see" the future", i.e. it is not possible to have an output before there has been an input.

An example of a non-causal system would be:

y(t) = x(t + 5)

An example where non-causality comes into use is something like an ideal filtering system applied at a later time, where the data has been recorded previously (or is estimated in the case of predictive systems), therefore the future state of the input is known.

  • \$\begingroup\$ A concrete example. We had to design video stabilization for smartphones. We used 3 samples in the past and 3 samples in the future from the gyroscope. This time was relative to the moment when the image frame was captured. Because the image pipeline had more latency than the gyro, using a non-casual filter was an obvious approach. Another example. PC apps for stabilizing videos have access to the whole video file. \$\endgroup\$ – Vorac Nov 15 '15 at 14:55

The easiest way to think about causality is to put present time at zero. In that case:

\$x[n+1]\$ represents one sample into the future, the next sample. It hasn't been taken yet.

\$x[n]\$ represents the present time sample.

\$x[n-1]\$ represents a sample aged by one sample period.

There are transfer function that will end up with \$x[n+m]\$ terms in them, which correspond to positive powers of \$z\$. To actually implement these transfer function in real time, you have to delay everything by \$m\$ samples. It's a lot of number crunching, but multiplying through the transfer function by \$\dfrac{z^{-m}}{z^{-m}}\$ will effectively delay every sample by \$m\$ sample periods, making \$x[n+m]\$ into\$x[n]\$. Information about the future is no longer required and the difference equation can be implemented on a microcontroller, for example.


A signal itself is not causal. But all signals are generated from some system. And all real systems are causal.

The present state for a system could be the charge on a capacitor, the current in an inductor, the temperature or velocity of some object, the state of memory bits in digital logic, etc.

All systems evolve according to their present state and present inputs, but a system can depend on its past state in that its present state is based on the evolution of the system from those past states.

Also the future states of a system will be an evolution from the current state, and future input. Therefore the future state of a system may depend on past states since the present may be dependent on the past, and the future may depend on the present.

The same is true for any signal that is generated by the system. A signal may depend on its own past state or the past state of other signals because those signals are generated from a system that evolved from that past state. A signal only has a notion of past, present, and future because it is part of a system.


A causal system is one for which the impulse response is zero before time-zero (which is defined as the time of initial excitation, or when the input signal is supplied).

A causal signal is one which is zero before time-zero. Usually, this term concerns the input signal. This then means that the input signal has zero amplitude before it is applied to your system.

If you think about this in terms of a circuitry experiment it make sense. You would first set up your circuit, ensuring all electrical connections are established, the turn on your voltage supply. Time-zero being when you flip the switch.

So, if a signal is isolated, it does not have a sense of causality. Your question is philosophical, not practical. The term causal only applies to signals when we are talking about their impact on systems.


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.