:MEASure:AMPLitude:Q
Command Syntax
:MEASure:AMPLitude:Q
Query Syntax
:MEASure:AMPLitude:Q?
Description
Displays the measurement if it is not already shown on the table. The query form of the command returns the measured value. Moves the Q measurement to the top of the Amplitude table. This measurement can be made on PAM4 waveforms. See the sidebar in this topic. On PAM4 signals, use the :MEASure:AMPLitude:Q:EYE
command to select returning the measurement on one of three possible eyes (Eye 0/1, Eye 1/2, or Eye 2/3).
NRZ Waveform
![](../../../Resources/Images/Common/NRZ_levels_in_eye_mode.png)
PAM4 Waveform
![](../../../Resources/Images/Common/PAM_levels_in_eye_mode.png)
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:Q
:
flex.write(':MEASure:AMPLitude:Q:SOURce CHAN1A') if flex.query(':MEASure:AMPLitude:Q:STATus?') == 'CORR'; measurement = flex.query(':MEASure:AMPLitude:Q?') else: details = flex.query(':MEASure:AMPLitude:Q:STATus:DETails?') reason = flex.query(':MEASure:AMPLitude:Q:STATus:REASon?')
Child commands for measurement identification:
:MEASure:AMPLitude:Q:SOURce
Amplitude analysis must be turned on before the first interference measurement can be made. Use the :MEASure:AMPLitude:DEFine:ANALysis
command.
Example Command Sequence
:MEASure:AMPLitude:DEFine:ANALysis ON :MEASure:AMPLitude:Q:SOURce CHAN1A :MEASure:AMPLitude:Q?
Measurement Ready?
To confirm that the measurement is ready to read, you can query the measurement's status:
if ('CORR' in Flex.query(':MEASure:AMPLitude:Q:STATus?')): measurement = Flex.query(':MEASure:AMPLitude:Q?')
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:AMPLitude:Q:COUNt?
). The technique uses the :COUNt?
common measurement query. For example,
if (Flex.query(':MEASure:AMPLitude:Q:COUNt?') >= Flex.query(':ACQuire:ECOUNt?')): measurement = Flex.query(':MEASure:AMPLitude:Q?')
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?
.