:MEASure:AMPLitude:PI

Meas. mode:
Jitter
Package License:
L-RND
Waveform type:
NRZ
PAM4
Flex Apps:
FlexDCA

Command Syntax

:MEASure:AMPLitude:PI

Query Syntax

:MEASure:AMPLitude:PI?

Description

Performs a PI (σ-σ) (dual-dirac Periodic Interference) measurement or BUI (δ-δ) (Bounded Uncorrelated Interference) measurement on an NRZ waveform. Displays the measurement results on the top row of the Amplitude table (NRZ signal). If the table is not already displayed, a "−221, Settings conflict" error message is generated. Use the :MEASure:AMPLitude:DEFine:ANALysis command to turn on Amplitude analysis and to display the Amplitude table. The query form of the command returns the measured value.

The measurement is made at the signal logic level that is specified with the :MEASure:AMPLitude:PI:LEVel child command. Level 0 or 1 can be specified. with 0 being the default level. Use the :MEASure:AMPLitude:DEFine:LEVel command to specify whether the level is defined as an average level or in terms of a minimum number of consecutive identical digits (CID).

The measurement results are reported in the current noise / interference units, which can be selected with the :MEASure:AMPLitude:DEFine:UNITs command.

NRZ Waveform

This measurement can be made on PAM4 waveforms. See the sidebar in this topic. For PAM4 signals, level 0, 1, 2, or 3 can be specified. The measurement results are moved to the top of the Level table.

PAM4 Waveform

Spectral Method

Whether PI (σ-σ) or BUI (δ-δ) is reported depends on the Spectral Method setting in the Advanced tab of the Jitter Mode Measurements Setup dialog. The Spectral Method setting determines the method used to decompose RJ and RN. To remotely select the spectral method, use the :MEASure:JITTer:DEFine:SMEThod command. The spectral method can be one of the following three choices:

Auto
PI or BUI is reported in the results table. On each data acquisition cycle, both the spectral and tail-fit methods can be used to separate the BUI values from the RN. The decision to use the spectral or tail-fit method is made on a per-edge basis. So, the result may be a combination of spectral and tail-fit results. If tail fit is used in any case, the TF annotation is displayed in the heading of the Jitter results table. Otherwise, no annotation is displayed. Use the :MEASure:AMPLitude:SMEThod? query to determine the actual method used for the current data acquisition.
Spectral
PI is reported in the results table. This is the standard method used in all FlexDCA versions previous to revision A.02.50 to decompose the jitter and interference components. This method is best used when it is known that BUI is not present on the signal. This is the default method used.
Tail Fit
BUI is reported in the results table. The tail-fit method is exclusively used to separate the BUI from the RN directly from the histogram. The TF annotation is displayed in the heading of the Jitter results table. Unless troubleshooting, do not select this method as it is less accurate than using Auto or Spectral.

The measurement algorithm is:

  1. Random Noise (RN) is measured.
  2. An RN/PI histogram of the data used to measure the RN is constructed.
  3. Using the measured value of RN, a dual-dirac model is fit to the RN/PI histogram to obtain the PI or BUI measurement. The model is fit at a probability of 10−3.
  4. The above steps are repeated, resulting in an increasingly populated RN/PI histogram.

Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis command.

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:AMPLitude:PI:

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

Child commands for measurement identification:

  • :MEASure:AMPLitude:PI:SOURce

Requires FlexDCA revision A.05.60 and above.

This command replaces deprecated commands :AMPLitude:PIONes, :AMPLitude:PIZeros, :AMPLitude:BUIOnes, and :AMPLitude:BUIZeros.

Measurement Ready?

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

if ('CORR' in Flex.query(':MEAS:AMPL:PI:STATus?')):
	measurement = Flex.query(':MEAS:AMPL:PI?')

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

if (Flex.query(':MEAS:AMPL:PI:COUNt?') >= Flex.query(':ACQuire:ECOUNt?')):
	measurement = Flex.query(':MEAS:AMPL:PI?')

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