What non-data0aided techniques are used to estimate the timing for multi-level QAM? For single level QAM(so 4 QAM) you can use variance minimization or power maximization but I'm not sure these techniques carry over to multi-level transmission models. For example the variance minimization technique would need substantial modifications to handle the different power levels(even more so when you consider lack of phase synchronization).

How is this addressed?

  • $\begingroup$ Would you consider decision-directed to be non-data aided? (I've used the Gardner Timing Error Detector in decision-directed timing recovery for multi-level QAM; works well in higher SNR conditions even with substantial carrier offset errors as long as the data symbols are reasonably distributed (whitened). $\endgroup$ Dec 9, 2019 at 1:37
  • $\begingroup$ How would decision directed work without having an initial synchronization? I could see normalizing the average power and use power clusters where the power is assigned to the nearest cluster point but it's not clear this will work. $\endgroup$ Dec 9, 2019 at 2:37
  • $\begingroup$ Actually it is not even decision directed- it works off off two samples per symbol without any initial synchronization. The samples can be at any offset within the symbol, and you can have a substantial carrier offset as well and the timing recovery loop will converge. Are you familiar with the Gardner Timing Error Detector? There are some other posts here that go into that in detail. $\endgroup$ Dec 9, 2019 at 3:25
  • $\begingroup$ The TED also performs better prior to the RRC filter in the receiver, since there is reduced zero crossing jitter at this node. If the noise is a concern, a noise minimization pre-filters (simple 3 to 5 tap FIR filter) can reduce that jitter further for purpose of timing recovery. $\endgroup$ Dec 9, 2019 at 3:32

1 Answer 1


Consider using a Gardner Timing Error Detector which in the following form is usable for higher order QAM:

$$TED = I_n(I_{n+1}-I_{n-1}) + Q_n(Q_{n+1}-Q_{n-1})$$

Where $I_{n-1}$,$Q_{n-1}$, $I_{n}$, $Q_{n}$ and $I_{n+1}$, $Q_{n+1}$ are the early, prompt and late QAM samples at 2 samples per symbol. The TED will drive the prompt sample to zero error at the zero crossings of the waveform.

This is from deriving a timing error by taking the real of the complex conjugate multiplication of the signal y[n] with its derivative, a form which comes from simplifying the maximum likelihood timing estimator. The difference $y_{n+1}-y_{n-1}$ is an approximation of the derivative of y[n]:

$$real\bigl(y^*_n (y_{n+1}-y_{n-1})\bigr)$$

This error term would typically be the input into a loop filter in a timing recovery loop, and the output of the loop filter could select the appropriately timed output of a polyphase resampling structure such that the sampling rate is never actually changed (2 samples per symbol throughout).

Assuming the RC pulse is root-raised cosine (RRC) in the transmitter, and then again in the receiver, the Gardner TED has higher performance using the samples prior to the RRC filter in the receiver: this makes sense as the TED derives the timing error or S-curve based on the symbol transitions- if you observe the zero-crossing jitter in an eye diagram of RRC pulses compared to RC pulses with the same pulse-shaping parameter, you will see that the RRC has less jitter. The second RRC filter adds more jitter at the benefit of eliminating the inter-symbol interference at the symbol sampling locations.

That said, the waveform can be prefiltered prior to the timing error detection to minimize zero crossing jitter (this filtered waveform is used only for timing and is not the received waveform for data recovery due to ehanced ISI at the correct symbol decision locations) Here is an interesting paper on the use of such noise minimization pre-filters for QAM with the Gardner Ted:

Aldo Nunzio D’Andrea, Marco Luise, Optimization of Symbol Timing Recovery for QAM Data Demodulators, IEEE Trans on Communications, Vol 44 No 3 March 1996.


Further, here is an interesting graph I created showing how robust the TED is without carrier/phase synchronization. This shows how the TED performs as an SNR metric with carrier offsets normalized to the symbol rate, showing only 3 dB degradation with carrier offsets as much as a quarter of the symbol rate. (The "Gain" is from the slope of the discriminator, while the noise is the pattern noise of the discriminator. For the following two graphs these were just consistent metrics to compare various timing discriminators such as here the Gardner TED versus the M&M synchronizer.)

TED with carrier offset

For comparison here is the same plot with the Mueller and Mueller (M&M) synchronizer. Notice the $10^{-4}$ scaling on the horizontal axis! This is overlaid on the plot above with the red line showing the same TED curve, just zoomed in on the horizontal axis; What this shows is that the M&M is much more sensitive to carrier offset (as expected since it operates on decisions) but has lower noise once the carrier is synchronized.


Here is a simplified plot showing how the Gardner TED estalishes a timing discriminator "S-curve" from the product of the signal with its derivative. This shows how the Gardner uses the zero crossing transitions to establish the discriminator curve (the actual curve is sinusoidal for raised cosine waveforms) and importantly how the lock point is at the zero crossings (blue samples) while the decision samples would be the other samples shown in red (with 2 samples per symbol). For higher order QAM the functional operation is the same with substantially higher pattern noise. (The timing loop BW would need to be reviewed to confirm the resulting discriminator noise is sufficiently averaged to not be an issue).

Gardner TED as y * y_dot

Gardner TED

  • $\begingroup$ Thanks, I am surprised this TED would still work for multilevel QAM since it seems the zeros won't be in the same location(jitter). By the way do you have a link showing how this TED comes from the maximum likelihood principle? I'm assuming you don't know the symbol so you need to take the expected value across it and do some approximations. $\endgroup$ Dec 10, 2019 at 6:30
  • $\begingroup$ Also, have any idea how to connect a cluster variance TED to multi-level QAM? The key issue is how to assign your power clusters for a given signal strength. $\endgroup$ Dec 10, 2019 at 6:32
  • $\begingroup$ I've done this with an AGC before timing recovery (so fixed power level) and with a fixed scaling rather than being proportional to SNR for a sub-optimum but realizable solution. I think I have already shown the product of the signal with its derivative as a fundamental form for maximum likelihood timing estimation in other posts- let me see if I can find those. $\endgroup$ Dec 10, 2019 at 22:31
  • $\begingroup$ Here's a reference by fred harris pdfs.semanticscholar.org/3077/… that contains the classic maximum likelihood timing estimator expression (equation 5) and note the following simplifications that are commonly done: $\endgroup$ Dec 10, 2019 at 23:20
  • $\begingroup$ The equation essentially shows that the timing error is established by scaling the signal by the SNR and then taking the hyperbolic tangent of that and then multiplying that by the derivative of the signal. Typically the SNR is a fixed scaling as a suboptimum simplification and tanh(y) ~ y for abs(y) << 1 and sign(y) for abs(y) >>1. So with the right scaling of the signal (AGC) you can approximate timing using the product of y with it's derivative, which is the form we see in the Gardner TED. This is averaged over many samples in the timing recovery loop. $\endgroup$ Dec 10, 2019 at 23:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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