Technical data

Agilent Signal Generators Programming Guide 297
Creating and Downloading Waveform Files
Programming Examples
HP Basic Programming Examples
This section contains the following programming examples:
“Creating and Downloading Waveform Data Using HP BASIC for Windows®” on page 297
“Creating and Downloading Waveform Data Using HP BASIC for UNIX” on page 299
“Creating and Downloading E443xB Waveform Data Using HP BASIC for Windows” on page 301
“Creating and Downloading E443xB Waveform Data Using HP Basic for UNIX” on page 302
Creating and Downloading Waveform Data Using HP BASIC for Windows®
On the documentation CD, this programming example’s name is “hpbasicWin.txt.”
The following program will download a waveform using HP Basic for Windows into volatile ARB
memory. The waveform generated by this program is the same as the default SINE_TEST_WFM
waveform file available in the signal generator’s waveform memory. This code is similar to the code
shown for BASIC for UNIX but there is a formatting difference in line 130 and line 140.
To download into non–volatile memory, replace line 190 with:
190 OUTPUT @PSG USING "#,K";":MMEM:DATA ""NVWFM:testfile"", #"
As discussed at the beginning of this section, I and Q waveform data is interleaved into one file in
2s compliment form and a marker file is associated with this I/Q waveform file.
In the Output commands, USING “#,K” formats the data. The pound symbol (#) suppresses the
automatic EOL (End of Line) output. This allows multiple output commands to be concatenated as if
they were a single output. The “K” instructs HP Basic to output the following numbers or strings in
the default format.
10 ! RE-SAVE "BASIC_Win_file"
20 Num_points=200
30 ALLOCATE INTEGER Int_array(1:Num_points*2)
40 DEG
50 FOR I=1 TO Num_points*2 STEP 2
60 Int_array(I)=INT(32767*(SIN(I*360/Num_points)))
70 NEXT I
80 FOR I=2 TO Num_points*2 STEP 2
90 Int_array(I)=INT(32767*(COS(I*360/Num_points)))
100 NEXT I
110 PRINT "Data Generated"
120 Nbytes=4*Num_points
130 ASSIGN @PSG TO 719
140 ASSIGN @PSGb TO 719;FORMAT MSB FIRST
150 Nbytes$=VAL$(Nbytes)
160 Ndigits=LEN(Nbytes$)
Windows and MS Windows are U.S registered trademarks of Microsoft Corporation.