4-39
Programming
Example Programs
Example 5. Measure SN ratio of WDM channels
This program measures signal-to-noise ratios on a WDM system. It measures
the ratio for each line using commands from the CALCulate3 subsystem.
Refer to the introduction to this section for a description of each subroutine
that is contained in this program.
COM /Instrument/ @Mwm
ASSIGN @Mwm TO 720
DIM Key$[1]
ON ERROR GOTO Error_msg,
Set_ese
PRINT USING "37A,33A";"Multi-Wavelength Meter Identity is : ";FNIdentity$
ON TIMEOUT 7,5 CALL Err_mngmt
Cmd_opc("*RST")
OUTPUT @Mwm;":MEAS:ARR:POW:WAV?"
ENTER @Mwm USING "#,K";Nb_pt
ALLOCATE Current_wl(1:Nb_pt)
ENTER @Mwm USING "#,K";Current_wl(*)
OUTPUT @Mwm;":FETC:ARR:POW?"
ENTER @Mwm USING "#,K";Nb_pt
ALLOCATE Current_pwr(1:Nb_pt)
ENTER @Mwm USING "#,K";Current_pwr(*)
! Turn signal-to-noise ratio on
Cmd_opc(":CALC3:SNR:STAT ON")
Err_mngmt(":CALC3:SNR:STAT ON")
! Set first wavelength as noise reference
Cmd_opc(":CALC3:SNR:REF:WAV MIN")
Err_mngmt(":CALC3:SNR:REF:WAV MIN")
! Query number of data points
OUTPUT @Mwm;":CALC3:POIN?"
ENTER @Mwm USING "#,K";Nb_pt
ALLOCATE Snr_pwr(1:Nb_pt)
! Query signal-to-noise values
OUTPUT @Mwm;":CALC3:DATA? POW"
ENTER @Mwm;Snr_pwr(*)
OFF TIMEOUT