3d plot of spectrum data object
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi I have acceleration data of a machine acquired at every 1 minute interval for 5 minutes. I have obtained psd plot for each data set using psd.welch. Now I want to plot the all 6 psd plots on a 3-d plot more or less like a waterfall plot so that I can see gradual changes in the spectra with increasing time. Here is my code:
clear all
close all
echo on
Fs=30000;
forceZ1 = xlsread('1.xlsx',2,'H6:H5001');
forceZ10 = xlsread('10.xlsx',2,'H6:H5001');
forceZ20 = xlsread('20.xlsx',2,'H6:H5001');
forceZ30 = xlsread('30.xlsx',2,'H6:H5001');
forceZ40 = xlsread('40.xlsx',2,'H6:H5001');
forceZ50 = xlsread('50.xlsx',2,'H6:H5001');
Hs1=spectrum.welch;
Hs10=spectrum.welch;
Hs20=spectrum.welch;
Hs40=spectrum.welch;
Hs50=spectrum.welch;
Hpsd1=psd(Hs1,forceZ1,'Fs',Fs);
Pxx1=Hpsd1.Data;
W=Hpsd1.Frequencies;
Hpsd10=psd(Hs10,forceZ10,'Fs',Fs);
Pxx10=Hpsd10.Data;
Hpsd20=psd(Hs20,forceZ20,'Fs',Fs);
Pxx20=Hpsd20.Data;
Hpsd30=psd(Hs30,forceZ30,'Fs',Fs);
Pxx30=Hpsd30.Data;
Hpsd40=psd(Hs40,forceZ40,'Fs',Fs);
Pxx40=Hpsd40.Data;
Hpsd50=psd(Hs50,forceZ50,'Fs',Fs);
Pxx50=Hpsd50.Data;
hpsd=dspdata.psd([Pxx1, Pxx10, Pxx20, Pxx30, Pxx40, Pxx50],W,'Fs',Fs);
plot(hpsd);
legend('Pxx1', 'Pxx10', 'Pxx20', 'Pxx30', 'Pxx40', 'Pxx50');
waterfall(hpsd');
grid on;
I have tried to look for various 3d options available in Matlab but couldnot find any except waterfall which can make a line plot in 3d but could not figure out how to use it with psddata object.
Please help.
Thanks.
I want my final plot to look like this:
0 commentaires
Réponses (0)
Voir également
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!