Is the FFT magnitude of two audio signals when played together the sum of their individual FFT magnitudes across frequency bins? Note I'm talking only about the magnitude, ignoring phase.

For instance, if two pure signals of sine wave of the same frequency but 180 degrees off phase are played simultaneously, would the magnitude of the FFT at said frequency be double that of a single signal or 0?

I believe it's the latter but I want to confirm.


  • $\begingroup$ What do you mean by "played together" ? Played over the same speaker or two different ones? $\endgroup$
    – Hilmar
    Jul 31 '19 at 9:35
  • $\begingroup$ I mean it in a theoretical sense. Basically, just want to know if FFT magnitude can be superpositioned, but I found that while FFT is, the magnitude is not. $\endgroup$
    – user173729
    Jul 31 '19 at 13:13

The FFT algorithm efficiently computes the complex valued DFT frequency vector $X[k]$ for a given time domain sequence $x[n]$.

The magnitude of the FFT output $X[k]$ for a given bin $m$ is the magnitude of the complex number $X[m]$, so like this :

$$X[m] = X_r[m] + j ~ X_i[m] \implies |X[m]| = \sqrt{ X_r^2[m] + X_i^2[m] }$$

Now assuming two signals $x_1[n]$ and $x_2[n]$ with their corresponding complex valued DFT vectors $X_1[k]$ and $X_2[k]$, we can see from the magnitudes of complex numbers that

$$| X_1[k] + X_2[k] | \neq | X_1[k] | + | X_2[k] | $$

hence the magnitude of FFT/DFT is not additive...


The complex FFT and IFFT are a linear operators. This means if you add stuff in one domain, it gets added the same way in the other.

However, the FFT magnitudes are not additive, as the square root of the sum of the squares of the two complex components is not a linear operation.

(for instance (with a 90 degree phase shift): sqrt(1*1 + i*i) ~= 1.414, not 2)


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.