Plotting the FFT of a signal with Matlab e.g. by the code:

y_fft = abs(fft(y));
f = fs*(0:length(y)-1)/length(y);

where y is the discrete signal and 'fs' is sample rate. creates a plot where the curve can be mirrored in the middle of the x-axis e.g. enter image description here

Why can the FFT always be mirrored in the middle of the x axis?

  • $\begingroup$ That's right only for FFT of real signal: because its imagine part is absent, FFT have double redundancy. $\endgroup$
    – Eddy_Em
    Apr 9, 2013 at 14:05

1 Answer 1


The DFT of a real signal is conjugate symmetric. For example, if your DFT result at, say, 2Hz was $1+j5$, then your DFT result at -2Hz would be $1-j5$. This is conjugate symmetry.

Of course, when you take the absolute magnitude, the result in both cases is the same, which is why you see this mirror image.

Going deeper, the reason for why a real signal can be decomposed into symmetric complex conjugate parts, is because a real signal oscillates on the real axis, and this can be thought of as the resultant of two phasors rotating around the center of the complex plane, in opposite directions.

Hope that helped.


Not the answer you're looking for? Browse other questions tagged or ask your own question.