I don't understand this remark and it's the first I hear it. Isn't this directly at odds with "DFT assumes input is periodic"? The full statement,
the signals are nonzero for $t < 0$, while the FFT can deal only with causal signals
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It only takes a minute to sign up.
Sign up to join this communityI don't understand this remark and it's the first I hear it. Isn't this directly at odds with "DFT assumes input is periodic"? The full statement,
the signals are nonzero for $t < 0$, while the FFT can deal only with causal signals
I did not find the reference in your text, but I would assume that the author simply means that the processing needs to be delayed as the dft can not look into the future.
The original statement needs to be considered in context as we cannot of course create a device that will at its output provide the result of a DFT before we get the input; but from a post-processing perspective (where we later compute what the result would be if we had a certain input condition with assumptions on where time = 0 is referenced) the result of the DFT operation is indeed consistent with a time domain input that is non-causal.
The time domain samples for the DFT are inherently non-causal, due to the later half of the time domain array equally representing negative time samples, and ultimately the equivalent periodicity in time inherent in the DFT computation. To say that the time samples for the DFT can only be causal (meaning non-zero negative time samples cannot exist) because we start the time array at index $n=0$ consistent with time being 0 and index forward in the positive time directly would be similar to concluding that the DFT result in the frequency domain can only represent positive frequency samples. Most familiar with the DFT are very comfortable with associating the later half of the frequency array as equally representing the negative frequency samples (and using fftshift
in MATLAB, Octave and Python to put the array in such ordering). The same consideration is given in the time domain in that the later half of the time array can equally represents negative time samples.
The time domain waveform for a DFT is mathematically consistent with non-causal waveforms, and not otherwise. Here is a very simple example that demonstrates a non-causal case which gives a real result in frequency which only a non-causal time domain waveform can provide:
Consider the real time domain sequence x[n] = [0 1 2 3 4 4 3 2 1]
The Discrete Fourier Transform of this time domain sequence will be completely real with no non-zero imaginary components as demonstrated below.
It is well understood and easily proven that any causal real signal in the time domain MUST be complex in the frequency domain. Therefore the sequence given must be non-causal.
The first sample of the sequence represents the sample at time index $n=0$, the next four samples are positive time sequences, but the samples beyond that equally represent positive time or negative time samples. When we scale by the total number of samples, the non-zero DFT result is mathematically consistent with what we would get in the limit for the DFT if the sequence repeated periodically in time extending to both positive and negative infinity (non-causal).
The reason causal signals MUST be complex is proven through even and odd function decomposition (where even functions are symmetric about the time =0 axis and odd functions are antisymmetric). I will demonstrate this with the test sequence given above:
An even real function in time MUST be real in frequency. The sequence [0 1 2 3 4 4 3 2 1] which starts at time index $n=0$ is also the sequence [4 3 2 1 0 1 2 3 4] with time index $n=0$ in the center, and represents an even real function. The DFT of the sequence [0 1 2 3 4 4 3 2 1] is plotted below:
An odd real function in time MUST be complex in frequency. For this we will negative the negative time samples of the sequence above, resulting in the sequence [0 1 2 3 4 -4 -3 -2 -1], or with $n=0$ in the center this is [-4 -3 -2 -1 0 1 2 3 4], and the DFT of this sequence is plotted below:
If we add the two sequences, all the negative time samples given would be zero, resulting in the sequence [0 1 2 3 4 0 0 0 0], or with $n=0$ in the center: [0 0 0 0 0 1 2 3 4]. The sum of the time domain waveforms is equal to the sum of their DFT's showing that the result must be complex. However still even with this case of all negative frequencies given being zero, the waveform still cannot be assumed to be causal given the equivalence to a periodic sequence repeating to positive and negative infinity. This is in contrast to the DTFT where no such periodic relationship exists; with the DTFT we can compute the accurate result for what can be represented as causal and non-causal time-domain waveforms.'
Another point of interest: The real component of the DFT of [0 1 2 3 4 4 3 2 1] is related to the imaginary component of the DFT of [0 1 2 3 4 -4 -3 -2 -1] as the negative of the Hilbert Transform!
x[N//2 + 1]
apart from x[-(N//2 - 1)]
. Even if we go out of our way to force an interpretation, I see nothing that can't instead be stated in terms of phase or alignment. It's just a bag of fallacies.
$\endgroup$
Jun 17, 2022 at 21:09
I cannot speak for the source, but with much due clarification, it's correct in an important sense: "DFT is a sampling of DTFT" assumes we're taking $\texttt{DFT}$ of $x[n]$, where $x[n] \triangleq x(ns)$ with $s$ being the sampling period, and most importantly, $n = [0, 1, ..., N - 1]$ - meaning, the time vector starts at $t=0$. The context was to have an exact analytic expression for DFT by manipulating the continuous Fourier transform.
Interestingly, it's not quite correct, in that in continuous time, the signal actually spans $[-s, T-s]$ as shown here.
If this "assumption" isn't satisfied, then the DTFT must be amended to account for $t[0]$, but it's doable.
Lastly, I strongly disagree with suggestions that "practicality of processing" justifies the phrase. The DFT is completely agnostic of the offset or units of the time axis, only that it be sampled uniformly. This answer isn't an approval of "FFT assumes input is causal" by any stretch, only that it has a fair interpretation in-context.