I am interested in understanding why the common timing recovery algorithms function for modulation schemes which produce ISI.

For example, suppose you are receiving at the output of a matched filter a raised cosine pulse and you are interested in timing recovery. For simplicity lets assume BPSK(though I would be interested in QAM). Besides the ideal sampling times there will be ISI.

Most of the common symbol timing recovery algorithms seem to use symmetry in the received signal, either balancing the measured value at the left and right sides of the ideal sampling instant or use zero crossings.

In the case of a sequence of raised cosine pulses, these features no longer exist as the signals overlap.

How do timing recovery algorithms work in this case?


In general the ISI is never severe enough for the symbol timing recovery algorithm not to work, but it does degrade its achievable performance on the $P_{be}$ vs. $\dfrac{E_b}{N_0}$ curve. In other words, for the same error rate, you need better SNR to make up for the ISI.

ISI will degrade the S-curve of the Timing Error detector, causing it to flatten a bit and reduce the TED gain. Gaussian noise will do the same.

  • $\begingroup$ Why does it work at all though? If you look at a Raised Cosine modulated signal it's very non-symmetric around the sampling times, algorithms like Muller and Gardner seek a position that is symmetric about the sampling time or use zero crossings which in this case don't align with the symbol timing. $\endgroup$ – FourierFlux Nov 16 '18 at 23:24
  • $\begingroup$ The TED, like Gardner or Muller & Muller, is not the "algorithm". The TED is part of the algorithm, for PLL based timing recovery. The TED emits an error signal that is an estimate of the timing error. This error signal is filtered to drive a correction of the symbol clock which is then fed back for generation of the next error estimate from the TED. A properly tuned loop will continually minimize the error in the estimated symbol clock timing. That mimized error and the PLL tuning do depend on the TED gain which in turn, does depend on the noise and ISI on the input. $\endgroup$ – Andy Walls Nov 16 '18 at 23:35
  • $\begingroup$ These slides touch briefly on some of the concepts: gnuradio.org/wp-content/uploads/2017/12/… . In operation of the loop, the timing error estimate may never be 0, but it may continually bounce above and below 0 when the loop is locked and tracking. $\endgroup$ – Andy Walls Nov 16 '18 at 23:45
  • $\begingroup$ A better question might be to pick a particular TED, say Garnder, and investigate what happens to its S-curve under various input conditions? As TED gain goes down, the magnitude of error estimates goes down and locking a timing loop takes longer. If you get the S-curve to totally collapse, the error estimates will be junk. $\endgroup$ – Andy Walls Nov 17 '18 at 0:18
  • $\begingroup$ Ok so we're implicitly accepting the error will never actually settle but bounce around and hope it stays in an acceptable region. I still don't see why it would stay in this region though depending on the sequence of symbols sent. Also why have an integral term in the loop instead of a simpler scaler? $\endgroup$ – FourierFlux Nov 17 '18 at 6:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.