:MEASure:EYE:PTDeq

Meas. mode:
Eye
Package License:
L-RND
Legacy Licenses:
TDQ
PAM
Waveform type:
PAM4
Flex Apps:
FlexDCA
FlexRT

Command Syntax

:MEASure:EYE:PTDeq

Query Syntax

:MEASure:EYE:PTDeq?

Description

Performs a Partial TDECQ measurement on a PAM4 waveform. The Partial TDECQ (Transmitter and Dispersion Eye Closure Quaternary) measurement measures the quality of an optical transmitter with its optical link. TDECQ is the optical power penalty of the measured optical transmitter compared to an ideal transmitter. It measures the increase of optical power required for the measured optical transmitter to achieve the same eye opening of the ideal optical transmitter. The lower the TDECQ measurement, the higher the quality of the measured transmitter. TDECQ is a PAM4 replacement for an NRZ Transmission Dispersion Penalty measurement.

The Partial TDECQ measurement performs a TDECQ measurement that is based on the contribution of a single PAM4 eye. Use the :MEASure:EYE:PTDeq:EYE command to select the PAM4 waveform's eye. This differs from the standard TDECQ measurement (:MEASure:EYE:TDEQ) where the measurement includes the contribution of all three eyes. By comparing the individual TDECQ contribution of each eye, you can gain additional insights into the causes of any measurement problems.

You must select one of two vertical histograms on which to perform the measurement: Left or Right side. This is done with the :MEASure:EYE:PTDeq:SIDe command. The location of these histograms is annotated on the displayed waveform. Like the standard TDECQ measurement, these two vertical histograms are located at 0.45 UI and 0.55 UI from the waveform's average crossing time as is shown in the following figure.

The signal source should be the output of the TDECQ Equalizer operator (:FUNCtion:FOPerator TEQualizer). Refer to the standard TDECQ measurement for the steps required to run the measurement.

Before starting the measurement, configure use the following commands:

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

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

Child commands for measurement identification:

  • :MEASure:EYE:PTDeq:SOURce

Requires FlexDCA revision A.05.70 and above.

The L-RND package license is required to perform a Partial Noise Margin PAM4 measurement.

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

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

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

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