Patent ID: 8411811

Claim:
A method for recovery of a clock from a received digital data stream, the method comprising: a) generating N phase-shifted clock signals, wherein the phase of each clock signal is consecutively increased by 2π/N on the basis of the phase of the preceding clock signal; b) determining one of the N phase-shifted clock signals as a clock signal M; c) determining another one of the N phase-shifted clock signals as a clock signal R, wherein the phase of the clock signal R differs from the phase of the clock signal M by a first predetermined phase-shift; d) determining another one of the N phase-shifted clock signals as a clock signal L, wherein the phase of the clock signal L differs from the phase of the clock signal M by a second predetermined phase-shift; e) selecting a rising/falling edge of the clock signal M; f) selecting in the clock signal R a rising/falling edge that is nearest in a positive time direction to the selected rising/falling edge of the clock signal M; g) selecting in the clock signal L a rising/falling edge that is nearest in a negative time direction to the selected rising/falling edge of the clock signal M; h) determining an l-value, an m-value and an r-value by respectively sampling the received digital data stream at the selected rising/falling edges of the clock signals L, M, and R; i) increasing a counter value LC by a predetermined amount, if the l-value differs from the m-value; j) increasing a counter value RC by the predetermined amount, if the r-value differs from the m-value; k) selecting one of the N phase-shifted clock signals which has a phase that differs from the phase of the clock signal M by 2π/N and defining the selected signal as the clock signal M if the counter value LC is greater than the counter value RC; and l) selecting one of the N phase-shifted clock signals which has a phase that differs from the phase of the clock signal M by −2π/N and defining the selected signal as the clock signal M if the counter value RC is greater than the counter value LC, wherein M and N are integers.