2
$\begingroup$

Most time-frequency domain methods used to analyze how signals behave in systems — such as Fourier or Hilbert transforms — are inherently non-causal. But this approach seems conceptually inconsistent with how real-world systems operate.

In reality, physical systems and filters are causal: they only respond to past and present inputs, not future ones. Once a system produces an output at a given time, that output doesn't retroactively change just because future input data becomes available.

However, non-causal analysis methods imply the opposite. For instance, if we analyze a signal from 0 to 10 seconds and compute its time-frequency spectrum, we get a certain result. But if we later extend the signal to 20 seconds and re-run the same analysis, the resulting spectrum — even in the original 0 to 10 second window — may now be different.

This raises a fundamental disconnect: these non-causal approaches don’t reflect how real filters behave, because real filters cannot revise their past outputs in light of future input. Does this mean non-causal methods are not accurate unless you have infinitely long signal?

New contributor
Moon is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
$\endgroup$
2
  • 1
    $\begingroup$ When you're processing DSP data in a file (that has been previously recorded), you can plop a pointer down somewhere in the file and call that the "present time" and there are "future" samples you can access as well as past samples. $\endgroup$ Commented 13 hours ago
  • $\begingroup$ Note that non-causal systems occur frequently in spatial-image processing where sequence indices are spatial. If your sequence index is time, then simulated-time applications (such as in offline cases) also can make use of noncausal samples. $\endgroup$
    – Fat32
    Commented 10 hours ago

3 Answers 3

10
$\begingroup$

Strictly non-causal systems don't make sense, true.

However, you can ignore causality if you're doing offline processing (i.e. processing already-collected data). You can discount it somewhat if you're designing FIR filters and can just delay the filter output enough so it is causal.

In fact, these techniques are often called non-causal, even though - strictly speaking - they are perfectly causal in the formal sense.

$\endgroup$
2
$\begingroup$

A few things to ponder

  1. Non-causal systems do not exist in the real world. They cannot be implemented
  2. However, they are a useful mathematical tool for paper and pencil analysis
  3. Many non-causal systems can be made causal (and hence implemented) by truncation and/or adding bulk delay.
  4. Truncation and bulk delay is one of the standard methods to implement a Hilbert transformers. Obviously this is only an "approximation".
  5. The Discrete Fourier Transform gets around this constraint by being based on the assumption that the signals are periodic. Hence knowing one period is sufficient to calculate the DFT of an infinitely non-causal signal.
  6. Then again infinitely long signals do not exist, so even the DFT is based non a non-physical assumption. In fact, the sampling theorem is based on a questionable assumption as well. It postulates that the signal must be bandlimited for perfect reconstruction. In order to be bandlimited in the Fourier sense, the signal must be infinitely long (in both time directions), which it can't be.
  7. In practice, every model, measurement, analysis, etc is just an approximation of anything that happens in the physical world. As long as it's "good enough" for your specific application, that's perfectly fine. In fact, that's how all engineering is done.
$\endgroup$
1
$\begingroup$

This answer is meant to illustrate the existing ones a bit more.

When I was writing my thesis, I was wondering about the same question. In that thesis I ran a simulation about the force being transmitted to a cylindrical rod via the movement of air. The original equation was a differential equation in the time domain, but the solution and simulation were done in the frequency domain and then transformed back to time. In the result I could "see" (there were two plots showing the same time excerpt) when the air began to move and when the rod consequently started to move.

It did not matter at which point of time I would start the movement of the air, the movement of the rod would always be causally linked and start some moments later. What did matter though was that we had to set an air motion in the opposite direction later, after the rod had come to rest, to get a resulting opposite movement. Else, the offset term would have caused the rod to never be in the zero position.

New contributor
Eulenfuchswiesel is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.