:MEASure:EYE:VECP

Meas. mode:
Eye
Waveform type:
NRZ
Flex Apps:
FlexDCA
FlexRT

Command Syntax

:MEASure:EYE:VECP

Query Syntax

:MEASure:EYE:VECP?

Description

Measures the Vertical Eye Closure Penalty (VECP) of an optical signal as explained forn the VECP measurement. Because the VECP measurement uses an OMA measurement to calculate VECP, use the :MEASure:EYE:VECP:OMA:METHod command to select from one of the following methods:

UDEFined
This is the recommended selection. With this selection, you first must perform an Oscilloscope mode OMA measurement (:MEASure:OSCilloscope:OMAmplitude command) and enter the resulting value using the :MEASure:EYE:VECP:OMA:VALue command. OMA is the difference between the optical power of an NRZ one pulse and the optical power of an NRZ zero pulse. When you make the measurement, use a pattern that contains consecutive runs of ones and zeros as called out in many standards. This pattern allows the one and zero levels to settle out to minimize the effect of level transitions.
OMAXp
This is the default setting. The OMA value is automatically derived during the VECP measurement using the OMA at Crossing measurement. Since a pattern of consecutive ones and zeros is not used during the OMA measurement (as is done when entering a user-defined OMA value), the resulting VECP measurement can be too optimistic.

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

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:VECP:

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

Child commands for measurement identification:

  • :MEASure:EYE:VECP:SOURce
  • :MEASure:EYE:VECP:OMA:METHod
  • :MEASure:EYE:VECP:VALue

Related Commands

  • :MEASure:TDEC:HWIDth sets the width of the two histograms used to configure both TDEC and VECP measurements. Adjust this setting when FlexDCA is not in pattern lock. It adjusts the histogram window so that additional data can be acquired to decrease the measurement time. The window's width can be set from 0.01 UI to 0.20 UI. The default setting is 0.04 UI.
  • :MEASure:TDEC:PRESets loads previously saved settings known as a preset for the TDEC/VECP measurements.
  • :MEASure:TDEC:PRESets:SELections returns a string (comma-separated list) of all saved presets for the TDEC/VECP measurements.

Requires FlexDCA revision A.05.50 and above.

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:VECP:STATus?')):
	measurement = Flex.query(':MEASure:EYE:VECP?')

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:VECP:COUNt?). The technique uses the :COUNt? common measurement query. For example,

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

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?.