LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Spectrogram IQ data

I am new to the forum. I am looking to create a capability to playback and visualize recorded IQ data. Specifically, I am interested in streaming the IQ data samples from a file and plotting the spectrogram or waterfall. I would like the spectrogram to contain some history of the sample points. I can stream the samples in and plot the spectrum but am really looking for advice on how to plot the spectrogram. I have the signal processing toolkit (not the advanced) and have tried several applications using the STFT VI, but in all cases was unsuccessful. I may just not have a good understanding of how the STFT VI works. I will try to post an example of one of my many failed attempts soon. Any suggestions would be most welcome. Thanks!
0 Kudos
Message 1 of 5
(5,195 Views)

You can use an intensity chart. Send consecutive spectra to it as a 1D arrays.

0 Kudos
Message 2 of 5
(5,164 Views)

Attached is a snippet of the VI I've been working with.  I'm working off of the example "Moving STFT PtByPt.vi" so I've attempted to implement the STFT PtByPt VI.  Unfortunately, I am still not seeing the results I have exepted.  The spectrogram appears to move/scroll the way I want it to, however the data displayed on the intesity graph does not seem rigth.  I have arbitrarily set "sample length" to 100, "window length" to 50, and "window selector" to "Hanning".  The IQ data is in complex format.  I noticed that there seems to be warning (red dot) on the "x" input of STFT PtByPt VI.  Can this VI handle complex input data?  Attached is a screen shot of the context help for this VI.  Additionally, the recorded IQ data is has a bandwidth of 40 MHz, center frequency of 2.4482 GHz, and sample rate of 50 Msps (samples per second). 

Download All
0 Kudos
Message 3 of 5
(5,131 Views)

ToeCutter - thanks.  I've implemented the STFT PtByPt with an intensity graph.  still not seeing what i would expect.

0 Kudos
Message 4 of 5
(5,129 Views)

Well, I took spectrogram to mean 'spectrum' but I see it is a somewhat distinct concept. The output of the spectrogram is a 2D array, so you're out of luck, you can't have a waterfall display of 2D snapshots- waterfalls are created by stacking 1D arrays.

 

The cast *could* be because it doesn't expect a complex input.

 

As a starter for 10, take an array of say 1 second of your complex data. Shove it into 'FFT spectrum (mah-phase)' and you should get a 1D array out. Extract just the magnitude out (or you may want to square the magnitude to get a measure in terms of intensity/power or the like) and pass that 1D array to a waveform CHART (not graph). Does that give you the kind of thing you want?

0 Kudos
Message 5 of 5
(5,087 Views)