:MEASure:EYE:OOMA

Meas. mode:
Eye
Package License:
L-RND
L-MFG
Compatible waveforms:
PAM4
Flex Apps:
FlexDCA
FlexRT

Command Syntax

:MEASure:EYE:OOMA

Query Syntax

:MEASure:EYE:OOMA?

Description

Starts Eye/Mask mode's PAM4 Outer OMA measurement. Units can be Watts (WATT) or dBM (DBM) for an optical signal and Volts (VOLT) for an electrical signal. The measurement is calculated by subtracting the average level 0 value from the average level 3 value. Before making this measurement, observe the following conditions:

  • Select an approximate 13.28125 GHz fourth-order Bssel-Thomson reference filter bandwidth using the :CHANnel:FILTer command.
  • Use a test pattern that contains at least 6 consecutive level 0 UIs and 7 consecutive level 3 UIs. With a PRBS13Q test pattern, only the longest run of level 3 UIs and the longest run of level 0 UIs are used. For longer patterns several level 3 runs and several level 0 runs may be included.
PAM4 Waveform

This Eye mode measurement can be applied to PAM4 waveforms but not NRZ waveforms.

Requires FlexDCA revision A.05.60 and above.

Measurement Identification

Avoid subtle programming errors! To ensure that the correct measurement is installed or queried, always explicitly identify a measurement when installing a measurement or querying a measured value, status, or detail. To identify a measurement, specify the measurement's source waveform (:SOURce child command). With some measurements, you may also need to specify other identifying values. Generally, when selecting a measurement using FlexDCA's GUI, if a dialog appears prompting you to select values, you should explicitly specify these values when remotely identifying the measurement. More information.

For example, to return the status of the measurement, :MEASure:EYE:OOMA:

flex.write(':MEASure:EYE:OOMA:SOURce CHAN1A')
if flex.query(':MEASure:EYE:OOMA:STATus?') == 'CORR';
    measurement = flex.query(':MEASure:EYE:OOMA?')
else:
	details = flex.query(':MEASure:EYE:OOMA:STATus:DETails?')
	reason = flex.query(':MEASure:EYE:OOMA:STATus:REASon?')

Child commands for measurement identification:

  • :MEASure:EYE:OOMA:SOURce
  • :MEASure:EYE:OOMA:UNITs

Measurement Ready?

To confirm that the measurement is ready to read, you can query the measurement's status:

if ('CORR' in Flex.query(':MEASure:EYE:OOMA:STATus?')):
	measurement = Flex.query(':MEASure:EYE:OOMA?')

If averaging is turned on (:ACQuire:AVERaging), you can also confirm if the measurement result is ready by comparing the number of specified averages (:ACQuire:ECOunt?) versus the number of measurement sweeps that have occurred (:MEASure:EYE:OOMA:COUNt?). The technique uses the :COUNt? common measurement query. For example,

if (Flex.query(':MEASure:EYE:OOMA:COUNt?') >= Flex.query(':ACQuire:ECOUNt?')):
	measurement = Flex.query(':MEASure:EYE:OOMA?')

You can also use an acquisition limit lest to test that a number of waveform samples, or pattern acquisitions have completed before returning a measurement. Refer to the :LTESt:ACQuire:CTYPe command.

Common Measurement Child Queries

This command supports the use of the following common measurement queries: :LOCation?, :COUNt?, :MAXimum?, :MINimum?, :MEAN?, and :SDEViation?.