METHOD AND TIMING RECOVERY CIRCUIT FOR RECOVERING A SAMPLING CLOCK FROM A SERIAL DATA STREAM ENCODED USING PAM

20240063996 ยท 2024-02-22

Assignee

Inventors

Cpc classification

International classification

Abstract

The invention relates to a method and timing recovery circuit for recovering a sampling clock from a serial data stream encoded using Pulse-Amplitude-Modulation, comprising: applying a filter pattern decoder to detected symbol sequence at more than two adjacent data symbols, particularly to the detected symbol patterns of four adjacent samples {circle around (y)}(k2), {circle around (y)}(k1), {circle around (y)}(k), {circle around (y)}(k+1), and calculating an estimated phase error e(k).

Claims

1. A method for recovering a sampling clock from a serial data stream encoded using Pulse-Amplitude-Modulation scheme, comprising the steps of: sampling received data signals from the serial data stream by an analog-to-digital converter once per unit-interval using a sampling clock signal provided by a clock generating device providing a timing recovery loop control, quantizing the incoming data samples with a slicer as corresponding detected symbols, storing adjacent incoming data samples and the corresponding detected symbols to preserve data for phase error estimation, applying a digital filter pattern decoder to the current and last detected symbols to determine if this symbol sequence can be used to estimate a phase offset of the sampling clock signal from the ideal sampling point and calculating the estimated phase error depending on the detected symbol pattern of four adjacent samples, adjusting the phase of the sampling clock signal within the timing recovery loop control using the calculated estimated phase error.

2. The method according to claim 1, wherein the serial data stream is encoded using Pulse-Amplitude-Modulation scheme with three levels and the estimated phase error is calculated using an equation according to the following table: TABLE-US-00011 (k 2) (k 1) (k) (k + 1) e(k) = note +1 +1 +1 0/1 y(k) y(k 1) 2 0 +1 +1 0 y(k) y(k 1) 0 +1 +1 1 y(k) y(k 1) 1/0 +1 +1 +1 y(k) y(k 1) 3 1 +1 +1 0 y(k) y(k 1) 1 +1 +1 1 y(k) y(k 1) +1 +1 1 1 y(k) + y(k 1) +1 +1 1 0/+1 y(k) + y(k 1) 1, 3 0/1 +1 1 1 y(k) + y(k 1) 1, 2 X +1 0 1 y(k) +1 1 1 0 y(k) + y(k 1) +1 1 1 +1 y(k) + y(k 1) 0/+1 1 1 1 y(k) + y(k 1) 3 0 1 1 0 y(k) + y(k 1) 0 1 1 +1 y(k) + y(k 1) 1 1 1 0/+1 y(k) + y(k 1) 2 1 1 +1 +1 y(k) y(k 1) 1 1 +1 0/1 y(k) y(k 1) 1, 3 0/+1 1 +1 +1 y(k) y(k 1) 1, 2 X 1 0 +1 y(k) +1 0 0 +1 y(k) + y(k 1) +1 0 0 0 y(k) + y(k 1) 3 +1 0 0 1 y(k) + y(k 1) 0 0 0 +1 y(k) + y(k 1) 2 0 0 0 1 y(k) y(k 1) 2 1 0 0 +1 y(k) y(k 1) 1 0 0 0 y(k) y(k 1) 3 1 0 0 1 y(k) y(k 1) All other combinations 0 wherein note 1 is only applicable if no frequency offset exists, note 2 can only detect late sampling (e(k)<0) and note 3 can only detect early sampling (e(k)>0).

3. The method according to claim 1, wherein the serial data stream is encoded using Pulse-Amplitude-Modulation scheme with two levels and the estimated phase error is calculated using an equation according to the following table: TABLE-US-00012 (k 2) (k 1) (k) (k + 1) e(k) = note +1 +1 +1 1 y(k) y(k 1) 2 1 +1 +1 1 y(k) y(k 1) 1 +1 +1 +1 y(k) y(k 1) 3 +1 +1 1 1 y(k) + y(k 1) +1 +1 1 +1 y(k) + y(k 1) 1, 3 1 +1 1 1 y(k) + y(k 1) 1, 2 +1 1 1 1 y(k) + y(k 1) 3 +1 1 1 +1 y(k) + y(k 1) 1 1 1 +1 y(k) + y(k 1) 2 1 1 +1 +1 y(k) y(k 1) 1 1 +1 1 y(k) y(k 1) 1, 3 +1 1 +1 +1 y(k) y(k 1) 1, 2 all other combinations 0 wherein note 1 is only applicable if no frequency offset exists, note 2 can only detect late sampling (e(k)<0) and note 3 can only detect early sampling (e(k)>0).

4. The method according to claim 1, comprising the further step of multiplying the estimated phase error with a weight factor to obtain an error signal.

5. The method according to claim 4, wherein the serial data stream is encoded using Pulse-Amplitude-Modulation scheme with three levels and the weight factor is defined in the following table for early and late phase adjustment: TABLE-US-00013 (k (k (k + early: 2) 1) (k) 1) e(k) = w late: w note +1 +1 +1 0/1 y(k) y(k 1) 0.000 0.250 2 0 +1 +1 0 y(k) y(k 1) 0.500 0.500 0 +1 +1 1 y(k) y(k 1) 0.250 0.250 1/0 +1 +1 +1 y(k) y(k 1) 0.250 0.000 3 1 +1 +1 0 y(k) y(k 1) 0.250 0.250 1 +1 +1 1 y(k) y(k 1) 0.500 0.500 +1 +1 1 1 y(k) + y(k 1) 1.000 1.000 +1 +1 1 0/+1 y(k) + y(k 1) 0.125 0.125 1, 3 0/1 +1 1 1 y(k) + y(k 1) 0.125 0.125 1, 2 X +1 0 1 y(k) 0.125 0.125 +1 1 1 0 y(k) + y(k 1) 0.250 0.250 +1 1 1 +1 y(k) + y(k 1) 0.500 0.500 0/+1 1 1 1 y(k) + y(k 1) 0.250 0.000 3 0 1 1 0 y(k) + y(k 1) 0.500 0.500 0 1 1 +1 y(k) + y(k 1) 0.250 0.250 1 1 1 0/+1 y(k) + y(k 1) 0.000 0.250 2 1 1 +1 +1 y(k) y(k 1) 1.000 1.000 1 1 +1 0/1 y(k) y(k 1) 0.125 0.125 1, 3 0/+1 1 +1 +1 y(k) y(k 1) 0.125 0.125 1, 2 X 1 0 +1 y(k) 0.125 0.125 +1 0 0 +1 y(k) + y(k 1) 0.500 0.500 +1 0 0 0 y(k) + y(k 1) 0.250 0.000 3 +1 0 0 1 y(k) + y(k 1) 0.125 0.125 0 0 0 +1 y(k) + y(k 1) 0.000 0.250 2 0 0 0 1 y(k) y(k 1) 0.000 0.250 2 1 0 0 +1 y(k) y(k 1) 0.125 0.125 1 0 0 0 y(k) y(k 1) 0.250 0.000 3 1 0 0 1 y(k) y(k 1) 0.500 0.500 All other combinations 0 0 0 wherein note 1 is only applicable if no frequency offset exists, note 2 can only detect late sampling (e(k)<0) and note 3 can only detect early sampling (e(k)>0).

6. The method according to claim 4, wherein the serial data stream is encoded using Pulse-Amplitude-Modulation scheme with two levels and the weight factor is defined in the following table for early and late phase adjustment: TABLE-US-00014 (k (k (k + early: 2) 1) (k) 1) e(k) = w late: w note +1 +1 +1 1 y(k) y(k 1) 0.000 0.250 2 1 +1 +1 1 y(k) y(k 1) 0.500 0.500 1 +1 +1 +1 y(k) y(k 1) 0.250 0.000 3 +1 +1 1 1 y(k) + y(k 1) 1.000 1.000 +1 +1 1 +1 y(k) + y(k 1) 0.125 0.125 1, 3 1 +1 1 1 y(k) + y(k 1) 0.125 0.125 1, 2 +1 1 1 1 y(k) + y(k 1) 0.250 0.000 3 +1 1 1 +1 y(k) + y(k 1) 0.500 0.500 1 1 1 +1 y(k) + y(k 1) 0.000 0.250 2 1 1 +1 +1 y(k) y(k 1) 1.000 1.000 1 1 +1 1 y(k) y(k 1) 0.125 0.125 1, 3 +1 1 +1 +1 y(k) y(k 1) 0.125 0.125 1, 2 all other combinations 0 0 0 wherein note 1 is only applicable if no frequency offset exists, note 2 can only detect late sampling (e(k)<0) and note 3 can only detect early sampling (e(k)>0).

7. The method according to claim 1, further comprising the step of filtering the data samples before the step of quantizing the data samples.

8. The method according to claim 7, wherein filtering is performed by a Feed-Forward Equalizer and/or a Decision Feedback Equalizer.

9. The method according to claim 5, comprising the step of adjusting the weights for different states during the initialization procedure of the timing recovery.

10. The method according to claim 1, comprising the step applying the error signal to a bang-bang-detector with adjustable threshold and 3-point control output to quantize the calculated estimated phase error and adjust it to the bit width of a control signal.

11. The method according to claim 10, wherein the calculated estimated phase error is quantized by n-Bit.

12. A timing recovery circuit for recovering a sampling clock from a serial data stream encoded using Pulse-Amplitude-Modulation scheme, comprising: an analog-to-digital converter for sampling received data signals from the serial data stream once per unit-interval using a sampling clock signal provided by a clock generating device providing a timing recovery loop control, a slicer for quantizing the incoming data samples as corresponding detected symbols, a register for storing adjacent incoming data samples and the corresponding detected symbols to preserve data for phase error estimation, a digital timing error detector for applying a digital filter pattern decoder to the current and last detected symbols to determine if this symbol sequence can be used to estimate a phase offset of the sampling clock signal from the ideal sampling point and for calculating the estimated phase error depending on the detected symbol pattern of four adjacent samples adjusting the phase of the sampling clock signal within the timing recovery loop control using the calculated estimated phase error.

13. The timing recovery circuit according to claim 12, wherein the serial data stream is encoded using Pulse-Amplitude-Modulation scheme with three levels and the estimated phase error is calculated using an equation according to the following table: TABLE-US-00015 (k 2) (k 1) (k) (k + 1) e(k) = note +1 +1 +1 0/1 y(k) y(k 1) 2 0 +1 +1 0 y(k) y(k 1) 0 +1 +1 1 y(k) y(k 1) 1/0 +1 +1 +1 y(k) y(k 1) 3 1 +1 +1 0 y(k) y(k 1) 1 +1 +1 1 y(k) y(k 1) +1 +1 1 1 y(k) + y(k 1) +1 +1 1 0/+1 y(k) + y(k 1) 1, 3 0/1 +1 1 1 y(k) + y(k 1) 1, 2 X +1 0 1 y(k) +1 1 1 0 y(k) + y(k 1) +1 1 1 +1 y(k) + y(k 1) 0/+1 1 1 1 y(k) + y(k 1) 3 0 1 1 0 y(k) + y(k 1) 0 1 1 +1 y(k) + y(k 1) 1 1 1 0/+1 y(k) + y(k 1) 2 1 1 +1 +1 y(k) y(k 1) 1 1 +1 0/1 y(k) y(k 1) 1, 3 0/+1 1 +1 +1 y(k) y(k 1) 1, 2 X 1 0 +1 y(k) +1 0 0 +1 y(k) + y(k 1) +1 0 0 0 y(k) + y(k 1) 3 +1 0 0 1 y(k) + y(k 1) 0 0 0 +1 y(k) + y(k 1) 2 0 0 0 1 y(k) y(k 1) 2 1 0 0 +1 y(k) y(k 1) 1 0 0 0 y(k) y(k 1) 3 1 0 0 1 y(k) y(k 1) All other combinations 0 wherein note 1 is only applicable if no frequency offset exists, note 2 can only detect late sampling (e(k)<0) and note 3 can only detect early sampling (e(k)>0).

14. The timing recovery circuit according to claim 12, wherein the serial data stream is encoded using Pulse-Amplitude-Modulation scheme with two levels and the estimated phase error is calculated using an equation according to the following table: TABLE-US-00016 (k 2) (k 1) (k) (k + 1) e(k) = note +1 +1 +1 1 y(k) y(k 1) 2 1 +1 +1 1 y(k) y(k 1) 1 +1 +1 +1 y(k) y(k 1) 3 +1 +1 1 1 y(k) + y(k 1) +1 +1 1 +1 y(k) + y(k 1) 1, 3 1 +1 1 1 y(k) + y(k 1) 1, 2 +1 1 1 1 y(k) + y(k 1) 3 +1 1 1 +1 y(k) + y(k 1) 1 1 1 +1 y(k) + y(k 1) 2 1 1 +1 +1 y(k) y(k 1) 1 1 +1 1 y(k) y(k 1) 1, 3 +1 1 +1 +1 y(k) y(k 1) 1, 2 all other combinations 0 wherein note 1 is only applicable if no frequency offset exists, note 2 can only detect late sampling (e(k)<0) and note 3 can only detect early sampling (e(k)>0).

15. The timing recovery circuit according to claim 12, wherein the calculated estimated phase error is multiplied with a weight factor to obtain an error signal.

16. The timing recovery circuit according to claim 15, wherein the serial data stream is encoded using Pulse-Amplitude-Modulation scheme with three levels and the weight factor is defined in the following table for early and late phase adjustment: TABLE-US-00017 (k (k (k + early: 2) 1) (k) 1) e(k) = w late: w note +1 +1 +1 0/1 y(k) y(k 1) 0.000 0.250 2 0 +1 +1 0 y(k) y(k 1) 0.500 0.500 0 +1 +1 1 y(k) y(k 1) 0.250 0.250 1/0 +1 +1 +1 y(k) y(k 1) 0.250 0.000 3 1 +1 +1 0 y(k) y(k 1) 0.250 0.250 1 +1 +1 1 y(k) y(k 1) 0.500 0.500 +1 +1 1 1 y(k) + y(k 1) 1.000 1.000 +1 +1 1 0/+1 y(k) + y(k 1) 0.125 0.125 1, 3 0/1 +1 1 1 y(k) + y(k 1) 0.125 0.125 1, 2 X +1 0 1 y(k) 0.125 0.125 +1 1 1 0 y(k) + y(k 1) 0.250 0.250 +1 1 1 +1 y(k) + y(k 1) 0.500 0.500 0/+1 1 1 1 y(k) + y(k 1) 0.250 0.000 3 0 1 1 0 y(k) + y(k 1) 0.500 0.500 0 1 1 +1 y(k) + y(k 1) 0.250 0.250 1 1 1 0/+1 y(k) + y(k 1) 0.000 0.250 2 1 1 +1 +1 y(k) y(k 1) 1.000 1.000 1 1 +1 0/1 y(k) y(k 1) 0.125 0.125 1, 3 0/+1 1 +1 +1 y(k) y(k 1) 0.125 0.125 1, 2 X 1 0 +1 y(k) 0.125 0.125 +1 0 0 +1 y(k) + y(k 1) 0.500 0.500 +1 0 0 0 y(k) + y(k 1) 0.250 0.000 3 +1 0 0 1 y(k) + y(k 1) 0.125 0.125 0 0 0 +1 y(k) + y(k 1) 0.000 0.250 2 0 0 0 1 y(k) y(k 1) 0.000 0.250 2 1 0 0 +1 y(k) y(k 1) 0.125 0.125 1 0 0 0 y(k) y(k 1) 0.250 0.000 3 1 0 0 1 y(k) y(k 1) 0.500 0.500 All other combinations 0 0 0 wherein note 1 is only applicable if no frequency offset exists, note 2 can only detect late sampling (e(k)<0) and note 3 can only detect early sampling (e(k)>0).

17. The timing recovery circuit according to claim 15, wherein the serial data stream is encoded using Pulse-Amplitude-Modulation scheme with two levels and the weight factor is defined in the following table for early and late phase adjustment: TABLE-US-00018 (k (k (k + early: 2) 1) (k) 1) e(k) = w late: w note +1 +1 +1 1 y(k) y(k 1) 0.000 0.250 2 1 +1 +1 1 y(k) y(k 1) 0.500 0.500 1 +1 +1 +1 y(k) y(k 1) 0.250 0.000 3 +1 +1 1 1 y(k) + y(k 1) 1.000 1.000 +1 +1 1 +1 y(k) + y(k 1) 0.125 0.125 1, 3 1 +1 1 1 y(k) + y(k 1) 0.125 0.125 1, 2 +1 1 1 1 y(k) + 3(k 1) 0.250 0.000 3 +1 1 1 +1 y(k) + y(k 1) 0.500 0.500 1 1 1 +1 y(k) + y(k 1) 0.000 0.250 2 1 1 +1 +1 y(k) y(k 1) 1.000 1.000 1 1 +1 1 y(k) y(k 1) 0.125 0.125 1, 3 +1 1 +1 +1 y(k) y(k 1) 0.125 0.125 1, 2 all other combinations 0 0 0 wherein note 1 is only applicable if no frequency offset exists, note 2 can only detect late sampling (e(k)<0) and note 3 can only detect early sampling (e(k)>0).

18. The timing recovery circuit according to claim 12, further comprising a digital filter for filtering the data samples before the step of quantizing the data samples.

19. The timing recovery circuit according to claim 18, wherein the digital filter is a Feed-Forward Equalizer and/or a Decision Feedback Equalizer.

20. The timing recovery circuit according to claim 16, wherein the timing recovery circuit adjusts the weights of the digital timing error detector for different states during the initialization procedure of the timing recovery.

21. The timing recovery circuit according to claim 12, comprising a bang-bang-detector with adjustable threshold and 3-point control output to quantize the calculated estimated phase error and adjust it to the bit width of the control signal.

22. The timing recovery circuit according to claim 21, wherein the calculated estimated phase error is quantized by n-Bit.

Description

[0056] In the following the invention will be further explained with reference to the embodiments shown in the figures. It shows:

[0057] FIG. 1 a block diagram of a timing recovery circuit according to the state of the art,

[0058] FIG. 2 a PAM-3 signal with ideal sampling points,

[0059] FIG. 3 a PAM-2 signal with ideal sampling points,

[0060] FIG. 4 a PAM-3 signal with early sampling and corresponding detected symbols,

[0061] FIG. 5 a block diagram of a timing recovery circuit according to the invention,

[0062] FIG. 6 a block diagram of an embodiment of a timing error detector with quantizer, and

[0063] FIG. 7 a block diagram of another embodiment of a timing error detector.

[0064] FIG. 1 shows a block diagram of a timing recovery circuit according to the state of the art. According to FIG. 1 a sampling clock signal 109 is generated by a clock generation device 104 which can adjust the sampling clock signal 109 in phase and frequency by a closed control loop. A data sample 106 is taken with this sampling clock signal 109 by a sampling device 101. The timing error detector (TED) 102 estimates the phase offset of the sample 106 (taken with this sampling clock signal 109) from the ideal sampling point in receiver circuits. The TED 102 provides the timing recovery loop control 103 with an unambiguous control signal 107 to recover phase and frequency of the sampling clock signal 109 in the receiver. The TED can be implemented in different ways using the above-mentioned Mueller-Mller TED, Early-Late Detector, Gardner TED or Oversampling TED.

[0065] FIG. 2 shows a PAM-3 signal with ideal sampling points, FIG. 3 a PAM-2 signal with ideal sampling points and FIG. 4 a PAM-3 signal with early sampling and corresponding detected symbols {circle around (y)}(k).

[0066] FIG. 5 shows a block diagram of a timing recovery circuit according to the invention. The block diagram of FIG. 5 presents the part of the receiver front-end which is responsible for sampling of the receiving data signal and the adjustment of the sampling point. The TED is depicted in detail in FIG. 6.

[0067] A series of adjacent incoming data samples (ADC output values y(k) 509,606) and the corresponding detected symbol {circle around (y)}(k) 511,605 are stored in registers to preserve data for phase error estimation.

[0068] The ADC output values y(k) 509 can be optionally processed by a digital filter (like a Feed-Forward Equalizer FFE and/or a Decision Feedback Equalizer DFE) to improve the signal to noise ration or to compensate for channel characteristics 510, e.g. inter symbol interference.

[0069] In each time step k, a digital filter pattern decoder is applied to the current and last symbols to determine if this symbol sequence can be used to estimate the phase offset of the sampling clock signal from the ideal sampling point.

[0070] Depending on to the detected symbol pattern of four adjacent samples 608, the estimated phase error is calculated using an equation, implemented in a digital timing error detector TED, as summarized in Table 1 below.

[0071] An example of incorrect sampling is represented in FIG. 4.

[0072] The equation in Table 1 is a modified version of the Mueller-Mller (MM) algorithm 602. Mueller-Mller only considers two adjacent symbols to estimate the phase error, this invention considers more than two. When applying Mueller-Mller, wrong decisions can be made. At symbol sequences, that cannot be used to derive an unambiguous control signal, no phase correction decision is made in this invention. When applied to PAM-3 signals this method takes advantage of double zero symbols {circle around (y)}(k1)={circle around (y)}(k)=0. That means in total 32 out of 81 symbol sequences can be utilized to estimate the phase error value.

[0073] Without any frequency offset, 8 more symbol sequences can be utilized for the phase error estimation of a PAM-2 or PAM-3 serial data stream.

[0074] If the proposed scheme from Table 1 is not applied, only 54 out of 81 symbol sequences can be used, since 17 sequences contain double zero symbols, whereas 2 of 54 give zero as result and another 28 of 54 could give a faulty error value e(k).

[0075] This error signal e(k) 609 is multiplied with a weight factor w depending on the symbol sequence to obtain the error signal 610 e*(k)=w*e(k). The pattern dependent weights w are shown in Table 1.

[0076] There are different weights w for early and late phase adjustment. This has the benefit to increase/decrease the sensitivity to certain data symbol sequences.

[0077] The pattern dependent weights w can be optionally adjusted for different states during the initialization procedure of the timing recovery. The timing recovery contains a Finite-State-Machine (FSM) that controls the timing recovery control loop during the initialization procedure. The two main states are lock-in and locked. The FSM is also capable of changing the pattern dependent weights w according to the current state of the lock-in procedure, e.g. the weights can be increased, when the timing recovery is in the lock-in state, or the weights can be decreased, when the timing recovery is locked.

[0078] The phase error e*(k) 610 is used to adjust the phase of the sampling clock signal within the timing recovery control loop.

[0079] The phase error e*(k) is optionally applied to a bang-bang-detector with adjustable threshold and 3-point control output 604 to quantize the error signal and therefore adjust it to the bit width of the control signal 611.

[0080] The phase error e*(k) is optionally quantized by n-Bit.

[0081] FIG. 7 shows a block diagram of another embodiment of a timing error detector. The TED shown in FIG. 6 comprises an optional quantizer, while the TED in FIG. 7 is shown without a quantizer

[0082] The method according to the invention is applicable to PAM-2 signals. In this case 8 symbol sequences out of 16 can be used to estimate the error signal e(k) (Table 2).

[0083] Without any frequency offset, 4 more symbol sequences can be utilized for the phase error estimation. If the proposed scheme from Table 2 is not applied, then 16 out of 16 symbol sequences would be used for phase error estimation, but 2 of 16 give zero as result and another 6 of 16 could result in a faulty error value e(k).

[0084] The invention mainly refers to: [0085] Apply a filter pattern decoder to detected symbol sequence at more than two adjacent data symbols. Especially to the detected symbol patterns of four adjacent samples {circle around (y)}(k2), {circle around (y)}(k1), {circle around (y)}(k), {circle around (y)}(k+1), utilize the formula in Table 1 to estimate the phase error e(k); [0086] This error signal e(k) is multiplied with a weight factor depending on the symbol sequence to obtain the weighted error signal e*(k)=w*e(k); [0087] The weighted error signal e*(k) is quantized and used to adjust the phase of the sampling clock signal within the timing recovery control loop.

TABLE-US-00009 TABLE 1 Error estimation of PAM-3 input signal (y(k): received multi-bit value; (k): detected symbol of signal value y(k) ; all other 4-bit sequences result in e(k) = 0) (k (k (k + early: 2) 1) (k) 1) e(k) = w late: w note +1 +1 +1 0/1 y(k) y(k 1) 0.000 0.250 2 0 +1 +1 0 y(k) y(k 1) 0.500 0.500 0 +1 +1 1 y(k) y(k 1) 0.250 0.250 1/0 +1 +1 +1 y(k) y(k 1) 0.250 0.000 3 1 +1 +1 0 y(k) y(k 1) 0.250 0.250 1 +1 +1 1 y(k) y(k 1) 0.500 0.500 +1 +1 1 1 y(k) + y(k 1) 1.000 1.000 +1 +1 1 0/+1 y(k) + y(k 1) 0.125 0.125 1, 3 0/1 +1 1 1 y(k) + y(k 1) 0.125 0.125 1, 2 X +1 0 1 y(k) 0.125 0.125 +1 1 1 0 y(k) + y(k 1) 0.250 0.250 +1 1 1 +1 y(k) + y(k 1) 0.500 0.500 0/+1 1 1 1 y(k) + y(k 1) 0.250 0.000 3 0 1 1 0 y(k) + y(k 1) 0.500 0.500 0 1 1 +1 y(k) + y(k 1) 0.250 0.250 1 1 1 0/+1 y(k) + y(k 1) 0.000 0.250 2 1 1 +1 +1 y(k) y(k 1) 1.000 1.000 1 1 +1 0/1 y(k) y(k 1) 0.125 0.125 1, 3 0/+1 1 +1 +1 y(k) y(k 1) 0.125 0.125 1, 2 X 1 0 +1 y(k) 0.125 0.125 +1 0 0 +1 y(k) + y(k 1) 0.500 0.500 +1 0 0 0 y(k) + y(k 1) 0.250 0.000 3 +1 0 0 1 y(k) + y(k 1) 0.125 0.125 0 0 0 +1 y(k) + y(k 1) 0.000 0.250 2 0 0 0 1 y(k) y(k 1) 0.000 0.250 2 1 0 0 +1 y(k) y(k 1) 0.125 0.125 1 0 0 0 y(k) y(k 1) 0.250 0.000 3 1 0 0 1 y(k) y(k 1) 0.500 0.500 All other combinations 0 0 0 Note: 1 only applicable if no frequency offset exists 2 can only detect late sampling; e(k) < 0 3 can only detect early sampling; e(k) > 0

TABLE-US-00010 TABLE 2 Error estimation of PAM-2 input signal (y(k): received multi-bit value; (k): detected symbol of signal value y(k) ; all other 4-bit sequences result in e(k) = 0) (k (k (k + early: 2) 1) (k) 1) e(k) = w late: w note +1 +1 +1 1 y(k) y(k 1) 0.000 0.250 2 1 +1 +1 1 y(k) y(k 1) 0.500 0.500 1 +1 +1 +1 y(k) y(k 1) 0.250 0.000 3 +1 +1 1 1 y(k) + y(k 1) 1.000 1.000 +1 +1 1 +1 y(k) + y(k 1) 0.125 0.125 1, 3 1 +1 1 1 y(k) + y(k 1) 0.125 0.125 1, 2 +1 1 1 1 y(k) + y(k 1) 0.250 0.000 3 +1 1 1 +1 y(k) + y(k 1) 0.500 0.500 1 1 1 +1 y(k) + y(k 1) 0.000 0.250 2 1 1 +1 +1 y(k) y(k 1) 1.000 1.000 1 1 +1 1 y(k) y(k 1) 0.125 0.125 1, 3 +1 1 +1 +1 y(k) y(k 1) 0.125 0.125 1, 2 all other combinations 0 0 0 note 1 only applicable if no frequency offset exists 2 can only detect late sampling; e(k) < 0 3 can only detect early sampling; e(k) > 0

LIST OF REFERENCE NUMERALS

[0088] 101 Sampler, e.g. analog-to-digital converter (ADC) [0089] 102 Timing Error Detector (TED) [0090] 103 Timing Recovery Loop control [0091] 104 Voltage Controlled Oscillator (VCO) [0092] 105 Received analog data signal [0093] 106 Sampled data signal [0094] 107 Error signal [0095] 108 VCO control signal [0096] 109 Sampling control signal [0097] 501 Analog to Digital Converter (sampler) [0098] 502 Equalizer [0099] 503 Slicer [0100] 504 Timing Error Detector [0101] 505 Timing recovery loop control [0102] 506 Phase Interpolator [0103] 507 All-Digital Phase Lock Loop [0104] 508 Receiving data signal [0105] 509 Sampled and quantized data signal [0106] 510 Equalized data signal y(k) [0107] 511 Detected data symbol y(k) [0108] 512 Quantized Error signal [0109] 513 PI control signals [0110] 514 DCO clock [0111] 515 Sampling clock [0112] 601 Filter Pattern Decoder (FPD) [0113] 602 Modified Mueller-Mller algorithm [0114] 603 Error weighting [0115] 604 Optional: Quantizer, e.g. 3-point (or more) bang-bang-detector [0116] 605 Detected data symbol {circle around (y)}(k) (slicer output) [0117] 606 Received data signal y(k) (optionally filtered by equalizer) [0118] 607 Current and registered data signals y(k), y(k1), which correspond to data symbols [0119] {circle around (y)}(k) and {circle around (y)}(k1), respectively [0120] 608 Detected data symbols: {circle around (y)}(k2), {circle around (y)}(k1), {circle around (y)}(k), {circle around (y)}(k+1), which satisfy pattern in [0121] 609 Error signal e*(k) [0122] 610 Weighted error signal: e*(k) [0123] 611 Optional: Quantized error signal: e.g. up/down) [0124] 701 Filter Pattern Decoder (FPD) [0125] 702 Modified Mueller-Mller algorithm [0126] 703 Error weighting [0127] 704 Detected data symbol {circle around (y)}(k) (slicer output) [0128] 705 Received data signal y(k) (optionally filtered by equalizer) [0129] 706 Current and registered data signals y(k), y(k1), which correspond to data symbols {circle around (y)}(k) and y(k1), respectively [0130] 707 Detected data symbols: {circle around (y)}(k2), {circle around (y)}(k1), {circle around (y)}(k), {circle around (y)}(k+1), which satisfy pattern in [0131] 708 Error signal e(k) [0132] 709 Weighted error signal: e*(k)