How Do I Get IQ Data from a Waveform?

Updated May 15, 2023

Reported In

Software

  • LabVIEW

Driver

  • NI-RFSA
  • NI-RFSG
  • NI-USRP

Issue Details

I want to get the IQ components from a complex waveform in LabVIEW, how do I do this?

Solution

Complex waveforms in LabVIEW are usually stored in one of two ways, as a Complex Cluster or as a proper Complex Waveform.

You can use the Unbundle VI to extract the components from a complex cluster, or the Get Waveform Components VI for a complex waveform. In both cases, the complex datatype is comprised of a t0 starting time for the data, a dt time separation between each sample, and a Y array of complex numbers. 

The actual waveform data in both cases is an array of complex numbers, with the real values corresponding to I and the imaginary values corresponding to Q. You can use the Complex to Re/Im VI to get the components out of the complex array.


The NI RFSA driver also includes a dedicated Get IQ Components VI that can take either a complex cluster or waveform and extract the I and Q components.