:MEASure:OSCilloscope:PHASe

Meas. mode:
Scope
Package License:
L-RND
L-MFG
Waveform type:
NRZ
Flex Apps:
FlexDCA
FlexRT

Command Syntax

:MEASure:OSCilloscope:PHASe

Query Syntax

:MEASure:OSCilloscope:PHASe?

Description

Performs a phase measurement on NRZ and PAM4 waveforms. Phase measures the phase between two locations on the same waveform or two locations on separate waveforms. If the measurement is already displayed in the results table, the measurement is moved to the top of the table. The query form of the command returns the measured value. Use child commands to specify the source waveforms (:SOURce) and its edge direction (:EDIRection). Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1A, WMEMory1, or FUNCtion1. Use the child commands to set the measurement parameters before sending the parent command. Use :MEASure:TBASe:METHod to change the definition of the waveform's top/base. Use :MEASure:THReshold:METHod to change the definition of the waveform's threshold.

Requires FlexDCA revision A.04.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:OSCilloscope:PHASe:STATus?')):
	measurement = Flex.query(':MEASure:OSCilloscope:PHASe?')

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

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

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

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:OSCilloscope:PHASe:

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

Child commands for measurement identification:

  • :MEASure:OSCilloscope:PHASe:SOURce1
  • :MEASure:OSCilloscope:PHASe:SOURce2
  • :MEASure:OSCilloscope:PHASe:EDIRection
  • :MEASure:OSCilloscope:PHASe:REGion

Example Command Sequence

:SYSTem:MODE OSCilloscope
				:MEASure:OSCilloscope:PHASe:SOURce CHAN1A
				:MEASure:OSCilloscope:PHASe
				:MEASure:OSCilloscope:PHASe?