Agilent Technologies N5183A MXG User Manual
Page 244
234
Agilent N518xA, E8663B, E44x8C, and E82x7D Signal Generators Programming Guide
Creating and Downloading Waveform Files
Programming Examples
// Find the Maximum amplitude in I and Q to normalize the data between +-1
maxAmp = Iwave[0];
minAmp = Iwave[0];
for( i=0; 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 { 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; } } // Save the data to a file
// Use FTP or one of the download assistants to download the file to the