Agilent Technologies ESA-E Series Programmer's Manual page 139

Esa spectrum analyzers
Hide thumbs Also See for ESA-E Series:
Table of Contents

Advertisement

Programming Examples
Measuring Harmonic Distortion (RS-232)
/*Read the marker amplitude, this is the fundamental amplitude
in dBm */
viQueryf(viESA,"CALC:MARK:Y?\n","%1f", &fFundaAmptdDbm);
/*Change the amplitude units to Volts */
viPrintf(viESA,"UNIT:POW V\n");
/*Read the marker amplitude in volts, This is the fundamental amplitude
in Volts (necessary for the THD calculation).*/
viPrintf(viESA,"CALC:MARK:Y?\n");
viScanf(viESA,"%lf",&dFundaAmptdV);
/*Read the marker frequency. */
viPrintf(viESA,"CALC:MARK:X?\n");
viScanf(viESA,"%lf",&dMarkerFreq);
dFundamental = dMarkerFreq;
/*Measure each harmonic amplitude as follows: */
for ( lNum=2;lNum<=lMaxHarmonic;lNum++)
{
/*Measuring the Harmonic No#[%d] message */
printf("\n\t Measuring the Harmonic No [%d] \n",lNum );
/*Set the span to 20 MHz*/
viPrintf(viESA,"SENS:FREQ:SPAN 20 MHZ\n");
/*Set the center frequency to the nominal harmonic frquency*/
dHarmFreq = lNum * dFundamental;
viPrintf(viESA,"SENS:FREQ:CENT %lf HZ\n",dHarmFreq);
/*Take a sweep and wait for the sweep completion*/
TakeSweep();
/*Perform a peak search and
viPrintf(viESA,"CALC:MARK:MAX\n");
/*Increase timeout to 60 sec*/
viSetAttribute(viESA,VI_ATTR_TMO_VALUE,60000);
/*Activate signal track */
viPrintf(viESA,"CALC:MARK:TRCK:STAT ON\n");
/*Zoom down to a 100 KHz span */
viPrintf(viESA,"SENS:FREQ:SPAN 10e4\n");
/*Take a sweep and wait for the sweep completion*/
3-84
wait for completion */
Chapter 3

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents