I have been revisiting my school notes about the definition of Causality for signal and systems. I already understand that for a system to be causal, the output at any time can only depend on past and present inputs. Wikipedia says

Suppose $h(t)$ is the impulse response of any system $H$ described by a linear constant coefficient differential equation. The system $H$ is causal if and only if \begin{equation*} h(t) = 0, \forall t < 0 \end{equation*}


I could not understand why this is true. For example, for a system whose impulse response is $h(t) = 1, t \in R$, the output at for example $h(-1) = 1$ clearly doesn't depend on future inputs, so it should be a causal system. Does this mean the definition on Wikipedia is wrong?

  • $\begingroup$ Check the definition of "impulse response". $\endgroup$ Feb 27, 2021 at 4:01
  • $\begingroup$ Please elaborate. I can't seem to find anything more specific than 'the output of a system when the input is the dirac delta function'. $\endgroup$
    – John Doe
    Feb 27, 2021 at 4:15
  • $\begingroup$ Differential equations also come with boundary conditions. Implicit in this definition of a Causal system is the boundary condition $h(-\infty) = 0$. I.e., there is no pre-existing source of value for $h$. It really should have been made explicit, so in that sense, this definition in Wikipedia is not perfect. $\endgroup$ Feb 27, 2021 at 16:09
  • $\begingroup$ Thank you for your answer! What about a system whose impulse response $g(t)$ is a shifted unit step $g(t) = u(t + 1)$. Here $g(t) \vert _{t=-\infty} = 0$ and it doesn't depend on future inputs, so it should be causal. It still doesn't match the Wikipedia definition $\endgroup$
    – John Doe
    Feb 27, 2021 at 19:27

1 Answer 1


I think I found out. The definition on Wikipedia is derived from the response of Linear Time Invariant systems whose output is the result of a convolution. The reason for a causal system $h(t) = 0$ $\forall t < 0$ must hold true is:

For linear time invariant system $H$ whose impulse response is represented by $h(t), t \in \mathbb{R}$, the output of the system $y(t)$ in response to an input signal $x(t)$ at time $t$ is the result of convolution \begin{equation} y(t) = \int_{-\infty}^{\infty} x(\tau) h(t-\tau) d\tau \end{equation}

For the system to be causal, it must not depend on future inputs, which means at time $t$, $x(\tau)$ in the above convolution must not be de-referenced for all $\tau > t$. This can only hold true when $h(t-\tau) = 0$ $\forall \tau > t$. Hence, \begin{align} h(t) = 0 && \forall t < 0 \end{align}


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.