# :MEASure:DATA:CDRRate

CDR Rate Commands

- :MEASure:DATA:CDRRate
- :MEASure:DATA:CDRRate:FAVorite
- :MEASure:DATA:CDRRate:LOCation?
- :MEASure:DATA:CDRRate:SOURce
- :MEASure:DATA:CDRRate:STATus?
- :MEASure:DATA:CDRRate:STATus:DETails?
- :MEASure:DATA:CDRRate:STATus:REASon?
- :MEASure:DATA:CDRRate:UREFerence:STATe
- :MEASure:DATA:CDRRate:UREFerence:VALue

## Command Syntax

    :MEASure:DATA:CDRRate

## Query Syntax

    :MEASure:DATA:CDRRate?

## Description

This command moves the CDR (Clock and Data Recovery) rate measurement to the top of the Results table and displays the measurement if it is not already shown on the table.

The query form of the command returns the measured value.

The CDR (Clock and Data Recovery) rate is an extrapolated value of the actual bit rate and is used to determine the nominal data rate across the acquisition. This measurement uses the rate derived by the clock recovery algorithm being used. Because each clock recovery algorithm determines the rate in a slightly different manner, different algorithms may yield different results. This measurement is intended to be used with the constant frequency clock recovery algorithm where the data rate is determined by using a least squares fit of the data to the data rate. This will typically yield a more stable data rate.

Because this measurement results in one value only per acquisition, the CDR rate cannot be used for the measurement trend.

Sources can be any displayed waveform, waveform memory, or function. For example, CHAN1_1, WMEMory1, or FUNCtion1.

Use `:MEASure:TBASe:GENeral:METHod` to change the definition of the waveform's top/base. Use `:<waveform>:THReshold:GENeral:METHod` to change the definition of the waveform's threshold.

## Example Command Sequence

    :MEASure:DATA:CDRRate:SOURce CHAN1_1
    :MEASure:DATA:CDRRate
    :MEASure:DATA:CDRRate?

## Measurement Ready?

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

    if ('CORR' in Infiniium.query(':MEASure:DATA:CDRRate:STATus?')):
    	measurement = Infiniium.query(':MEASure:DATA:CDRRate?')

If averaging is turned on (`:ACQuire:SMODe AVERage`), you can also confirm if the measurement result is ready by comparing the number of specified averages (`:ACQuire:COUNt?`) versus the number of measurement sweeps that have occurred (`:ACQuire:COUNt?`). The technique uses the `:COUNt?` common measurement query. For example,

    if (Infiniium.query(':MEASure:DATA:CDRRate:COUNt?') >= Infiniium.query(':ACQuire:COUNt?')):
    	measurement = Infiniium.query(':MEASure:DATA:CDRRate?')

You can also use an acquisition limit test to test that a number of waveforms or samples have completed before returning a measurement. Refer to the `:LTESt:ACQuire:CTYPe` command.

## Querying Measurement Results and Statistics

You can query measurement results using the `:MEASure:DATA:CDRRate?` query after making the proper instance settings.

If a measurement is installed into Results table (using the `:MEASure:DATA:CDRRate` command) and you have made the proper instance settings, you can query statistics using common child queries.

Also, you can query measurement results and statistics directly from the Results table (without having to make the proper instance settings beforehand). See Querying Measurement Results and Statistics.