Technical data
Agilent Signal Generators Programming Guide 235
Creating and Downloading Waveform Files
Creating Waveform Data
Creating Waveform Data
This section examines the C++ code algorithm for creating I/Q waveform data by breaking the
programming example into functional parts and explaining the code in generic terms. This is done to
help you understand the code algorithm in creating the I and Q data, so you can leverage the concept
into your programming environment. The SCPI Command Reference, contains information on how to
use SCPI commands to define the markers (polarity, routing, and other marker settings). If you do
not need this level of detail, you can find the complete programming examples in “Programming
Examples” on page 254.
You can use various programming environments to create ARB waveform data. Generally there are
two types:
• Simulation software— this includes MATLAB, Agilent Technologies EESof Advanced Design
System (ADS), Signal Processing WorkSystem (SPW), and so forth.
• Advanced programming languages—this includes, C++, VB, VEE, MS Visual Studio.Net, Labview,
and so forth.
No matter which programming environment you use to create the waveform data, make sure that the
data conforms to the data requirements shown on page 207. To learn about I/Q data for the signal
generator, see “Understanding Waveform Data” on page 207.
Code Algorithm
This section uses code from the C++ programming example “Importing, Byte Swapping, Interleaving,
and Downloading I and Q Data—Big and Little Endian Order” on page 270 to demonstrate how to
create and scale waveform data.
There are three steps in the process of creating an I/Q waveform:
1. Create the I and Q data.
2. Save the I and Q data to a text file for review.
3. Interleave the I and Q data to make an I/Q file, and swap the byte order for little–endian
platforms.
For information on downloading I/Q waveform data to a signal generator, refer to “Commands and
File Paths for Downloading and Extracting Waveform Data” on page 228 and “Downloading Waveform
Data” on page 241.
1. Create I and Q data.
The following lines of code create scaled I and Q data for a sine wave. The I data consists of one
period of a sine wave and the Q data consists of one period of a cosine wave.