EasyManua.ls Logo

Keysight E4428C ESG RF - Page 273

Keysight E4428C ESG RF
404 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Keysight Signal Generators Programming Guide 265
Creating and Downloading Waveform Files
Programming Examples
// For this reason the data bytes are swapped before being saved.
// Find the Maximum amplitude in I and Q to normalize the data between +-1
maxAmp = Iwave[0];
minAmp = Iwave[0];
for( i=0; i<points; i++)
{
if( maxAmp < Iwave[i] )
maxAmp = Iwave[i];
else if( minAmp > Iwave[i] )
minAmp = Iwave[i];
if( maxAmp < Qwave[i] )
maxAmp = Qwave[i];
else if( minAmp > Qwave[i] )
minAmp = Qwave[i];
}
maxAmp = fabs(maxAmp);
minAmp = fabs(minAmp);
if( minAmp > maxAmp )
maxAmp = minAmp;
// Convert to short integers and interleave I/Q data
scale = 32767 / maxAmp; // Watch out for divide by zero.
for( i=0; i<points; i++)
{
waveform[2*i] = (short)floor(Iwave[i]*scale + 0.5);
waveform[2*i+1] = (short)floor(Qwave[i]*scale + 0.5);
}
// If on a PC swap the bytes to Big Endian
if( strcmp(computer,”PCWIN”) == 0 )
//if( PC )
{
pChar = (char *)&waveform[0]; // Character pointer to short int data
for( i=0; i<2*points; i++ )
{
buf = *pChar;
*pChar = *(pChar+1);
*(pChar+1) = buf;
pChar+= 2;
}
}

Table of Contents

Related product manuals