MATLAB Answers

Difference between fft and pspectrum

58 views (last 30 days)
I would like to do frequency analysis of EMG and found 2 different functions: fft and pspectrum. Could anyone tell me the difference between the 2 functions?

Accepted Answer

Shantanu Dwivedi
Shantanu Dwivedi on 22 Sep 2020
Edited: Shantanu Dwivedi on 22 Sep 2020
The 'fft(x)' function computes the discrete Fourier transform (DFT) of x using a fast Fourier transform (FFT) algorithm.
Please refer the following link for more information about the fft function.
The 'pspectrum(x)' function returns the power spectrum of x.
Please refer the following link for more information about the 'pspectrum' function.
A fast Fourier transform is an algorithm that computes the discrete Fourier transform of a sequence. Fourier Transform changes the domain of the signal from time or space to frequency domain. The DFT is obtained by decomposing a sequence of values into components of different frequencies.
The statistical average of a certain signal or sort of signal (including noise) as analyzed in terms of its frequency content, is called its spectrum. So, the power spectrum refers to the spectral energy distribution that would be found per unit time, since the total energy of such a signal over all time would generally be infinite.
  1 Comment
Takashi Fukushima
Takashi Fukushima on 22 Sep 2020
Thank you very much for your answer.
I visited fft function page and saw this ...
Y = fft(X);
Fs = Sample frequency
L = Length of signal
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
plot(f,P1);
Could you tell me why I have to compute two-sided spectrum and convert it to single-sided spectrum? I mean I do not know where the formula comes from...

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!