Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Measuring the 'purity' of a sine wave using FFT (Matlab)

  1. Apr 10, 2014 #1
    I have a range of sine waves I have obtained in an experiment.

    I want to put a measure on the purity of these sine waves - how well the reproduce a theoretical sine wave.

    Is there anyway I can analyse the FFT of the sine waves in Matlab and put a measure on the purity of the sine wave (e.g. by measuring the FWHM of the peak at the frequency of the sine wave)?

    Thank you
  2. jcsd
  3. Apr 11, 2014 #2


    User Avatar
    Science Advisor
    Gold Member

    Yes, you could use the FFT function (see the examples in the documentation) or -if you have the right toolbox- estimate the PSD using e.g. Welch method (I recommend the latter if possible).

    That said, if you have a range of sine-wave any lack of "purity" would not usually manifest itself as a wider fundamental peak in the spectrum; you are more likely to see other frequency components in the spectra; in particular harmonics which is why THD is such a popular measure of spectral purity.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook