How do I estimate PSD in matlab ? There are lots of methods to estimate, depending on application.

I am using an experimental data to identify faults ( e.g. interturn fault of electric motor), which gives periodic/regular waveforms (pre-fault) but erratically different (or could have some periodicity) waveforms (post-fault). In this application, my voltage signal, v(t) is sampled and collected using DAQ systems.


  1. Can v(t) be considered a wide-sense-stationary random process (WSS-RP) ?

I understand that there are multiple ways to get PSD. What is the best suggestion ? Is it ...

  1. By fourier transform the autocorrelation, if only v(t) is WSS-RP. [as described by Wiener-Khintichine Theorem]

  2. By

    • splitting the signal,v(t) into multiple frames( or segments)
    • applying window function : multiply each segment by a hamming window (i.e. convolution in freq. domain )
    • FFT each of the windowed signal
    • either multiply its conjugate or absolute square, to get the spectral density of the segment
    • resulting spectra are averaged to get the ultimate averaged spectrum Just like the explanation here Fig 9.1, Sect.11: Averaging Periodograms, pg14

What is the difference in the mathworks' application note in (www.mathworks.com/help/signal/ref/spectrum.html)

Can someone please guide in the codings ?

Feel grateful in the midst of dsp gurus ! kit


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.