Agilent Technologies E8663B Portable Generator User Manual


 
232 Agilent N518xA, E8663B, E44x8C, and E82x7D Signal Generators Programming Guide
Creating and Downloading Waveform Files
Programming Examples
C++ Programming Examples
This section contains the following programming examples:
“Creating and Storing Offset I/Q Data—Big and Little Endian Order” on page 232
“Creating and Storing I/Q Data—Little Endian Order” on page 236
“Creating and Downloading I/Q Data—Big and Little Endian Order” on page 238
“Importing and Downloading I/Q Data—Big Endian Order” on page 242
“Importing and Downloading Using VISA—Big Endian Order” on page 245
“Importing, Byte Swapping, Interleaving, and Downloading I and Q Data—Big and Little Endian
Order” on page 249
Creating and Storing Offset I/Q Data—Big and Little Endian Order
On the documentation CD, this programming example’s name is “offset_iq_c++.txt.”
This C++ programming example (compiled using Microsoft Visual C++ 6.0) follows the same coding
algorithm as the MATLAB programming example “Creating and Storing I/Q Data” on page 255 and
performs the following functions:
•error checking
data creation
data normalization
data scaling
I/Q signal offset from the carrier (single sideband suppressed carrier signal)
byte swapping and interleaving for little endian order data
I and Q interleaving for big endian order data
binary data file storing to a PC or workstation
reversal of the data formatting process (byte swapping, interleaving, and normalizing the data)
After creating the binary file, you can use FTP, one of the download utilities, or one of the C++
download programming examples to download the file to the signal generator.
// This C++ example shows how to
// 1.) Create a simple IQ waveform
// 2.) Save the waveform into the ESG/PSG Internal Arb format
// This format is for the E4438C, E8267C, E8267D
// This format will not work with the ESG E443xB or the Agilent MXG N518xA
// 3.) Load the internal Arb format file into an array
#include <stdio.h>
#include <string.h>
#include <math.h>
const int POINTS = 1000; // Size of waveform
const char *computer = “PCWIN”;
int main(int argc, char* argv[])
{