Creating and Downloading Waveform Files

 

Downloading Waveform Data

 

 

Line

Code Description—Download the I/Q data

 

 

9

Calculate the total number of bytes, and store the value in the integer variable defined in line 8.

 

In this code, numsamples contains the number of waveform points, not the number of bytes. Because it takes

 

four bytes of data, two I bytes and two Q bytes, to create one waveform point, we have to multiply

 

numsamples by four. This is shown in the following example:

 

numsamples = 500 waveform points

 

numsamples ⋅ 4 = 2000 (four bytes per point)

 

bytesToSend = 2000 (numsamples ⋅ 4)

 

For information on setting the number of waveform points, see “1. Create I and Q data.” on page 213.

 

 

10

Create a string large enough to hold the bytesToSend value as characters. In this code, string s is set to 20

 

bytes (20 characters—one character equals one byte)

 

 

11

Create a string and set its length (cmd[200]) to hold the SCPI command syntax and parameters. In this code,

 

we define the string length as 200 bytes (200 characters).

 

 

12

Store the value of bytesToSend in string s. For example, if bytesToSend = 2000; s = ”2000”

 

sprintf() is a standard function in C++, which writes string data to a string variable.

 

 

13

Store the SCPI command syntax and parameters in the string cmd. The SCPI command prepares the signal

 

generator to accept the data.

 

strlen() is a standard function in C++, which returns length of a string.

 

If bytesToSend = 2000, then s = “2000”, strlen(s) = 4, so

 

cmd = :MEM:DATA ”WFM1:FILE1\” #42000.

 

 

14

Send the SCPI command stored in the string cmd to the signal generator, which is represented by the session

 

id.

 

iwrite() is a SICL function in Agilent IO library, which writes the data (block data) specified in the string

 

cmd to the signal generator (id).

 

The third argument of iwrite(), strlen(cmd), informs the signal generator of the number of bytes in the

 

command string. The signal generator parses the string to determine the number of I/Q data bytes it

 

expects to receive.

 

The fourth argument of iwrite(), 0, means there is no END of file indicator for the string. This lets the

 

session remain open, so the program can download the I/Q data.

 

 

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

223

Page 233
Image 233
Agilent Technologies N5181A/82A, N5183A MXG, E8663B manual Numsamples by four. This is shown in the following example

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.