I have a doubt in wolfram mathematica
. What happens is that I have an array of data and I can generate a espectrograma
, what I need is to generate this same spectrogram in 3 dimensions,
2D spectrogram
3D spectrogram (what I want to obtain)
What I want is to achieve something like in the following image
I have achieved it with files .WAV
but not with an excel column with data, which I import into mathematica, I only managed to apply filters and do the spectrograma
2D. If someone could give me some help I would appreciate it. Thank you very much.
Edit (I'll add what I have regarding the doubt)
I am using the code that is in the following link, but I think I do not understand the input parameters for the function well, I cannot get it to work for the .csv file . It is probable that I am doing everything wrong and this is not the function that I should use, I have also tried with ListPointPlot3D without results (I can only graph the spectrogram in 2D), but here they import a .WAV file
https://mathematica.stackexchange.com/questions/4017/computing-and-plotting-a-spectrogram-in-mathematica
Attached is the link of the noise.scv file (file of values separated by commas) which is the one I need to graph
https://mega.nz/#!P912VDIT!cRuug34tTVqFO41bc4hhepLfxk4jV5mYCJjwfeTYvLI
And finally the lines of code to import the file to Wolfram
datosExcel = Import["C:\\ruta_del_archivo.csv"]
datosExcel = datosExcel[[All, 1]]
The problem is the distribution of the data, to use ListPointPlot3D it must conform to a format. So first, with the data you have, you must know what each data is, I downloaded the data and since they are not divisible exactly into three parts, I assume that they are not coordinate data (x,y,z).
I suppose the idea is that each value represents a magnitude in z, so each value will have to be associated with a coordinate (x,y), if the base of the surface is assumed to be a square in (x,y), then discarding some data you can adjust the data to the appropriate format (x,y,z) and thus obtain the graph with the following code:
If the ListPlot3D command is used instead of ListPointPlot3D the result looks better. To make the code less obscure the last line can be reframed using:
And as it was interesting, doing a fourier analysis of the information, it is clear that a dominant frequency is appreciated in the harmonic 7, in other words, it is as if each 7 parts of the data the information is similar, for the same if If you want to appreciate the data with a better regularity, you can make the graph by segmenting it into 7 rows and graphing them:
The result looks great, you've given me something to entertain myself with this morning.