EasyManua.ls Logo

HP ESA-E Series - Page 149

HP ESA-E Series
398 pages
Print Icon
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...
Chapter 3 3-85
Programming Examples
Measuring Harmonic Distortion (RS-232)
/*Perform a peak search and wait for completion */
viPrintf(viESA,"CALC:MARK:MAX;*OPC?\n");
viScanf(viESA,"%d",&lOpc);
/*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*/
TakeSweep();
/* Signal track off */
viPrintf(viESA,"CALC:MARK:TRCK:STAT OFF ;\n");
/*Perform a peak search and wait for completion*/
viPrintf(viESA,"CALC:MARK:MAX \n");
/*Set marker amplitude in volts*/
viPrintf(viESA,"UNIT:POW V; \n");
/*Take a sweep and wait for the sweep completion*/
TakeSweep();
/*Query and read the marker amplitude in volts*/
/*Store the result in the fHarmV array.*/
viQueryf(viESA,"CALC:MARK:Y?\n","%1f",
&fHarmV[lNum]);
/*Change the amplitude units to dBm */
viPrintf(viESA,"UNIT:POW DBM; \n");
/*Take a sweep and wait for the sweep completion*/
TakeSweep();
/* Read the marker amplitude */
viQueryf(viESA,"CALC:MARK:Y?\n","%1f",
&fHarmDbm[lNum]);
}
/*Sum the square of each element in the fHarmV array and
calculate the relative amplitude of each harmonic relative to
the fundamental*/
for (lNum=2;lNum<=lMaxHarmonic;lNum++)
{
dSumSquare= dSumSquare + (pow (double(fHarmV[lNum])
,2.0));
/* Relative Amplitude */
fRelAmptd[lNum] = fHarmDbm[lNum] - fFundaAmptdDbm ;
}

Table of Contents

Related product manuals