EasyManua.ls Logo

Rohde & Schwarz R&S FSL3 - Page 1650

Rohde & Schwarz R&S FSL3
1734 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Measuring the Magnitude and Phase of a Signal R&S FSL
1300.2519.12 7.22 E-11
REM ************************************************************************
Public Sub ReadIQData()
'––––––––– Create variables –––––––––––––––––––––––––––––––––––––––––––––––
Dim IData(131072) As Single 'Buffer for floating–point
'I data (= 512*1024 bytes)
Dim QData(131072) As Single 'Buffer for floating–point
'Q data (= 512*1024 bytes)
'Note:
'Visual Basic cannot read in
'data volumes larger than
'512 k words!
Dim digits As Byte 'No. of digits as length
Dim IQBytes As Long 'Length of trace data in bytes
Dim IQValues As Long 'No. of meas. values in buffer
Dim retCount As Integer 'Return count from read
asciiResult$ = Space$(6553600) 'Buffer for ASCII I/Q data
'(= 25*2*1024 bytes)
result$ = Space$(100) 'Buffer for simple results
'––––––––– Default setting –––––––––––––––––––––––––––––––––––––––
CALL SetupInstrument 'Default setting
CALL InstrWrite(analyzer,"TRAC:IQ:STAT ON")
'Activate I/Q data
'acquisition mode; must be
'done before TRAC:IQ:SET !
'Select number of test points
'(= 512 * 1024 – 512) at
'RBW 10 MHz, 'sample rate 32 MHz,
'trigger free run, pos. trigger
'edge and 0 s trigger delay.
CALL InstrWrite(analyzer,"TRAC:IQ:SET NORM,10MHz,32MHz,IMM,POS,0,130560")
'––––––––– Read–out in binary format––––––––––––––––––––––––––––––––––––––––
CALL InstrWrite(analyzer, "FORMAT REAL,32")
'Set binary format
CALL InstrWrite(analyzer, "TRAC:IQ:DATA?")
'Measure + read out I/Q data
CALL viRead(analyzer, result$, 2, retCount)
'Read and store length for
digits = Val(Mid$(result$, 2, 1)) 'number of digits
result$ = Space$(100) 'Re–initialize buffer
CALL viRead(analyzer, result$, digits, retCount)
'Read and store length
IQBytes = Val(Left$(result$, digits))
IQBytes = IQBytes / 2 'Divide no. per buffer in half
CALL viRead(analyzer, IData(0), IQBytes, retCount)
'Read I data in buffer
CALL viRead(analyzer, QData(0), IQBytes, retCount)
'Read Q data in buffer

Table of Contents

Related product manuals