Symbol Timing, Carrier Recovery & Inter-Symbol Interference

A coherent receiver must acquire and track sample time, carrier frequency and phase, gain, and frame position while controlling channel memory. This entry connects Nyquist pulse shaping, timing and carrier loops, frame correlation, equalization, eye diagrams, and acquisition diagnostics into one receiver workflow.

A digital receiver sees samples from its own clock and oscillator, not the transmitter's. It must infer where symbols peak, how fast their phase rotates, which constellation orientation is correct, where frames begin, and how earlier symbols leak into the current one. These are coupled estimation problems: a badly timed sample looks like channel distortion, ISI biases timing and carrier detectors, and a carrier loop can lock to the wrong rotational ambiguity before framing exposes it.

The receiver should therefore separate acquisition from tracking. Acquisition searches a wide uncertainty region using a known preamble or cyclostationary feature. Tracking follows small residual drift with a narrow loop. One gain setting rarely performs both jobs well.

What the receiver does not know #

A useful complex-baseband model is

r(t)=Aej(2πΔft+ϕ)∑kakg(t−kT−τ)+w(t),r(t)=A e^{j(2\pi\Delta f t+\phi)} \sum_k a_k g(t-kT-\tau)+w(t),

where AA is gain, Δf\Delta f carrier-frequency offset, ϕ\phi carrier phase, TT the symbol interval, τ\tau timing phase, g(t)g(t) the combined transmit-pulse/channel/receive-filter response, and w(t)w(t) noise. Frame position and sampling-frequency offset are additional unknowns: the latter makes τ\tau drift instead of remaining constant.

Unknown Observable effect Typical estimator/control element
gain and DC/IQ offsets scaled, shifted, or elliptical constellation AGC, DC blocker, IQ calibration
coarse frequency offset rapid constellation rotation; matched-filter loss over a symbol preamble phase slope, FFT/search estimator, mixer/NCO
symbol-rate and timing phase samples slide across pulses; eye closes timing-error detector, loop filter, interpolating resampler
residual carrier phase/frequency slow rotation and decision errors Costas/PLL or pilot-aided phase tracker
channel impulse response ISI and frequency-selective distortion training or decision-directed equalizer
frame/code phase valid symbols interpreted at wrong boundaries sync-word or spreading-code correlator

The ordering is not universally fixed, but a robust burst receiver usually removes gross frequency error before a long matched-filter integration, obtains coarse timing and gain from a preamble, then enables narrow timing/carrier tracking and finally frame/channel decoding. Each handoff needs an explicit lock criterion.

ISI is sampled channel memory #

After the receive filter, sampling at t=mT+τt=mT+\tau gives

y[m]=∑kakh[(m−k)T+τ]+n[m].y[m]=\sum_k a_k h[(m-k)T+\tau]+n[m].

The desired symbol contributes amh(τ)a_m h(\tau); all k≠mk\ne m terms are inter-symbol interference (ISI). At the correct phase, a zero-ISI pulse satisfies the first Nyquist criterion

h(nT)={1,n=00,n≠0.h(nT)=\begin{cases}1,&n=0\\0,&n\ne0.\end{cases}

The sinc pulse satisfies this exactly but is infinite in time and unrealizable. A raised-cosine (RC) response preserves the zero crossings while introducing roll-off 0≤α≤10\le\alpha\le1. Its one-sided baseband bandwidth is

B=1+α2T.B=\frac{1+\alpha}{2T}.

Practical links split the response into root-raised-cosine (RRC) filters at transmitter and receiver; their product is RC. Two matched RRC filters therefore create the intended zero-ISI samples only when their rate, roll-off, truncation, normalization, and sample phase agree and the physical channel adds no uncompensated distortion.

Timing recovery is a feedback estimator #

A timing loop repeatedly performs four operations:

  1. an interpolator produces samples at a fractional time chosen by the current estimate;
  2. a timing-error detector (TED) converts local waveform shape into an error eke_k;
  3. a loop filter trades acquisition speed against jitter/noise rejection;
  4. a numerically controlled oscillator advances the next sample phase and symbol period.

The mean TED output versus timing offset is its S-curve. The desired lock point is a zero crossing with the correct restoring slope. That slope is the TED gain; if amplitude normalization, pulse shape, samples/symbol, or Es/N0E_s/N_0 differs from the assumed value, the implemented loop bandwidth and damping differ too. GNU Radio's Symbol Sync documentation explicitly treats expected TED gain as a sensitive parameter for this reason.

Eye diagram and timing-error S-curve The left panel overlays possible two-symbol trajectories, showing the maximum eye opening at the correct sample time. The right panel shows a timing detector S-curve whose zero crossing and slope determine loop lock and gain. Eye opening is margin; the S-curve turns it into feedback received pulse trajectories mean timing-error detector output correct sample phase τ = 0decisionthreshold e(τ)τstable zeroslope = detector gain Noise, ISI, gain error, and carrier error can close or tilt the eye before the timing loop ever sees it.
The largest vertical eye opening is the best amplitude margin and the largest horizontal opening is the timing margin. A TED turns displacement from that phase into a signed error; its S-curve slope near the stable zero sets loop gain.

Common TEDs make different assumptions:

TED Samples/symbol Decision-directed? Main strength Main limitation
early–late usually ≥2 no intuitive comparison around the pulse peak needs a peaked pulse and adequate oversampling
Gardner 2 no works without carrier phase decisions for many linear modulations degrades with excess ISI and some pulse/roll-off regimes
Mueller–Müller 1 yes symbol-rate operation after acquisition slicer errors and amplitude mismatch bias the loop
derivative/ML family often ≥2 can be non-data-aided directly tied to likelihood gradient derivative filter and gain calibration matter

Worked ISI cancellation #

Consider a symbol-rate channel

y[k]=a[k]+0.45a[k−1]+n[k],a[k]∈{−1,+1}.y[k]=a[k]+0.45a[k-1]+n[k],\qquad a[k]\in\{-1,+1\}.

For transmitted symbols a=[+1,−1,−1,+1]a=[+1,-1,-1,+1] and no noise, taking a[−1]=0a[-1]=0 gives

kk a[k]a[k] 0.45a[k−1]0.45a[k-1] y[k]y[k]
0 +1 0 +1.00
1 −1 +0.45 −0.55
2 −1 −0.45 −1.45
3 +1 −0.45 +0.55

A zero-threshold slicer still succeeds here, but the margin on symbols 1 and 3 has fallen from 1 to 0.55. A decision-feedback equalizer (DFE) forms

z[k]=y[k]−0.45a^[k−1].z[k]=y[k]-0.45\hat a[k-1].

If the previous decision is correct, z[k]=a[k]+n[k]z[k]=a[k]+n[k] and the postcursor is cancelled without enhancing noise. If one decision is wrong by 2 in amplitude, the next sample receives a feedback error of 0.45×2=0.90.45\times2=0.9—large enough to cause error propagation. This is the DFE trade: no linear noise enhancement, but hard dependence on previous decisions.

Carrier acquisition and tracking #

With residual frequency offset Δf\Delta f, the constellation rotates by

Δθ=2πΔfT\Delta\theta=2\pi\Delta fT

per symbol. Over a matched-filter interval, a large offset also causes coherent-integration loss; it is therefore not always safe to put coarse frequency correction after the matched filter.

A carrier loop uses a phase detector, loop filter, and NCO. For BPSK/QPSK a Costas-loop family removes data modulation from the phase error; decision-directed detectors extend the idea to QAM after decisions are reliable. Pilots or a known preamble can estimate phase without decision feedback.

Symmetric constellations create ambiguities: QPSK can lock at rotations separated by π/2\pi/2. Differential coding, pilot polarity, or frame fields resolve the ambiguity. A tight-looking constellation is not proof of correct absolute rotation.

Loop bandwidth makes the same bargain as in timing recovery. Wider bandwidth acquires and follows drift faster but admits more noise and reference modulation. Narrower bandwidth reduces jitter after lock but can lose a burst, Doppler ramp, or oscillator transient. Many receivers explicitly switch gains after a lock detector asserts.

Frame synchronization is a multiple-hypothesis test #

For a known length-LL marker si∈{−1,+1}s_i\in\{-1,+1\}, a normalized sliding correlation is

ρ[m]=∣∑i=0L−1r[m+i]si∣2(∑∣r[m+i]∣2)L.\rho[m]=\frac{\left|\sum_{i=0}^{L-1}r[m+i]s_i\right|^2} {\left(\sum |r[m+i]|^2\right)L}.

Normalization makes the threshold less sensitive to gain. It does not eliminate the false-alarm trade: searching MM candidate positions turns a per-cell false-alarm probability pp into

PFA,total=1−(1−p)M≈Mp(p≪1).P_{FA,total}=1-(1-p)^M\approx Mp \quad (p\ll1).

Long searches therefore need stronger thresholds, confirmation across repeated markers, or structural checks after the candidate boundary. CCSDS Attached Sync Markers are one concrete example of treating the marker, randomizer state, codeword boundary, and decoder synchronization as one ordered contract.

Equalizers choose where to pay #

Equalizer Mechanism Cost paid
linear feed-forward (ZF) invert channel response severe noise enhancement near channel nulls
linear MMSE balance residual ISI against noise enhancement needs noise/channel estimate and leaves deliberate residual ISI
DFE cancel postcursor ISI using past decisions error propagation and decision-directed acquisition risk
ML sequence estimation compare channel-memory paths in a trellis state count grows exponentially with memory
frequency-domain equalize blocks after FFT, usually with CP/overlap structure block latency and strict framing/cyclic-prefix assumptions

An equalizer cannot repair a receiver whose sample clock is slipping beyond its adaptation model. Conversely, a timing loop can be biased by an unequilibrated asymmetric channel. Training commonly alternates or coordinates their adaptation rather than assuming independent convergence.

A reproducible acquisition test #

Do not validate the chain only by final BER. Record, against the same absolute sample index:

  • coarse frequency estimate and residual phase slope;
  • interpolator phase, estimated samples/symbol, TED error, and loop lock flag;
  • equalizer taps and error power;
  • carrier phase/frequency state and detector error;
  • frame-correlation peak, runner-up peak, threshold, and chosen boundary;
  • pre-decoder symbols or LLRs and post-decoder frame/CRC result.

Then exercise deterministic offsets at both capture and tracking limits: positive and negative carrier offset, sampling-rate error, fractional-symbol timing, gain/DC error, multipath delay, burst start, and phase ambiguity. A loop is verified only when it acquires from the declared uncertainty region, remains locked through the declared dynamics, and fails visibly outside them.

Failure signature Likely root cause
timing phase rails at an interpolation limit wrong nominal samples/symbol or unhandled sampling-frequency offset
TED error has a mean offset after apparent lock DC/gain mismatch, asymmetric ISI, wrong pulse shape, or carrier leakage
frame peak is strong but payload is rotated carrier ambiguity unresolved
equalizer taps grow while error rises adaptation before timing/carrier lock, step size too high, or wrong training alignment
first packet fails after idle stale loop/scrambler state or preamble too short for declared capture range

The correct mental model is one coupled state machine: search → coarse frequency/gain → timing acquisition → channel estimate/equalization → carrier tracking → frame confirmation → payload tracking. The exact order may change, but every transition needs evidence and every estimator needs an explicit operating range.

Sources

  1. bookSystems for Transmission of Digital Informationpdfnotes
  2. paperA BPSK/QPSK Timing-Error Detector for Sampled Receivers
  3. docsTM Synchronization and Channel Coding, CCSDS 131.0-B-5pdfnotes
  4. docsGNU Radio Symbol Sync
  5. docsGNU Radio QPSK Modulation and Demodulation Tutorial

Searches titles, aliases, headings, summaries, and full text.↑↓ move ↵ open esc close