Operating instructions

R&S ESCI More Complex Programming Examples
1166.6004.12 7.17 E-1
Measuring Spurious Emissions
In transmission measurements, it is often necessary to search a large frequency range for unwanted
spurious emissions.
This can be done by means of the R&S ESCI's LIST PEAKS function, which finds up to 50 peaks in a
preselected frequency range and outputs them as a list. The search range can be defined both in terms
of frequency and level, and the number of peaks to be found is selectable as well.
In the following example, the 10 highest peaks are to be found in a preselected frequency range. Only
signals >-60 dBm in a range ± 400 kHz about the center frequency are of interest, so the search range
is limited accordingly. The signals found are output in the order of ascending frequency.
REM ************************************************************************
Public Sub SpuriousSearch()
powerlist$ = Space$(1000)
freqlist$ = Space$(1000)
count$ = Space$(30)
'--------- R&S ESCI default setting ---------------------------------------
CALL SetupInstrument 'Default setting
CALL IBWRT(receiver%,"INIT:CONT OFF") 'Default setting
'--------- Definition of search range ---------------------------------
CALL IBWRT(receiver%,"CALC:MARK:X:SLIM:STAT ON")
CALL IBWRT(analyzer%,"CALC:MARK:X:SLIM:LEFT 99.6MHz;RIGHt 100.4MHz")
'Activate search limit and
'set to ±400 kHz about
'center frequency
CALL IBWRT(analyzer%,"CALC:THR:STAT ON")
CALL IBWRT(receiver%,"CALC:THR –60DBM") 'Activate threshold and
'set to –60 dBm
'--------- Activate search for spurious ------------------------------------
CALL IBWRT(receiver%,"CALC:MARK:FUNC:FPE:SORT X") 'Sort according to
'frequency
CALL IBWRT(receiver%,"INIT;*WAI") 'Perform sweep with sync
CALL IBWRT(receiver%,"CALC:MARK:FUNC:FPE 10") 'Search for
'10 highest peaks
CALL IBWRT(receiver%,"CALC:MARK:FUNC:FPE:COUN?") 'Call number of
'peaks, check it,
CALL IBRD(receiver%, count$) 'and read it in
CALL IBWRT(receiver%,"CALC:MARK:FUNC:FPE:X?") 'Query and read
CALL IBRD(receiver%, freqlist$) 'frequency list
CALL IBWRT(receiver%,"CALC:MARK:FUNC:FPE:Y?") 'Query and read
CALL IBRD(receiver%, powerlist$) 'level list
Print "# of spurious: ";count$ 'Output number of results
Print "Frequencies: ";freqlist$ 'Output frequency list
Print "Power: ";powerlist$ 'Output level list
END SUB
REM ************************************************************************