In wireless communication systems, a coherent receiver must know the exact symbol timing in order to correctly demodulate the transmitted symbols from the transmitter. Several well-known symbol timing recovery methods have been used for estimating the ideal sampling point of the symbol, including Gardner timing recovery

[1], late-early timing recovery [2], and Mueller-Muller timing recovery [3]. This blog post briefly discusses how these timing recovery methods work in digital I/Q demodulators.

## Late-early symbol timing recovery

Figure 1: Late-early timing error computation

Late-early symbol timing recovery is one of the simplest methods and is widely used in digital communications. The algorithm behind this method takes three samples spaced by sampling duration Ts, each within the current symbol of duration T. The early and late samples are sampled at nT – Ts and nT + Ts, respectively. Timing error is the difference between the late and early samples. Based on the timing error between the late and early samples, the next symbol timing sampling time is advanced or delayed until the timing error is minimized, as show in Figure 1. The timing error computation for either the I or Q rail is computed as follows:

Once the timing error is computed, the timing adjustment algorithm for either the I or Q rail is performed:

·         If = 0, no timing adjustment is required for the next symbol

·         If > 0 , a timing advance is required for the next symbol

·         If < 0, a timing delay is required for the next symbol

## Gardner symbol timing recovery

Figure 2: Gardner timing error computation

The Gardner timing recovery algorithm requires two samples per symbol and knowledge of the previous symbol timing to estimate the timing error for current symbol as shown in Figure 2.  Timing error computation for either the I or Q rail is computed as follows:

where T is symbol duration. Once the timing error is computed, the Gardner timing adjustment algorithm is performed:

·         If = 0, no timing adjustment is required for the next symbol

·         If 0, a timing advance is required for the next symbol

·         If > 0 , a timing delay is required for the next symbol

## Mueller-Muller symbol timing recovery

Figure 3: Mueller-Muller timing error computation

The Mueller-Muller timing recovery algorithm requires only one sample per symbol and knowledge of the previous symbol to estimate the timing error. Timing error computation for either I or Q rail is computed as follows:

where  is the decision symbol of the sample . Once the timing error is computed, the timing adjustment algorithm is performed:

·         If = 0, no timing adjustment is required for the next symbol

·         If > 0, a timing advance is required for the next symbol

·         If 0, a timing delay is required for the next symbol

## Conclusion

Precise symbol timing is necessary in digital I/Q demodulators for further processing at the receiver chain. This blog post described some well-known methods to help digital receiver designers select a suitable timing recovery method.

## References

 [1] F. M Gardner, “A BPSK/QPSK Timing-Error Detector for Sampled Receivers,” IEEE Transactions on Communications, vol. COM-34, no. 5, pp. 423-429, 1986. [2] Bernard Sklar, Digital Communications: Fundamentals and Applications.: Prentice-Hal, 1988. [Online]. [3] K. H., and M. S. Muller Mueller, “Timing Recovery in Digital Synchronous Data Receivers,” IEEE Transactions on Communications, vol. COM-24, pp. 516-531, 1976.