Low Complexity LDPC Codes for Partial Response ... - CMU (ECE)

5 downloads 0 Views 589KB Size Report
Nov 20, 2002 - Density evolution analysis of LDPC codes concatenated ..... j=2 LDPC code worse than the convolutional code for low SNR, better at high SNR ...
Low Complexity LDPC Codes for Partial Response Channels Hongwei Song Vijayakumar Bhagavatula Data Storage Systems Center Carnegie Mellon University Pittsburgh, PA 15213 November 20, 2002

[email protected]

1

Motivation ƒ As hard disk drive densities are pushed towards Tb/in2, channels must cope with ƒ Low SNRs (7 to 12 dB) ƒ High ISI (PW50/T >3) ƒ Data rates needed are Gbps and faster ƒ Corrected BER requirements are 10-12 to 10-15 ƒ Current PRML approaches will not be good enough ƒ Codes must be of high rate (8/9 and higher) ƒ Investigating the use of low-complexity, high-rate LDPC codes to meet above goals 2

Outline ƒ Systematic construction of column weight j=2 LDPC codes ƒ Girth and distance property of constructed j=2 codes. ƒ Density evolution analysis of LDPC codes concatenated with partial response channels ƒ Simulation results

3

Quasi-cyclic j=2 LDPC Codes ƒ Typically, LDPC codes with column weights > 2 are considered; here we look at j=2 codes ƒ Low complexity encoding and decoding implementation (bandwidth and memory). ƒ Lower computational complexity due to smaller column weight j=2. ƒ Short cycle free, i.e., girth g=8 or 12. ƒ Minimum distance dmin and its multiplicity A(dmin) can be easily computed. 1

1 1

1 1 1

1 1

1 1

1 1

1 1

1 1

1 1

1 1

1

1 1

1 1 1

1 1

1

1 1

1

Parity check matrix 4

Quasi-cyclic j=2 LDPC Code Construction ƒ ƒ ƒ ƒ

Disjoint difference sets (DDS) LDPC codes Permutation matrix based LDPC codes Graph based LDPC codes Random interleaver used with structured codes H = [H1

1

1 1

1 1 1

1

1 1

1 1 1

1

1

1

1 1

1

1

1

1

1

1

1

1

1

1 1

1 1

1 1

1

1 1

1

1

1 1

1

1 1

1

1 1

1 1

1 1

1

1

1 1

1

1

1 1

1

I " I  I I H= 1 2 p −1  I σ σ " σ 

" Ht ]

H2

1

1 1

1 1

1

5

Graph Based Large Girth j=2 LDPC Codes

Case 1

Case 2



Lemma 1. A j=2 LDPC code having girth g=12 and block length n = k (k 2 − k + 1) exists, if k-1 is a prime number, where k is the row weight. Lemma 2. A j=2 LDPC code constructed in Lemma 1 has A(d min ) = k (k − 1)3 (k 2 − k + 1) / 6 number of codewords with minimum distance d min = 6 , where k is row weight.

Must avoid Case 1 and Case 2 to achieve girth 12 6

Encoding Algorithm t

qi '

pi ⊕ ...

xi1

xi2

xik −1

The parity bits can be computed from the information bits as follows: pi = xi1 ⊕ xi2 ⊕ ⋅⋅ ⋅ ⊕ xik −1 qi ' = pi '1 ⊕ pi '2 ⊕ ⋅⋅ ⋅ ⊕ pi 'k −1 t = q1 ⊕ q2 ⊕ ⋅ ⋅ ⋅ ⊕ qk −1

# op = (1 + 2( k − 1) + 2( k − 1)2 )(k − 2) ≈ 2n linear encoding complexity! 7

Word Error Rates for j=2 codes over AWGN 0

10

ML Bound, code(456, k=8) Simulation, code(456, k=8) ML Bound, code(5526, k=18) Simulation, code(5526, k=18)

-1

10

-2

W E R

10

Rate R = 1-(2/k) -3

10

-4

10

-5

10

3.5

4

4.5

5

5.5

6

6.5

Eb/N0 (dB)

ƒ

ML union bound N

PE ≤



d = d min

ƒ

A( d )Q

(

)

2d ⋅ R ⋅ Eb / N 0 ≈ A( d min )Q

(

2d min ⋅ R ⋅ Eb / N 0

)

Iterative soft decoding is fairly close to ML decoding for these codes 8

Density Evolution Analysis ƒ Track the evolution of the probability density function (pdf) ƒ Assume infinite block length and Gaussian pdf, define SNR = m 2 / σ 2 Eb / N 0

SNRin

Channel Detector

L

SNRin

L

SNRout

LDPC Decoder

C

SNRout

= fC ( SNRinC , Eb / N 0 )

SNRout = f L ( SNRin ) L

L

DE of EPR4, SNR=5.0dB, rate8/9 1

Normalized pdf

C

C

SNRout

0.5

Iter 1...5

0

Empirically measured histograms of an EPR4 channel detector at SNR = 5.0 dB -20

-10

0

10

20

LLR

9

Extrinsic Information Transfer Functions 8

8 L

7

6

6

5

5

SNRin

L

LDPC Decoder

SNRout

SNRLo ut

SNRCout

) B d( t u o C R N S

7

4

4 3

E /N b

2

C

SNRin

1 0 0

0

C

Channel SNRout Detector

1

2

3

3

PR4 EPR4 EEPR4 PR1 PR2 PR3 EPR4, 1/(1+D2) 4

5

2

j=2 j=3 j=4 j=6

1 0

3

3.5

4

4.5

6

SNR Cin (dB)

SNRout = fC ( SNRin , Eb / N 0 = 4.75dB ) C

C

5

5.5

6

SNRLin

SNRout = f L ( SNRin ) L

L

ƒ Transfer functions of PR channel (computed via Monte-Carlo) without precoder flatten out and saturate to the same output. ƒ LDPC code with column weight j=2 provides higher output SNR than codes with j>2 for low input SNR; situation reverses at high input SNR

10

Estimated Vs. Simulated BER for AWGN -2

-2

10

10

E stimate , 1 iter E stimate , 2 iter E stimate , 3 iter S imulate d, 1 iter S imulate d, 2 iter S imulate d, 3 iter

-4

-3

10

-4

10

BER

BER

10

-6

10

j=4, LDPC N= 4360 Girth g=6 Rate = 0.9394

-8

10

-5

10

j=2, LDPC N=5526 Girth g=12 Rate=8/9

-6

10

-7

10

6

2

4

-8

-10

10

E stimate , 2 iter E stimate , 4 iter E stimate , 6 iter E stimate , 7 iter S imulate d, 2 iter S imulate d, 4 iter S imulate d, 6 iter S imulate d, 7 iter

3

4

5

6 7 E b /N0 (dB)

8

9

10

10

3

4

5

6

7

8

9

Eb /N0 (dB)

ƒ Larger girth estimates and simulation results are closer than for small girth

11

BER for PR Channels -1

20 18 16

j=2 LDPC decoder channel detector

PR4 EPR4 PR2 Predicted (PR4)

-2

10

Eb = 4.0 : 0.5 : 7.0dB N0

-3

12 10 8

10

3 Channel decoding iterations

BER

C SNRLout , SNRin

14

10

-4

10

6 4

-5

fixed points

10

2 -6

0 2

10 3

4

5

6

7

8

9

10

SNRLin , SNRCout

4

5

5.5

6

Eb /N0 (dB)

SNR = SNRout ( fixed ) + SNRin ( fixed ) L

4.5

L

BER = Q

(

SNR

6.5

7

)

ƒ PR4 predicted BER and simulated BER match well ƒ At high SNRs, all three PR targets yield similar BER performance 12

Single Convolutional Code as Outer Code 30

PR4 EPR4 EEPR4 E3PR4 PR1 PR2 PR3 j=2 code

-1

Conv.(31,23)8

10

j=2 LDPC code j=6 LDPC code

25

-2

10

-3

10

BER

SNRCout

20

15

R E B

10

-4

10

-5

10

5

-6

0

10 3

4

5

6

7 C

SNR in

ƒ ƒ ƒ ƒ

8

9

10

3

4

5

6

7

8

SNR (dB)

BER curves based on single rate 8/9 RSC (31,23)8 concatenated with PR At low SNR, PR1 and PR4 are better Different PR channels have similar BER performance at high SNR j=2 LDPC code worse than the convolutional code for low SNR, better at high SNR; both suffer error floor

13

Density Evolution Vs. Simulations -1

10

10 EPR4, w/o precoding EPR4, w precoding j=2 LDPC code, 3 iter j=3 LDPC code, 3 iter

9 8

uncoded EPR4 j=2 DD S LDPC, no precoding 2 j=2 DD S LDPC, 1/(1+D ) j=3 random LDPC j=4 random LDPC

-2

10

-3

6

BER

10

5

L

C

SNRout, SNRi n

7

-4

4

10

3 2

-5

10

1 0

-6

2

3

4 5 L C S NR in , SNR out

6

7

10

4

4.5

5

5.5

6

6 .5

7

7.5

8

Eb /N0 (dB )

ƒ j=2 LDPC code with proper precoding outperforms LDPC codes with j≥3, while precoding adds little complexity to encoding and decoding. ƒ LDPC codes with j≥3 have narrow “tunnel” compared to j=2 code, which results in significantly different block error statistics. ƒ Inclusion of precoding narrows the “tunnel”. 14

Block Error Statistics j=3 LDPC code

j=2 LDPC code 100

15000

SNR=5.375 BER=8.4e-5 Blocks=38599

SNR=5.5 BER=9.6e-005 Blocks=167072

10000

50

5000 0

5

10

15

20

0

20

40

60

80

100

120

140

160

30

15000

SNR=5.625 BER=6.1e-005 Blocks=228894

10000 5000 0

0

25

0

2

4

6

8

10

12

14

16

# of blocks

# of blocks

0

SNR=5.5 BER=7.6e-6 Blocks=19728

20 10 0

0

50

100

150

30 6000

SNR=5.75 BER=3.7e-005 Blocks=155269

SNR=5.625 BER=8.9e-7 Blocks=162492

20

4000

10

2000 0

0

1

2

3

4

5

6

7

8

# of errors

9 10 11 12 13 14

0

0

20

40

60 # of errors

80

100

ƒ j=2 LDPC code exhibits block error statistics more compatible with an outer Reed-Solomon (RS) code, due to wider “tunnel”. 15

Conclusions ƒ Systematic construction of column weight j=2 LDPC codes ƒ Investigated girth and distance properties ƒ Sum-product algorithm is fairly close to ML decoding for these codes. ƒ j=2 LDPC code exhibits block error statistics more compatible with an outer RS code, attractive for magnetic recording channels.

16