Upload
others
View
20
Download
0
Embed Size (px)
Citation preview
1
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
2
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
Motivation
3
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
Outline
4
Quasi-cyclic j=2 LDPC Codes
Typically, LDPC codes with column weights > 2 are considered; here we look at j=2 codesLow 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.
1111
1111
1111
1111
1111
1111
1111
1111
Parity check matrix
5
Quasi-cyclic j=2 LDPC Code Construction
Disjoint difference sets (DDS) LDPC codesPermutation matrix based LDPC codesGraph based LDPC codesRandom interleaver used with structured codes
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1 2 t=H [H H H ]1 2 1pσ σ σ −
=
I I I IH
I
6
Graph Based Large Girth j=2 LDPC Codes
Case 2…
Case 1 Case 2…
Case 1
Lemma 1. A j=2 LDPC code having girth g=12 and block length 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 number of codewords with minimum distance , where k is row weight.
2( 1)n k k k= − +
3 2min( ) ( 1) ( 1) / 6A d k k k k= − − +
min 6d =
Must avoid Case 1 and Case 2 to achieve girth 12
7
Encoding Algorithm
. . .
1ix
2ix
1kix
−
ip
'iq
t
1 2 1
1 2 1' ' ' '
1 2 1
k
k
i i i i
i i i i
k
p x x x
q p p p
t q q q
−
−
−
= ⊕ ⊕ ⋅⋅ ⋅ ⊕
= ⊕ ⊕ ⋅⋅ ⋅ ⊕
= ⊕ ⊕ ⋅⋅ ⋅⊕2# (1 2( 1) 2( 1) )( 2) 2op k k k n= + − + − − ≈
The parity bits can be computed from the information bits as follows:
linear encoding complexity!
⊕
8
Word Error Rates for j=2 codes over AWGN
3.5 4 4.5 5 5.5 6 6.510
-5
10-4
10-3
10-2
10-1
100
Eb/N0 (dB)
WER
ML Bound, code(456, k=8)Simulation, code(456, k=8)ML Bound, code(5526, k=18)Simulation, code(5526, k=18)
( ) ( )min
0 min min 0( ) 2 / ( ) 2 /N
E b bd d
P A d Q d R E N A d Q d R E N=
≤ ⋅ ⋅ ≈ ⋅ ⋅∑
ML union bound
Iterative soft decoding is fairly close to ML decoding for these codes
Rate R = 1-(2/k)
9
Density Evolution Analysis
Channel Detector
LDPC Decoder
0/bE N
C
inSNR
C
outSNR L
inSNR L
outSNR
0/( , )C C
out in bCSNR SNR E Nf=( )L L
out inLSNR SNRf=
Track the evolution of the probability density function (pdf)
Assume infinite block length and Gaussian pdf, define 2 2/SNR m σ=
LLR-20 -10 0 10 20
0
0.5
1
No
rmal
ized
pd
f
DE of EPR4, SNR=5.0dB, rate8/9
Iter 1...5
Empirically measured histogramsof an EPR4 channel detectorat SNR = 5.0 dB
10
0 1 2 3 4 5 60
1
2
3
4
5
6
7
8
SNRCin (dB)
SNRCout (dB)
PR4EPR4EEPR4PR1PR2PR3EPR4, 1/(1+D2)
Extrinsic Information Transfer Functions
0/( , 4.75 )C C
out in bCSNR SNR E Nf dB= =
3 3.5 4 4.5 5 5.5 60
1
2
3
4
5
6
7
8
SNRLi n
SN
RL o
ut
j=2j=3j=4j=6
( )L L
out inLSNR SNRf=
LDPC Decoder
L
inSNR L
outSNR
ChannelDetector
0/b
E N
C
inSNR
C
outSNR
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
SNR
Cou
t
11
Estimated Vs. Simulated BER for AWGN
Larger girth estimates and simulation results are closer than for small girth
3 4 5 6 7 8 910
-8
10-7
10-6
10-5
10-4
10-3
10-2
Eb/N
0 (dB)
BE
R
Estimate, 2 iterEstimate, 4 iterEstimate, 6 iterEstimate, 7 iterS imulated, 2 iterS imulated, 4 iterS imulated, 6 iterS imulated, 7 iter
4 26
j=2, LDPC
N=5526
Girth g=12
Rate=8/9
3 4 5 6 7 8 9 1010
-10
10-8
10-6
10-4
10-2
Eb/N
0 (dB)
BE
R
Estimate , 1 iterEstimate , 2 iterEstimate , 3 iterS imulated, 1 iterS imulated, 2 iterS imulated, 3 iter
j=4, LDPC
N= 4360
Girth g=6
Rate = 0.9394
12
BER for PR Channels
2 3 4 5 6 7 8 9 100
2
4
6
8
10
12
14
16
18
20
SNRLin
, SNRCout
SN
RL o
ut, S
NR
C in
j=2 LDPC decoderchannel detector
fixed points
PR4 predicted BER and simulated BER match well
At high SNRs, all three PR targets yield similar BER performance
( ) ( )L L
out inSNR SNR fixed SNR fixed= + ( )BER Q SNR=
0
4.0 : 0.5 : 7.0bEdB
N=
4 4.5 5 5.5 6 6.5 7
10-6
10-5
10-4
10-3
10-2
10-1
Eb/N
0(dB)
BE
R
PR4EPR4PR2Predicted (PR4)
3 Channeldecoding iterations
13
Single Convolutional Code as Outer Code
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
3 4 5 6 7 8
10-6
10-5
10-4
10-3
10-2
10-1
SNR (dB)
BER
PR4EPR4EEPR4E3PR4PR1PR2PR3j=2 code
3 4 5 6 7 8 9 100
5
10
15
20
25
30
SNRCin
SN
RCo
ut
Conv.(31,23)8j=2 LDPC codej=6 LDPC code
BE
R
14
Density Evolution Vs. Simulations
2 3 4 5 6 70
1
2
3
4
5
6
7
8
9
10
SNRLin, SNRC
out
SN
RL o
ut,
SNR
C in
EPR4, w/o precodingEPR4, w precodingj=2 LDPC code, 3 iterj=3 LDPC code, 3 iter
4 4.5 5 5.5 6 6 .5 7 7.5 810
- 6
10- 5
10- 4
10- 3
10- 2
10- 1
Eb/N0 (dB)
BE
R
uncoded EPR4j=2 DD S LDPC, no precodingj=2 DD S LDPC, 1/(1+D2)j=3 random LDPCj=4 random LDPC
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”.
15
Block Error Statistics
j=2 LDPC code exhibits block error statistics more compatible with an outer Reed-Solomon (RS) code, due to wider “tunnel”.
0 5 10 15 20 250
5000
10000
15000
SNR=5.5 BER=9.6e-005 Blocks=167072
0 2 4 6 8 10 12 14 160
5000
10000
15000 SNR=5.625 BER=6.1e-005 Blocks=228894
# o
f blo
cks
0 1 2 3 4 5 6 7 8 9 10 11 12 13 140
2000
4000
6000 SNR=5.75 BER=3.7e-005 Blocks=155269
# of errors
0 20 40 60 80 100 120 140 1600
50
100
SNR=5.375 BER=8.4e-5 Blocks=38599
0 50 100 1500
10
20
30
SNR=5.5 BER=7.6e-6 Blocks=19728
# of
blo
cks
0 20 40 60 80 1000
10
20
30
SNR=5.625 BER=8.9e-7 Blocks=162492
# of errors
j=2 LDPC code j=3 LDPC code
16
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.
Conclusions