Creating and Downloading Waveform Files
Creating Waveform Data
Line
Code Description—Interleaving and Byte Swapping for Little Endian Order
21–29
the I and Q data), and interleave the I and Q data.
—
shift the data pointer right 8 bits to the beginning of the high byte (ivalue >> 8)
—
AND (boolean) the high I byte with 0xFF to make the high I byte the value to store in the IQ
array—(ivalue >> 8) & 0xFF
—
AND (boolean) the low I byte with 0xFF (ivalue & 0xFF) to make the low I byte the value to store
in the I/Q array location just after the high byte [index * 4 + 1]
—
Swap the Q byte order within the same loop. Notice that the I and Q data interleave with each loop
cycle. This is due to the I/Q array shifting by one location for each I and Q operation [index * 4 +
n].
248
Little Endian Order
7
6
5
4
3
2
1 1 1 0 1 0 0 1
Data pointer
15 14 13 12 11 10
1 0 1 1 0 1 1 1
1 1 1 1 1 1 1 1
1 0 1 1 0 1 1 1
I Data in I/Q Array after Byte Swap (Big Endian Order)
15 14 13 12 11 10
1 0 1 1 0 1 1 1
Interleaved I/Q Array in Big Endian Order
15...................... 8
7....................
1 0 1 1 0 1 1 1
1 1 1 0 1 0 0 1
I Data
1
0
15 14 13 12 11 10
1 0 1 1 0 1 1 1
Data pointer shifted 8 bits
9
8
Hex value =B7
Hex value =FF
Hex value =B7
9
8
7
6
5
4
3
1 1 1 0 1 0 0 1
15...................... 8
0
1 1 1 0 0 1 0 1
Q Data
Keysight Signal Generators Programming Guide
Bit Position
9
8
Data
Hex values = E9 B7
Bit Position
2
1
0
Data
Hex value = B7 E9
Bit Position
7....................
0
0 1 1 0 1 0 1 1
Data