Creating and Downloading Waveform Files

Creating Waveform Data

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 249 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 206 and “Downloading Waveform Data” on page 218.

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.

Line

Code—Create I and Q data

1const int NUMSAMPLES=500;

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

3{

4short idata[NUMSAMPLES];

5short qdata[NUMSAMPLES];

6int numsamples = NUMSAMPLES;

7for(int index=0; index<numsamples; index++);

8{

9idata[index]=23000 * sin((2*3.14*index)/numsamples);

10qdata[index]=23000 * cos((2*3.14*index)/numsamples);

11}

Line

Code Description—Create I and Q data

1Define the number of waveform points. Note that the maximum number of waveform points that you can set is based on the amount of available memory in the signal generator. For more information on signal generator memory, refer to “Waveform Memory” on page 198.

2Define the main function in C++.

4Create an array to hold the generated I values. The array length equals the number of the waveform points. Note that we define the array as type short, which represents a 16- bit signed integer in most C++ compilers.

5

Create an array to hold the generated Q values (signed 16- bit integers).

6

Define and set a temporary variable, which is used to calculate the I and Q values.

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

213

Page 223
Image 223
Agilent Technologies E8663B, N5181A/82A, N5183A MXG manual Code Algorithm, Create I and Q data

N5183A, N5183A MXG, E8663B, N5181A/82A specifications

Agilent Technologies is renowned for its innovative solutions in electronic test and measurement equipment. Among its offerings are several signal generators including the N5181A, N5182A, E8663B, and N5183A MXG. These models are distinguished not only by their performance but also by their versatility across various applications in communications, aerospace, and electronics.

The Agilent N5181A and N5182A, part of the MXG family, are highly versatile signal generators known for their exceptional frequency performance and flexibility. The N5181A operates from 100 kHz to 6 GHz, while the N5182A extends that range up to 12 GHz. They provide high fidelity signals with low phase noise, making them ideal for the development and testing of RF components and systems. These generators support a wide variety of modulation formats, including AM, FM, PM, and pulse modulation, catering to diverse application needs.

The E8663B, meanwhile, is designed for the range of 250 kHz to 3 GHz and is also recognized for its high-performance features. Its built-in capabilities for modulation make it effective for testing wireless devices, ensuring that signals can be simulated accurately in both laboratory and field environments. It is especially beneficial for users requiring a straightforward and efficient solution with high reliability.

The N5183A MXG signal generator enhances the lineup with frequency coverage up to 6 GHz and advanced capabilities. It integrates various modulation capabilities while ensuring high signal integrity. Its architecture is tailored for both production test environments and research applications, providing users with the flexibility to adapt to changing testing requirements.

Common characteristics across these models include a user-friendly interface that simplifies configuration and operation. They are often equipped with LAN and USB interfaces for easy remote control and integration into automated test systems. The robustness of these generators allows them to perform reliably in challenging environments, making them essential tools in laboratories, manufacturing floors, and field testing scenarios.

In summary, Agilent's signal generators, including the N5181A, N5182A, E8663B, and N5183A MXG, represent a blend of advanced technology, flexibility, and precision. These instruments are vital in facilitating the evolution of cutting-edge communication technologies, ensuring that designers and engineers can confidently meet the demands of modern electronics.