From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

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
(4,143 Views)

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

0 Kudos
Message 2 of 5
(4,112 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
(4,079 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
(4,077 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
(4,035 Views)