Keysight CXG, EXG, and MXG X-Series Signal Generators Programming Guide 209
Creating and Downloading Waveform Files
Understanding Waveform Data
To correctly swap bytes, you must group the data to maintain the I and Q
values. One common method is to break the two–byte integer into one–byte
character values (0–255). Character values use 8 bits (1 byte) to identify a
character. Remember that the maximum unsigned 8–bit value is 255 (2
8
– 1).
Changing the data into character codes groups the data into bytes. The next
step is then to swap the bytes to align with big endian order.
DAC Input Values
The signal generator uses a 16–bit DAC (digital–to–analog converter) to
process each of the 2–byte integer values for the I and Q data points. The DAC
determines the range of input values required from the I/Q data. Remember
that with 16 bits we have a range of 0–65535, but the signal generator divides
this range between positive and negative values:
— 32767 = positive full scale output
— 0 = 0 volts
— –32768 = negative full scale output
Because the DAC’s range uses both positive and negative values, the signal
generator requires signed input values. The following list illustrates the DAC’s
input value range.
Notice that it takes only 15 bits (2
15
) to reach the Vmax (positive) or Vmin
(negative) values. The MSB determines the sign of the value. This is covered in
“2’s Complement Data Format” on page 211
Keysight signal generators always assume that downloaded data is in
big-endian order, so there is no data order check. Downloading data in
little-endian order will produce an undesired output signal.
Voltage
DAC Range
Input Range
Binary Data
Hex Data
Vmax
Vmin
0 Volts
32767
–32768
0
01111111 11111111
00000000 00000000
00000000 00000001
11111111 11111111
10000000 00000000
1
-1
7FFF
0001
0000
FFFF
8000
0
32767
65535
32766
32768
Summary of Contents for X-Series
Page 4: ...4 ...
Page 10: ...10 Contents ...