how to calculate and plot power spectral density of a given signal

58 vues (au cours des 30 derniers jours)
arash
arash le 5 Fév 2014
Commenté : Rahul Gulia le 3 Jan 2023
I have signal and i want to plot it's power spectral density , What should i do? is it right if i first calculate the FFT of a signal and then get the square abs of it's value?
  1 commentaire
Rahul Gulia
Rahul Gulia le 3 Jan 2023
Yes, I agree. We need to take the FFT to get its frequency components and then generate its absolute value plot to learn about its PSD.

Connectez-vous pour commenter.

Réponse acceptée

Wayne King
Wayne King le 5 Fév 2014
Modifié(e) : Wayne King le 5 Fév 2014
If you have the Signal Processing Toolbox, it is easiest to use periodogram().
That handles all the scaling for you.
Fs = 1000;
t = 0:1/Fs:1-1/Fs;
x = cos(2*pi*100*t)+randn(size(t));
[Pxx,F] = periodogram(x,[],length(x),Fs);
plot(F,10*log10(Pxx))
If you do not have the Signal Processing Toolbox, the PSD is proportional to the absolute value squared of the DFT (calculated by fft())
For more information on that scaling, please see:

Plus de réponses (0)

Catégories

En savoir plus sur Parametric Spectral Estimation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by