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
2’s 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.