beautypg.com

Importing, byte swapping, interleaving, Importing, byte swapping – Agilent Technologies N5183A MXG User Manual

Page 259

background image

Agilent N518xA, E8663B, E44x8C, and E82x7D Signal Generators Programming Guide

249

Creating and Downloading Waveform Files

Programming Examples

Importing, Byte Swapping, Interleaving, and Downloading I and Q Data—Big and Little Endian Order

On the documentation CD, this programming example’s name is “impDwnLd2_c++.txt.”

This C++ programming example (compiled using Microsoft Visual C++ 6.0) performs the following
functions:

error checking

binary file importing (earlier E443xB or current model signal generators)

byte swapping and interleaving for little endian order data

data interleaving for big endian order data

data scaling

binary file download for earlier E443xB data or current signal generator formatted data

// This C++ program is an example of loading I and Q

// data into an E443xB, E4438C, E8267C, or E8267D signal

// generator.

//

// It reads the I and Q data from a binary data file

// and then writes the data to the instrument.

// Include the standard headers for SICL programming

#include

#include

#include

#include

// Choose a GPIB, LAN, or RS-232 connection

char* instOpenString =”gpib0,19”;

// Pick some maximum number of samples, based on the

// amount of memory in your computer and your waveforms.

const int MAXSAMPLES=50000;

int main(int argc, char* argv[])

{

// These are the I and Q input files.

// Some compilers will allow ‘/’ in the directory

// names. Older compilers might need ‘\\’ in the

// directory names. It depends on your operating system

// and compiler.

char *ifile = “c:\\SignalGenerator\\data\\BurstA1I.bin”;

char *qfile = “c:\\SignalGenerator\\data\\BurstA1Q.bin”;

This manual is related to the following products: