I am analysing a wave with a timespan $\tau$ and after applying the fft I obtain the following plot of the coefficients


I assume that the peak at $t=1$ followed by smaller coefficients means that the wave has just one frequency, which is near $\frac{1}{\tau}$. Nevertheless, I would not expect a zero coefficient for 0Hz. What can be causing that zero coefficient? Is my interpretation wrong?.

  • $\begingroup$ This looks more like the result of a kink in the input function, that is, the function is continuous, also as periodic continuation, but the derivative has a jump, most likely at the wrap-around. It is possible that this discontinuity is in a higher derivative. A kink generally gives a component with amplitudes proportional to $1/f^2$, the plot does not look symmetric enough for $1/f$, but is flat enough in its tail that a higher power is also reasonable. $\endgroup$ Mar 16, 2021 at 11:29

1 Answer 1


A zero coefficient at DC simply means the mean of the waveform is 0; bin 0 of the DFT is identical to calculating the mean value scaled by $N$.

Consider the general expression for the DFT:

$$X(k) = \sum_{n=0}^{N-1}x(n)e^{-j k \omega_n n}$$

with $\omega_n = 2\pi/N$ and $k = 0,1 \ldots N-1$

(This is a correlation of the waveform x(n) with every integer multiple of the tone with frequency $\omega_n$)

When $k=0$ this reduces to:

$$X(0) = \sum_{n=0}^{N-1}x(n)$$

While the mean of $x(n)$ is

$$\bar x = \frac{1}{N}\sum_{n=0}^{N-1}x(n) = \frac{1}{N}X(0)$$

This is how the DFT works fundamentally; for each index k in the DFT, the signal $x(n)$ is frequency translated by $-k \omega_n$, and then we take the average of that result (without dividing by $N$, so a scaled average). If any frequency component was at $k \omega_n$ prior to the frequency translation, the resulting average would be large, indicating the presence of that frequency component.

Note for just one bin of the DFT how this is the basic structure of a Digital Downconverter as shown in the block diagram below for $x(n)$ real, where the low pass filters (LPF) are basic moving average filters (such as a CIC filter). The DFT computes one time sample, and replicates this for every single bin, and supports real or complex input signals where with a complex input there would be 2 additional multipliers and 2 adders for a full complex multiplication. So to put that in perspective, a 1023 point DFT is 1023 digital down-converters all running in parallel, which makes the FFT algorithm very impressive! Every computation of the DFT is one time sample of the result, so to process as a streaming receiver the input would be shifted one sample and then a new output computed (overlap-add and overlap-save methods improve the efficiency further for such streaming applications but shifting by one sample and computing each output makes one bin of the DFT and the digital-downconverter receiver shown below equivalent).

One Bin of the DFT as a DDC (for case of real input)



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.