Operating instructions

R&S ESCI More Complex Programming Examples
1166.6004.12 7.41 E-1
CALL SetupInstrument 'Default setting
CALL IBWRT(receiver%,"TRAC:IQ:STAT ON") 'Activate I/Q data
'acquisition mode; must be
'done before TRAC:IQ:SET !
'Select number of test points (= 128 * 1024 – 512) at RBW 10 MHz,
'sample rate 32 MHz, trigger free run, pos. trigger edge and 0 s trigger
'delay.
CALL IBWRT(receiver%,"TRAC:IQ:SET NORM,10MHz,32MHz,IMM,POS,0,130560")
'--------- Read-out in binary format----------------------------------------
Call ibwrt(receiver%, "FORMAT REAL,32") 'Set binary format
Call ibwrt(receiver%, "TRAC:IQ:DATA?") 'Measure + read out I/Q data
Call ilrd(receiver%, result$, 2) 'Read and store length for
digits = Val(Mid$(result$, 2, 1)) 'number of digits
result$ = Space$(100) 'Re-initialize buffer
Call ilrd(receiver%, result$, digits) 'Read and store length
IQBytes = Val(Left$(result$, digits)) '
IQBytes = IQBytes / 2 'Divide no. per buffer in
half
Call ibrd32(receiver%, IData(0), IQBytes) 'Read I data in buffer
Call ibrd32(receiver%, QData(0), IQBytes) 'Read Q data in buffer
Call ilrd(receiver%, result$, 1) 'Read in end character <NL>
'--------- Output of binary data as frequency/level pair -----------------
IQValues = IQBytes/4 'Single Precision = 4 Bytes
For i = 0 To IQValues – 1
Print "I-Value["; i; "] = "; IData(i)
Print "Q-Value["; i; "] = "; QData(i)
Next i
'--------- Auslesen im ASCII-Format ----------------------------------------
Call ibwrt(receiver%,"FORMAT ASCII") 'Set ASCII format
Call ibwrt(receiver%, "TRAC:IQ:DATA?") 'Re-measure and read out
'I/Q data
CALL ibrd(receiver%, asciiResult$)
CALL IBWRT(receiver%,"TRAC:IQ:STAT OFF") 'Stop I/Q data aquisition
'mode if no further
'measurements are to be
'done
END SUB
REM ************************************************************************