CDR
Models a clock data recovery circuit
Libraries:
SerDes Toolbox /
Datapath Blocks
Description
The CDR block provides clock sampling times and estimates data symbols at the receiver using a first order phase tracking and optionally a second order frequency tracking CDR model. For more information, see Clock and Data Recovery in SerDes System..
Ports
Input
Input baseband signal. The input to the CDR must be applied as one sample at a time and not as a vector.
Data Types: double
Parameters
Determine the CDR order to enable phase and frequency tracking.
1st order
— Only tracks the phase.2nd order
— Tracks both the phase and frequency.
Programmatic Use
Block parameter:
CDRMode |
Type: character vector |
Values:
1st order | 2nd order |
Default:
1st order |
Clock phase detector option used in the clock data recovery. You can choose between bang-bang (Alexander) or baud-rate type-A (Mueller-Muller).
Programmatic Use
Block parameter:
PhaseDetector |
Type: character vector |
Values:
BangBang |
BaudRateTypeA |
Default:
BangBang |
Clock phase offset, specified as a real scalar in the range [-0.5,0.5] in fraction of symbol time. Phase Offset is used to manually shift clock probability distribution function (PDF) for better bit error rate (BER).
Programmatic Use
Block parameter:
PhaseOffset |
Type: character vector |
Values: real scalar in the range [-0.5,0.5] |
Default:
0 |
Data Types: double
Reference clock offset impairment, specified as a real scalar in the range [0, 300] in parts per million (ppm). Reference offset (ppm) is the deviation between transmitter oscillator frequency and receiver oscillator frequency.
Programmatic Use
Block parameter:
ReferenceOffset |
Type: character vector |
Values: real scalar in the range [0, 300] |
Default:
0 |
Data Types: double
Early or late CDR count threshold to trigger a phase update, specified as a unitless real positive integer ≥5. Increasing the value of Early/late count threshold provides a more stable output clock phase at the expense of convergence speed. Because the bit decisions are made at the clock phase output, a more stable clock phase has a better bit error rate (BER).
Early/late count threshold also controls the bandwidth of the CDR.
Programmatic Use
Block parameter:
Count |
Type: character vector |
Values: real positive integer ≥5 |
Default:
16 |
Data Types: double
Clock phase resolution, specified as a real scalar in fraction of symbol time. Step (symbol time) is the inverse of the number of phase adjustments in CDR.
Programmatic Use
Block parameter:
Step |
Type: character vector |
Values: real scalar |
Default:
0.0078 |
Data Types: double
Internal gain for the frequency tracking loop, specified as a nonnegative real scalar.
Dependencies
To enable this parameter, set the CDR Mode to
2nd order
.
Programmatic Use
Block parameter:
FrequencyStep |
Type: character vector |
Values: nonnegative real scalar |
Default:
0.00048828125 |
Data Types: double
Once every Frequency tracking update symbols, update the system phase rotator clock with the frequency estimate.
Dependencies
To enable this parameter, set the CDR Mode to
2nd order
.
Programmatic Use
Block parameter:
FrequencyCount |
Type: character vector |
Values: nonnegative real scalar |
Default:
16 |
Data Types: double
To help frequency tracking loop lock early in a simulation, the initial Frequency tracking gain starts at a high value of 1/(2*Frequency tracking update). Then the Frequency tracking gain gradually reduces to the specified value by roughly Frequency step ramp symbol times.
Dependencies
To enable this parameter, set the CDR Mode to
2nd order
.
Programmatic Use
Block parameter:
FrequencyStepRamp |
Type: character vector |
Values: nonnegative real scalar |
Default:
3000 |
Data Types: double
Sampling latch metastability voltage, specified as a real scalar in volts. If the data sample voltage lies within the region (±Sensitivity (V)), there is a 50% probability of bit error.
Programmatic Use
Block parameter:
Sensitivity |
Type: character vector |
Values: real scalar |
Default:
0 |
Data Types: double
IBIS-AMI parameters
Select to include Phase Offset as a parameter in the IBIS-AMI file. If you deselect Phase Offset, it is removed from the AMI files, effectively hard-coding Phase Offset to its current value.
Select to include Reference offset as a parameter in the IBIS-AMI file. If you deselect Reference offset, it is removed from the AMI files, effectively hard-coding Reference offset to its current value.
More About
You can select which phase detector model the block uses in the clock recovery: bang-bang (Alexander) or baud-rate type-A (Mueller-Muller). To view the phase detector model used in Simulink®, you need to look under the mask of the block and double click the CDR System object™ to open the block parameter dialog box.
If the SerDes Designer exports a CDR block to Simulink that uses bang-bang phase detector model, the app automatically defines the
clock position. If you change the phase detector option to baud-rate type-A Simulink, you need to manually add the reserved parameter
Rx_Decision_Time
. To add the parameter, open the AMI-Rx tab of the
SerDes IBIS-AMI Manager dialog box. Adding reserved parameter also requires refreshing the
Init function. For more information, see Define Clock Position in Statistical Eye.
If the SerDes Designer exports a CDR block to Simulink that uses baud-rate type-A phase detector model, the app automatically uses
the reserved AMI parameter Rx_Decision_Time
in the AMI-Rx tab of the
SerDes IBIS-AMI Manager dialog box to define the clock position.
Version History
Introduced in R2019a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: United States.
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)