IQ Capture/Streaming (Option 124/126 and 125/127) Measurement Guide : IQ Capture/Streaming (Option 124/126 and 125/127) : IQ Streaming
 
IQ Streaming
In streaming, the IQ data uses the same frame and extended frame structure as in block mode.
IQ data is captured to high speed DDR4 SDRAM memory, configured as a ring buffer. The buffer memory is 2 GB. The data stream rate to memory is determined by the selected IQ bandwidth. When the buffer is full, new IQ data is stored from the first partition again.
 
Data Transmission to Remote User
When the IQ is sent out from the memory to the remote user, the data flow rate has to be managed. The simplest way to manage the data flow is to send out one partition and wait for a read command from the remote user before sending another partition. The user may not be able to receive all the partitions if the read command for each partition is delayed due to latency in the CPU, OS, network, and user application. The IQ data is continuously filling the memory partitions at a rate proportional to the selected IQ capture bandwidth. If the read command arrives after the start of a partition, that partition is skipped and will not be sent. The next partition will be sent instead.
 
To read the IQ data, use the TRAC:IQ:DATA? SCPI command. This returns the partition with the most recently captured IQ data. During streaming, the client has to continuously send TRAC:IQ:DATA? SCPI command to another partition’s IQ data.
The capture of IQ data and filling of partitions will continue until it is aborted with the :ABORT command or other commands that change frequency or attenuation settings. To determine if the capture was aborted, check the output of STATus:OPERation?.
The STATus:OPERation? query responds with an integer. Convert this integer to binary.
Bit 9 is set to 1 when the MEAS:IQ:CAPT command is issued.
Bit 9 is set to 0 if the capture is aborted by the :ABORT command or other command that invalidates the capture.