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

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

Advertisement

Programming Examples
Making Faster Measurements (multiple measurements )
/* show measurement statistics
*/
dTimePer=dDelta/((float)iNumTraces) ;
printf("\tPower average of %i %i-point traces performed in %3 .1f
seconds\n" ,
iNumTraces,iNumPoints,dDelta/1000) ;
printf("\t%6 .if milliseconds per averaged measurement\n",dTimePer) ;
printf("\t%6 .1f averaged
measurements
per second\n",1000 .0/dTimePer) ;
printf("\t%i bytes transferred per trace, %i bytes total\n\n",1RetCount ,
iTotalRetCount) ;
return ;
}
/********************************
Main
*************************** /
void main(void)
{
int iLoop ;
int iAvgArray[NUM POINTS] ;
ViStatus viStatus ;
/* Open a GPIB session at address 1 8
viStatus = viOpenDefaultRM(&defaultRM) ;
viStatus = viOpen(defaultRM,"GPIBO : :18",VI NULL,VI NULL,&viESA) ;
if(viStatus )
{
printf("Could not open a session to GPIB device at address 18!\n") ;
exit(0) ;
}
/*Clear the Instrument
*/
viClear(viESA) ;
/* go to known instrument state with cleared status byte
viPrintf(viESA, " :SYST :PRES :TYPE FACT ;*RST\n") ;
/* measure, transfer and calculate power average of multiple trace s
average() ;
/* convert average power array back to integer array
for (iLoop = 0 ; iLoop < iNumPoints ; iLoop++)
{
dPower = 10 .0 * log10( dPwrAvgArray[iLoop]) ;
iAvgArray(iLoop] = (int) (1000 .0 * dPower) ;
}
/* build 'TRAC :DATA TRACE2,11 i nyyy' header and write the result to Trace 2 * /
sprintf(cCommand," :TRAC :DATA TRACE2,#%i%i", HeaderLength(iArrayLength)-2 ,
iArrayLength) ;
write binary_trace(cCommand, iAvgArray) ;
*/
*/
*/
*/
3-94
Chapter 3

Advertisement

Table of Contents
loading

Table of Contents