Updating IQ Waveform Data of NI VST in Generation State Using NI RFSG

Updated Jun 1, 2023

Reported In


  • PXIe-5840


  • LabVIEW



Programming Language

  • LabVIEW G

Issue Details

I am using NI VST 5840 in the 'Script' mode with NI RFSG drivers. I download two waveforms to the device with 'Streaming' disabled  and control the generation using software triggers. Can I update the waveform IQ data without aborting the generation state? The main objective is to reduce the waveform update time by avoiding the abort and commit routines.


Most of the NI RF generation devices including NI VST PXIe-5840 can update the waveform data in the generation state even when the 'streaming' is disabled. Following additional steps are recommended to achieve this:
  • Allocate the memory for the waveforms by calling “nirfsg Alloc Arb Wfm” or by directly calling “niRFSG Write Arb waveform” APIs in the configuration state. Set ‘more data pending’ control to true with ‘niRFSG Write Arb waveform’ if the waveform size is expected to expand when updating later in the generation state.
  • To overwrite any of the waveforms, use ‘niRFSG Set Arb Waveform Next Write Position’ API. Provide the name of the waveform to update, set 'relative to = Start of Waveform’ and offset = 0’. This will take the waveform write pointer to the beginning of the waveform memory.
  • Overwrite the waveform data with newer samples using ‘niRFSG Write Arb waveform’ API with the correct waveform name in the generation state.

Additional Information

If the updated waveform is the same waveform which is currently being generated as well, it may result in unknown output for a very small time. To avoid this glitch in the output, if applicable, switch to another waveform for generation and prepare/update an older waveform in the background.