How can a make a CSD plot with a 3D matrix
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
For my thesis project I am making the analysis of signals I get when a sample gets irradiated by a pulsed laser and I make from 10 to 500 pulses for sample so it's a lot of data. For each pulse a signal of the milisecond order is recorded in wfm format and then converted to ascii. I already have a program that performs the FFT for each signal and then makes a waterfall plot with all the signals, so i have (frequency, pulse number, amplitude) for axis like the figure shows.

This is for ten pulses and it is not easy too see how the frequency changes with pulse number (since the peaks interfere) and when it's for 500 it gets worse. So what I would like to know if it is possible to make a CSD plot from the 3D matrix like this:

but that intead of having the time axis I have pulse number. For the examples I've seen for this it's necessary to make a grid but this requires integrer data and my data is decimals so I would really appreciate the help and ideas.
0 Kommentare
Antworten (1)
Image Analyst
am 31 Dez. 2016
Why is the grid needed? I say that because you can get the grid with pcolor() but the reason I don't like it is that it doesn't show you the last row and column. So I'd use imshow() which is better especially for large arrays where the grid lines could obscure the actual data. You can also put in XData and YData so that the axes tick labels are what you want, instead of in pixels.
2 Kommentare
Image Analyst
am 31 Dez. 2016
You have the data. I assume that is the information you want, and you just need to display it. Is there other information there that you need to extract, like the area fraction of data greater than some value, or the mean value of data in some region that you define? If so you'll need to do image analysis on the data. If not, then just display it
[rows, columns] = size(data);
frequencyVector = linspace(0, 11000, columns);
timeVector = linspace(0, 5, rows);
imshow(data, [], 'XData', frequencyVector, 'YData', timeVector);
axis on;
Siehe auch
Kategorien
Mehr zu Spectral Measurements 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!