Typically, one would perform an FFT on a current waveform and measure it's magnitude at multiples of the line frequency (e.g. 50Hz, 60Hz) to get the harmonics, and subsequently the Total Harmonic Distortion.

  • If I know that my line frequency should be 50Hz but the FFT peak is not exactly at 50Hz (say, it is 55Hz), then what is my fundamental? 50Hz or 55Hz?

  • How about the harmonics? Should I then measure at multiples of 50Hz or 55Hz?

  • If say my fundamental peak is exactly 50Hz, but my second FFT peak is at 110Hz, where should I measure the 2nd harmonic? 100Hz or 110Hz? In other words, should I seek out the peaks?

  • Lastly, THD is usually defined to take the sum at multiples of the fundamental. What if my FFT peaks are not exactly at multiples of the fundamental?

Update: - I was trying to measure THD for my power supply with line frequency of 50Hz. If measure the peak of the FFT, it's 50.35Hz. If I record that as the fundamental, the fractional points add up in the subsequent harmonics (e.g. for the 29th harmonic, the value becomes 1460.26 vs 1450 if 50Hz was used as the fundamental). From the FFT plot, clearly 1450 is the peak, while 1460 is not. - Should I look for peaks at each harmonic?

  • $\begingroup$ Please tell us about your 1-Sampling Rate $Fs$ and 2-Size $N$ of FFT $\endgroup$
    – Fat32
    May 24, 2016 at 11:33
  • $\begingroup$ "What if my FFT peaks are not exactly at multiples of the fundamental?" then you are most likely doing something wrong, or if these are measurements, your equipment is imprecise (non-constant group velocity?). $\endgroup$
    – oystein
    May 24, 2016 at 14:24
  • $\begingroup$ @Fat32 Fs=1.17Hz, N=64k. Actually, this is the oscilloscope's FFT waveform. $\endgroup$
    – Ryuu
    May 25, 2016 at 5:06

1 Answer 1


You can interpolate the FFT bin results to get better estimates of the actual peaks in the spectrum. Use a high quality interpolator, such as a windowed Sinc kernel.


Your Answer

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

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