Iterative Timing Recovery John R. Barry School of Electrical and - - PowerPoint PPT Presentation

iterative timing recovery
SMART_READER_LITE
LIVE PREVIEW

Iterative Timing Recovery John R. Barry School of Electrical and - - PowerPoint PPT Presentation

Iterative Timing Recovery John R. Barry School of Electrical and Computer Engineering, Georgia Tech Atlanta, Georgia U.S.A. barry@ece.gatech.edu 0 Outline Timing Recovery Tutorial Problem statement TED: M&M, LMS, S-curves


slide-1
SLIDE 1

Iterative Timing Recovery

John R. Barry

School of Electrical and Computer Engineering, Georgia Tech Atlanta, Georgia U.S.A. barry@ece.gatech.edu

slide-2
SLIDE 2

1

Outline

Timing Recovery Tutorial

  • Problem statement
  • TED: M&M, LMS, S-curves
  • PLL

Iterative Timing Recovery

  • Motivation (powerful FEC)
  • 3-way strategy
  • Per-survivor strategy
  • Performance comparison
slide-3
SLIDE 3

2

T 2T 5T

Receiver expects the k-th pulse to arrive at time kT:

3T 4T

Instead, the k-th pulse arrives at time kT + τk.

The Timing Recovery Problem

τ4 Notation: τk is offset of k-th pulse.

slide-4
SLIDE 4

3

TIMING RECOVERY

r(t) kT +

k

τ ˆ

to digital detector

Sampling

Best sampling times are {kT + τk}. Estimate {τk}

slide-5
SLIDE 5

4

Timing Offset Models

CONSTANT FREQUENCY OFFSET RANDOM WALK TIME TIME TIME

τk τk τk ⇒ ⇒ ⇒

τk+1 = τk + N (0, σw

2 )

RANDOM WALK + FREQUENCY OFFSET

τk+1 = τk + N (∆T, σw

2 )

τk = τ0 τk+1 = τk + ∆T

slide-6
SLIDE 6

5

The PR4 Model and Notation

TIMING OFFSETS

ak r(t) = ∑kdkg(t – kT – τk) g(t)

AWGN

dk

τ

1 – D2

2T 4T –2T

Define:

  • dk = ak – ak – 2 ∈{0, ±2} = 3-level “PR4” symbol
  • k = receiver’s estimate of dk
  • τk = timing offset
  • k = receiver’s estimate of τk
  • εk = τk –

k estimate error, with std σε.

  • k = receiver’s estimate of εk

d ˆ

τ ˆ τ ˆ ε ˆ

+ AWGN

∈{±1} ∈{0, ±2}

SINC FUNCTION

slide-7
SLIDE 7

6

ML Estimate: Trained, Constant Offset

The ML estimate minimizes J( |a) =

r( t) – dig(t – iT – τ)

dt .

Exhaustive search: Try all values for τ, pick one that best represents r( t ) in MMSE sense.

τ ˆ

τ

∞ – ∞

∫ 

i

 

2

–2T –T T 2T

J

τ ˆ

slide-8
SLIDE 8

7

ANIMATION 1

slide-9
SLIDE 9

8

r(kT + ) =

dig(kT – iT + – τ) + nk

= sk(ε ) + nk, where ε = τ –

is the estimation error. The CRB on the variance of the estimation error: ≥ = .

τ ˆ

i

τ ˆ τ ˆ

σε

2

T2

  • σ2

N

  • 1

E ε ∂ ∂ sk ε ( )    

2

3σ2 π2N

  • Achieves Cramer-Rao Bound
slide-10
SLIDE 10

9

Gradient search:

i + 1 = i – µ

J(τ|a)

Direct calculation

  • f gradient:

J(τ|a) =

r( t )g´(t – iT – τ)dt =

ri´ .

Remarks:

  • Susceptible to local minima ⇒ initialize carefully.
  • Block processing.
  • Requires training.

τ ˆ τ ˆ

τ ∂ ∂

τ τ ˆi =

1 2

  • τ

∂ ∂ ∑i di ∞

– ∞

∑i di

Implementation

–2T –T T 2T

J

τ ˆ

slide-11
SLIDE 11

10

PLL UPDATE

r(t)

T.E.D.

kT +

k

τ ˆ

rk

∈{0, ±2}

k

ε ˆ

Conventional Timing Recovery

After each sample: Step 1. Estimate residual error, using a timing-error detector (TED) Step 2. Update , using a phase-locked loop (PLL) τ ˆ

TRAINING

dk d ˆ k

VITERBI DETECTOR

slide-12
SLIDE 12

11

LMS Timing Recovery

MMSE cost function: E

rk – dk    

2

LMS approach:

k + 1 = k + µ k

where

= – rk – dk

.

τ ˆ τ ˆ

ε ˆ ε ˆk τ ˆ ∂ ∂    

2 τ ˆ τ ˆk =

what we want it to be

k-th sample, rk = r(kT +

k)

τ ˆ

slide-13
SLIDE 13

12

But:

rk – dk = (rk – dk) dig(kT – iT + – τ) = (rk – dk) dig´(kT – iT + – τ) = (rk – dk) di

where

= g(nT – ε): 1 2

  • τ

ˆ ∂ ∂    

2 τ ˆ τ ˆk =

τ ˆ ∂ ∂

i

τ ˆ

i

τ ˆ

i

p

k i – εk ( )

pn

εk ( )

τ ∂ ∂

LMS TED

slide-14
SLIDE 14

13

From LMS to Mueller & Müller

∝≈ (rk – dk)(dk – 1 – dk + 1) + smaller terms

= rkdk – 1 – rkdk + 1 – dkdk – 1 + dkdk + 1

Delay second term and eliminate last two: ∝ rkdk – 1 – rk – 1dk ⇒ Mueller & Müller (M&M) TED

ε ˆk

Independent of τ

ε ˆk

slide-15
SLIDE 15

14

–0.5T 0.5T –0.5T 0.5T

S Curves

TIMING ERROR, ε AVERAGE TED OUTPUT, E[ε|ε]

^

TRAINED M&M, LMS

ε = ε

^

SNR = 2 ⁄ σ2 = 10 dB

slide-16
SLIDE 16

15

–0.5T 0.5T –0.5T 0.5T

LMS is Noisier

TIMING ERROR, ε AVERAGE TED OUTPUT, E[ε|ε]

^

TRAINED M&M

ε = ε

^

TRAINED LMS ONE STD

SNR = 2 ⁄ σ2 = 10 dB

slide-17
SLIDE 17

16

An Interpretation of M&M

  • It passes through {0, ±2, ±2 ± 2j, ±2j} at times {kT + τ}.
  • More often than not, in a counterclockwise direction.

2 –2 2 –2

Consider the complex signal r( t ) + jr(t – T). Its noiseless trajectory:

slide-18
SLIDE 18

17

ANIMATION 2

slide-19
SLIDE 19

18

Sampling Late by 20%

Rk = rk + jrk – 1 Dk = dk + jdk – 1 θ

The angle between Rk and Dk predicts timing error: θ ≈ sinθ = Im ∝ rkdk – 1 – rk – 1dk

M&M.

R*D RD

    

slide-20
SLIDE 20

19

Decision-Directed TED

Replace training by decisions {

k}

k ∝ rk k– 1 – rk – 1 k .

Instantaneous decisions:

  • Hard:

Round rk to nearest symbol.

  • Soft:

k= E[dk|rk] =

:

d ˆ

ε ˆ

d ˆ d ˆ d ˆ

2 2rk σ2

( ) sinh 2rk σ2

( ) cosh e2 σ2 ⁄ +

  • 5 dB

10 dB

∞ dB

r

d ˆ

slide-21
SLIDE 21

20

–0.5T 0.5T –0.5T 0.5T

TIMING ERROR, ε AVERAGE TED OUTPUT, E[ε|ε]

^

HARD M&M SOFT M&M

TRAINED M&M, LMS

SNR = 2 ⁄ σ2 = 10 dB

slide-22
SLIDE 22

21

–0.5T 0.5T –0.5T 0.5T

TIMING ERROR, ε AVERAGE TED OUTPUT, E[ε|ε]

^

HARD SOFT

SNR = 2 ⁄ σ2 = 10 dB

slide-23
SLIDE 23

22

DECODER TRELLIS EQUALIZER

Reliability versus Delay

Three places to get decisions:

kT +

k

τ ˆ

r(t )

DECODER

d ˜k–D = + α

τ ˆk

1 +

τ ˆk ε ˆk

A B C

rk = r(kT + k)

TRELLIS EQUALIZER

z–D

τ ˆ

rk–D

PLL UPDATE T.E.D.

k

ε ˆ

Inherent trade-off: reliability versus delay.

  • to get more reliable decisions requires more decoding delay D
  • delay decreases agility to timing variations
slide-24
SLIDE 24

23

Decision Delay Degrades Performance

0.02 0.04 0.06 0.08 0.1 2.5 3 3.5 4 4.5 5 5.5 PLL GAIN, α RMS TIMING JITTER σε ⁄ T (%)

D = 20 D = 10 D = 5 D = 0 D = 1 5

Eb ⁄ N0 = 8 dB σw ⁄ T = 0.5% TRAINED M&M 1st-ORDER PLL

slide-25
SLIDE 25

24

Averaged over 40,000 bits Parameters 1st-order M&M PLL random walk σw ⁄ T = 0.5% α optimized for SNR = 10 dB 5 10 15 20 25 1% 2% 3% 4% 5% 6% 7% SNR (dB)

The Instantaneous-vs-Reliable Trade-Off

INSTANTANEOUS BUT 20 0.017 100 0.006 0.046 Delay αopt UNRELIABLE DECISIONS DELAY-20, PERFECT DECISIONS DELAY-100, PERFECT DECISIONS

Reliability becomes more important at low SNR.

σε ⁄ T

JITTER

slide-26
SLIDE 26

25

αz 1

1 1 α – ( )z 1

  • Linearized Analysis

Assume

= εk + independent noise = τk –

k + nk

⇒1st order PLL,

k + 1 = k + α(τk – k + nk), is a linear system:

ε ˆk τ ˆ τ ˆ τ ˆ τ ˆ

τk

NOISE

τ ˆk

1-st order LPF

Ex: Random walk

αz 1

1 1 α – ( )z 1

  • τk

τ ˆk

1-st order LPF

1 1 z 1

  • wk

WHITE WHITE

⇒ derive optimal α

εk

+ –

to minimize σε

2

α

slide-27
SLIDE 27

26

1st-order PLL:

k + 1 = k + α k

  • Already introduced using LMS
  • Easily motivated intuitively:

➢ if

k is accurate, α = 1 corrects in one step

➢ Smaller α attenuates noise at cost of slower response

2nd-order PLL:

k + 1 = k + α k + β n

  • Accumulate TED output to anticipate trends
  • P+I control
  • Closed-loop system is second-order LPF
  • Faster response
  • Zero steady-state error for frequency offset

τ ˆ τ ˆ ε ˆ

ε ˆ

τ ˆ τ ˆ ε ˆ

ε ˆ

n ∞ – = k

The PLL Update

TIME

slide-28
SLIDE 28

27

Equivalent Views of PLL

Analysis: Sample at {kT +

k}, where

  • k + 1 =

k + α k + β n ,

  • k is estimate of timing error at time k .

Implementation: τ ˆ τ ˆ τ ˆ ε ˆ

ε ˆ

n ∞ – = k

ε ˆ

PHASE DETECTOR LOOP FILTER TED VCO A ⁄ D

α β 1 z 1

  • +

ε ˆk

Accumulation implicit in VCO

slide-29
SLIDE 29

28

Iterative Timing Recovery

Motivation

  • Powerful codes ⇒ low SNR ⇒ timing recovery is difficult
  • traditional PLL approach ignores presence of code

Key Questions

  • How can timing recovery exploit code?
  • What performance gains can be expected?
  • Is it practical?
slide-30
SLIDE 30

29

A Canonical Example

m

mux AWGN S RANDOM Rate-1 ⁄ 3 Turbo Code

r(t) = ∑i aig(t – iT – τ) g(t – τ)

π

0% xsbw

a

Simplest possible channel model:

  • {±1} alphabet, ideal ISI-free pulse shape
  • constant timing offset τ
  • AWGN.

Add a rate-1 ⁄ 3 turbo code with {±1} alphabet:

INTERLEAVER

1 D2 ⊕ 1 D D2 ⊕ ⊕

  • 1

D2 ⊕ 1 D D2 ⊕ ⊕

  • + AWGN

Problem: Recover message in face of unknown noise, timing offset

2048 bits

slide-31
SLIDE 31

30

The ML estimator with training minimizes:

J( |a) =

r( t ) – aig(t – iT – τ)

dt

Without training, the ML estimator minimizes Ea[J( |a)]. An EM-like approach: τ

∞ – ∞

∫ 

i

 

2

τ

Iterative ML Timing Recovery

a ˜ k { }

SYMBOL ESTIMATOR

τ ˆ

TIMING ESTIMATOR

Useful in concept, but overstates complexity. For example, the timing estimator might itself be iterative:

i + 1 = i – µJ´( i |

) .

τ ˆ τ ˆ τ ˆ

a ˜ i { }

slide-32
SLIDE 32

31

A Reduced-Complexity Approach

Collapse three loops to a single loop.

Initialize Iterate for i = 0, 1, 2, … decode component 1 decode component 2 update timing estimate,

i + 1 = i – µJ´( i |

) interpolate end

As a benchmark, an iterative receiver that ignores the presence of FEC will replace the pair of decoders by = tanh .

τ ˆ τ ˆ τ ˆ τ ˆ

a ˜ i { } a ˜ k

i ( )

r kT τ ˆi + ( ) ( ) σ2 ⁄ ( )

slide-33
SLIDE 33

32

S = 16 random interleaver, length 2048

RMS TIMING ERROR, σε ⁄ T I G N O R E F E C 4 dB E X P L O I T F E C Trained ML,

Parameters

τ = 0.123T, AWGN channel

Rate-1 ⁄ 3 Turbo Code N = 6150 coded bits 1 inner per outer iteration K = 2048 message bits Averaged over 180 trials

5 10 15 0.2% Eb ⁄ N0 (dB) 0.3% 0.4% 0.5% 1% 2% 3% 4% 5%

σε

2 = E[(

– )2]

τ ˆ τ

Results

Cramer-Rao Bound

slide-34
SLIDE 34

33

New Model: Random Walk and ISI

PRECODER λbit x ( ) 0.38767x2 0.39823x3 0.14688x6 0.06722x7 + + + = ρcheck x ( ) 0.10309x29 0.89691x30 + =

mk ak ck

LDPC ENCODE 1 1 ⊕ D2

τ

r(t)

Rate-8 ⁄ 9 (4095, 3640) irregular LDPC code with node-degree distribution polynomials:

h(t)

AWGN PR4 TIMING OFFSET

2T 4T –2T

Equivalent equalized readback waveform:

r(t) = ∑kakh(t – kT – τk) + AWGN . h(t) = gsinc(t) – gsinc(t – 2T)

System diagram:

slide-35
SLIDE 35

34

Conventional Turbo Equalizer + PLL

BCJR

PR trellis

– + – +

apriori

final decisions PLL

BIT NODES CHECK NODES

kT τ ˆk + λk

r(t) = LLR(ck)

rk

slide-36
SLIDE 36

35

Performance of Conventional Approach

4 5 6 7 8 10–6 10–5 10–4 10–3 10–2 10–1 1 SNR per bit (dB) WORD-ERROR RATE σw ⁄ T = 0.5% (α = 0.04) σ

w

⁄ T = 1 % ( α = . 5 5 )

KNOWN TIMING

Conventional: 25 ⁄ 5 Parameters Known Timing: 10 ⁄ 5 max 10000000 words

Big penalty as σw ⁄ T increases: cycle slips.

slide-37
SLIDE 37

36

Cycle-Slip Example

σw ⁄ T = 1.0% Parameters SNRbit = 5.0 dB

2050 4100 –1.5T – T T TIME k (in bit periods) ESTIMATE OF TIMING OFFSET ( ) ACTUAL τk

τ ˆk

α = 0.055

T

τ ˆk

CYCLE SLIP

ESTIMATE

slide-38
SLIDE 38

37

Nested Loops

BCJR PLL

r(t)

τ ˆk

{ }

LLR dk ( ) { }

TURBO EQUALIZER LLR ck ( ) { } LLR ck ( ) { } BIT NODES LDPC DECODER EQ

Iterate between PLL and turbo equalizer, which in turn iterates between BCJR and LDPC decoder, which in turn iterates between bit nodes and check nodes.

CHECK NODES

slide-39
SLIDE 39

38

A Decoder-Centric View

BIT NODES PLL & RESAMPLE & BCJR FROM BCJR CHECK NODES

slide-40
SLIDE 40

39

CHECK NODES BIT NODES

Iterative Timing Recovery and TEQ

BCJR PLL

– + – +

apriori

final decisions

PLL

r(t)

kT τ ˆk + rk

d ˜ k

λk

INTERPOLATE

slide-41
SLIDE 41

40

Iterative receiver automatically corrects for cycle slips:

Automatic Cycle-Slip Correction

σw ⁄ T = 1.0% Parameters SNRbit = 5.0 dB

2050 4100 –1.5T – T T TIME k (in bit periods) ESTIMATE OF TIMING OFFSET ( ) ACTUAL τ

N = 0 20 40 60 80 100 120 140 160 175

τ ˆk

α = 0.055 N⁄5 iterations

T

slide-42
SLIDE 42

41

3 Approaches to Timing Recovery

TIMING RECOVERY & SAMPLING EQUALIZATION DECODER TIMING RECOVERY EQ DECODE TURBO EQ DECODER

Conventional: 3-Way Per-Survivor Iterative Timing Recovery:

PS-BCJR

Iterative Timing Recovery:

slide-43
SLIDE 43

42

Per-Survivor Processing

  • A general framework for estimating Markov process with unknown

parameters and independent noise

  • Basic idea: Add a separate estimator to each survivor of Viterbi algorithm
  • Has been applied to channel identification, adaptive sequence detection,

carrier recovery

  • Application to timing recovery [Kovintaveat et al., ISCAS 2003]:

❏ Start with traditional Viterbi algorithm on PR trellis ❏ Run a separate PLL on each survivor, based on its decision history ❏ Motivations: ➊ PLL is fully trained whenever correct path is chosen! ➋ Can avoid decision delay altogether

[Raheli, Polydoros, Tzou 91-95]

slide-44
SLIDE 44

43

Motivation: Exploit PSP concept in iterative receiver: Problem: BCJR algorithm has no “survivors”. Proposal: Add depth-one “survivor” for purposes of timing recovery only. The result is PS-BCJR ❏ Start with traditional BCJR algorithm on PR trellis ❏ Embed timing-recovery process inside ❏ Run multiple PLL’s in parallel, one for each “survivor”

DECODER

PS-BCJR

Per-Survivor BCJR?

slide-45
SLIDE 45

44

Key: Each node p ∈{0,1,2,3} in trellis at time k has its own

  • τk(p), an estimate of the timing offset τk.
  • rk(p) = rk(kT + τk(p)), corresponding sample

The branch metrics depend on samples of the starting state:

… …

PS-BCJR Branch Metric

τk(0) τk(1) τk(2) τk(3) γk(2,1) = exp{– | rk(2) – d(2,1)|2⁄ (2σ2) + a(2,1) λk

a ⁄ 2}

0 [– ,– ] 1 [+,– ] 2 [– ,+] 3 [+,+]

slide-46
SLIDE 46

45

           

Per-Survivor BCJR: Forward Recursion

Associate with each node p ∈{0,1,2,3} at time k the following:

  • forward metric αk( p)
  • predecessor πk(p)
  • forward timing offset estimate τk(p)

αk+1(1) = 7 × 3 + 9 × 5 = 66

7 8 9 10 2 3 4 5 1 2 3 1

πk+1(1) = argmax0,2{7 × 3, 9 × 5} = 2 τk+1(1) = τk(2 ) + µ(rk(2)d(πk(2),2) – rk–1(πk(2))d(2,1))

    

r(kT + τk(2)) r((k–1)T + τk–1(πk(2)))

Notation complicated, but idea is simple: update blue node timing using M&M PLL driven by the samples & inputs corresponding to blue branches. 1 2 3

slide-47
SLIDE 47

46

Backward Recursion

Associate with each node p ∈{0,1,2,3} at time k the following

  • backward metric βk(p )
  • successor σk(p )
  • backward timing offset estimate τk

b(p)

           

βk(1) = 8 × 1 + 9 × 2 = 26

7 6 8 9 2 3 4 5 1 2 3 1

σk(1) = argmax2,3{8 × 1, 9 × 2} = 3 τk

b(1) = τk+1 b

(3) + µ(rk+1(σk+1(3))d(1,3) – rk(3)d(3,σk+1(3)))

    

r((k+1)T + τk+2

b (σk+1(3)))

r(kT + τk+1

b (3))

Again, update blue node timing using backward M&M PLL driven by samples & inputs corresponding to blue branches. 1 2 3

    

slide-48
SLIDE 48

47

Compare Forward/Backward Timing

Backward timing estimates can exploit knowledge of forward estimates. Option 1: Ignore forward estimates during backward pass. Option 2: Average backward with forward estimate whenever they differ by more than some threshold (say 0.1T) in absolute value.

slide-49
SLIDE 49

48

PRECODER

mk ak ck

1 1 ⊕ D2

New Encoder

1 ⊕ D ⊕ D3 ⊕ D4 1 ⊕ D ⊕ D4

PUNCTURE

π

S-RANDOM INTERLEAVER (s = 16) RATE-8 ⁄ 9 LENGTH 4095 RSC ENCODER

slide-50
SLIDE 50

49

TIMING RECOVERY & SAMPLING EQUALIZATION DECODER TIMING RECOVERY EQ DECODE TURBO EQ DECODER

Conventional: Per-Survivor Iterative Timing Recovery:

PSP-BCJR

3-Way Iterative Timing Recovery:

Compare 3 Systems

Complexity = #IT × (PLL + BCJR + DEC) Complexity = #IT × (8 × PLL + BCJR + DEC)

slide-51
SLIDE 51

50

Moderate Random Walk (σw ⁄ T = 0.5%)

4 4.5 5 5.5 6 10–6 10–5 10–4 10–3 10–2 10–1 SNR PER BIT, Eb ⁄ N0 (dB) BER CONVENTIONAL TIMING RECOVERY 1 ITERATION 100 (TRAINED PLL) (50, 100) 3-WAY PS (50) (KNOWN TIMING) ITERATIVE TIMING RECOVERY

slide-52
SLIDE 52

51

4 4.5 5 5.5 6 SNR PER BIT, Eb ⁄ N0 (dB) 10–6 10–5 10–4 10–3 10–2 10–1 BER

Severe Random Walk (σw ⁄ T = 1%)

slide-53
SLIDE 53

52 500 1000 1500 2000 2500 3000 3500 4000 −0.5T 0.5T T 1.5T 2T 2.5T

Timing Estimate Time (in bit periods)

2 5 1 I−CTR (50)

Actual τ

Example: PSP Corrects Quickly

ACTUAL τ PSP 2 PSP 2 PSP 5 PSP 1 NON-PSP , 50 ITERATIONS ITERATIVE TIMING RECOVERY TIMING ESTIMATE TIME (in BIT PERIODS) σw ⁄ T = 1%

slide-54
SLIDE 54

53

20 40 60 80 100 10–3 10–2 1 NUMBER OF ITERATIONS SECTOR-ERROR RATE 10–1 σw ⁄ T = 1% Eb ⁄ N0 = 5 dB (KNOWN TIMING) (TRAINED PLL) ITERATIVE PS ITERATIVE 3-WAY CONVENTIONAL

Convergence Rate: (σw ⁄ T = 1%)

slide-55
SLIDE 55

54

20 40 60 80 100 0.2 0.4 0.6 0.8 1

Pr[ SLIP AT ITERATION k | SLIP ]

How Long do Cycle Slips Persist?

NUMBER OF ITERATIONS, k ITERATIVE PS ITERATIVE 3-WAY σw ⁄ T = 1% Eb ⁄ N0 = 5 dB

slide-56
SLIDE 56

55

❍ Powerful codes permit low SNR ➢ conventional strategies fail ➢ exploiting code is critical ❍ Problem is solvable ❍ We described two strategies for iterative timing recovery ➢ Embed timing recovery inside turbo equalizer ➢ Automatically corrects for cycle slips ❍ Challenges remaining ➢ complexity ➢ close gap to known timing

Summary