Keysight Signal Generators Programming Guide 311
 Creating and Downloading Waveform Files
Programming Examples
10    ! RE-SAVE "ARB_IQ_file"
20    Num_points=200
30    ALLOCATE INTEGER Iwfm_data(1:Num_points),Qwfm_data(1:Num_points)
40    DEG
50    FOR I=1 TO Num_points
60      Iwfm_data(I)=INT(8191*(SIN(I*360/Num_points))+8192)
70      Qwfm_data(I)=INT(8191*(COS(I*360/Num_points))+8192)
80    NEXT I
90    PRINT "Data Generated"
100   Nbytes=2*Num_points
110   ASSIGN @Esg TO 719;FORMAT ON
120   ASSIGN @Esgb TO 719;FORMAT OFF
130   Nbytes$=VAL$(Nbytes)
140   Ndigits=LEN(Nbytes$)
150   Ndigits$=VAL$(Ndigits)
160   OUTPUT @Esg USING "#,K";":MMEM:DATA ""ARBI:file_name_1"",#"
170   OUTPUT @Esg USING "#,K";Ndigits$
180   OUTPUT @Esg USING "#,K";Nbytes$
190   OUTPUT @Esgb;Iwfm_data(*)
200   OUTPUT @Esg;END
210   OUTPUT @Esg USING "#,K";":MMEM:DATA ""ARBQ:file_name_1"",#"
220   OUTPUT @Esg USING "#,K";Ndigits$
230   OUTPUT @Esg USING "#,K";Nbytes$
240   OUTPUT @Esgb;Qwfm_data(*)
250   OUTPUT @Esg;END
260   ASSIGN @Esg TO *
270   ASSIGN @Esgb TO *
280   PRINT 
290   PRINT "*END*"
300   END
Program Comments 
10: Program file name.
20 Sets the number of points in the waveform.
30: Defines arrays for I and Q waveform points. Sets them to be integer arrays.
40: Sets HP BASIC to use degrees for cosine and sine functions.
50: Sets up loop to calculate waveform points.
60: Calculates I waveform points.
70: Calculates Q waveform points.