power spectral density PSD?
    5 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Mary Jon
 am 28 Nov. 2013
  
    
    
    
    
    Kommentiert: Youssef  Khmou
      
 am 3 Dez. 2013
            If I am have signal with length(33),or 13 signals each with length(33), How finding PSD to each signal individually?and plot its individually?
0 Kommentare
Akzeptierte Antwort
  Youssef  Khmou
      
 am 29 Nov. 2013
        You can try this way :
 t=linspace(0,1,33);% 1 seconde
Fs=inv(t(3)-t(2));
f=Fs/10;
P=13; % number of signals
X=zeros(33,P);
 for n=1:P
    X(:,n)=sin(2*pi*t*(f+n));
end
N=512; % number of points for computing DFT
frequency=(0:N-1)*Fs/N; % frequency  axis
 frequency=frequency(1:floor(end/2)); %  One sided spectrum
 PSD=zeros(N,P);
 for n=1:P
    PSD(:,n)=fft(X(:,n),N);
    PSD(:,n)=PSD(:,n).*conj(PSD(:,n));
 end
 PSD(floor(end/2)+1:N,:)=[]; % one sided spectrum
 %  Plotting them all in one figure
 figure,plot(frequency,PSD)
4 Kommentare
  Youssef  Khmou
      
 am 3 Dez. 2013
				mary, they are the same, it is just a problem of scale, Fxx is the frequency axis and it is 33x1, then we should get the same number of points using fft:
   plot(Fxx,Pxx);
   hold on;
   F1=fft(X(:,1),33*2); % 33*2 points
   F1=abs(F1(1:33));
   plot(Fxx,F1,'r');
I used sinus just as example, Good luck mary
Weitere Antworten (1)
  Wayne King
    
      
 am 28 Nov. 2013
        Hi Mary, If you have the Signal Processing Toolbox, the easiest thing is to use periodogram()
I'll create some simulated signals. I'll assume your sampling frequency is 1.
X = randn(33,13);
for nn = 1:13
  [Pxx(:,nn),Fxx] = periodogram(X(:,nn),[],64,1);
end
You can plot each one individually by selecting the column.
plot(Fxx,10*log10(Pxx(:,1)))
7 Kommentare
  Youssef  Khmou
      
 am 1 Dez. 2013
				512 is the number of points for calculating DFT, you can put any number, higher number gives good resolution, any number that is multiple of 2 (128,512,1024...) is faster DFT becomes FFT
Siehe auch
Kategorien
				Mehr zu Parametric Spectral Estimation finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


