ON THE ANALYSIS AND APPLICATION OF LDPC CODES . OLGICA MILENKOVIC UNIVERSITY OF COLORADO, BOULDER A joint work with: VIDYA KUMAR (Ph.D) STEFAN LAENDNER (Ph.D) DAVID LEYBA (Ph.D) VIJAY NAGARAJAN (MS)
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
OLGICA MILENKOVIC
UNIVERSITY OF COLORADO, BOULDER
A joint work with:
VIDYA KUMAR (Ph.D)
STEFAN LAENDNER (Ph.D)
DAVID LEYBA (Ph.D)
VIJAY NAGARAJAN (MS)
KIRAN PRAKASH (MS)
Noisy channels give rise to data errors: transmission or storage systems
Need powerful errorcontrol coding (ECC) schemes: linear or nonlinear
Linear EC Codes: Generated through simple generator or paritycheck matrix
Binary information vector(length k)
Code vector (word): (length n)
Key property: “Minimum distance of the code”, , smallest separation between two codewords
Rate of the codeR= k/n
Binary linear codes:
More than 40 years of research (19481994) centered around
Weights of errors that a code is guaranteed to correct
“Bounded distance decoding” cannot achieve Shannon limit
Tradeoff minimum distance for efficient decoding
LowDensity ParityCheck (LDPC) Codes
Gallager 1963, Tanner 1984, MacKay 1996
1. Linear block codes with sparse (small fraction of ones) paritycheck matrix
2. Have natural representation in terms of bipartite graphs
3. Simple and efficient iterative decoding in the form of belief propagation (Pearl, 19801990)
Most important consequence of graphical description: efficient iterative decoding
Message passing:
Variable nodes: communicate to check nodes their reliability (loglikelihoods)
Check nodes: decide which variables are not reliable and “suppress” their inputs
Small number of edges in graph = low complexity
Nodes on left/right with constant degree: regular code
Otherwise, codes termed irregular
Can adjust “degree distribution” of variables/checks
Variable nodes Check nodes
(Irregular degrees/codes)
Best performance over standard channels: long, irregular, randomlike LDPC codes
Have proportional to length of code, but correct many more errors
HOW CAN ONE SATISFY THESE CONSTRAINTS?
For “standard channels” (symmetric, binaryinput) the questions are mostly wellunderstood
BEC – considered to be a “closed case”
(Capacity achieving degree distributions, complexity of decoding, stopping sets, have simple EXIT chart analysis…)
Errorfloor greatest remaining unsolved problem!
For “nonstandard” channels still a lot to work on
Cyclerelated constraints
!
Trappingset related constrained
Encyclopedia of Sparse Codes on Graphs:
by D. MacKay
http://www.inference.phy.cam.ac.uk/mackay/codes/data.html
Laendner/Leyba/Milenkovic/Prakash: Allerton 2oo3, 2004, ICC 2004, IT 2004, IT 2005;
Tanner2000; Vasic and Milenkovic 2001; Kim, Prepelitsa, Pless 2002; Fossorier 2004
Irregular Codes
Codes with large girth
Masking…
P P P
P P P
P P P P r1
P P P P r2
P P P Pr3
P P P P r4
ci cj ck cl
LOW TO MODERATE RATE CODES:
Fan, 2000: Cycles exist if sum of exponents in closed path is zero modulo size (P)=q
Proper Array Codes (PAC): RowLabels {ri} form an Arithmetic Progression with common mean ri+1ri=a;
Improper Array Codes (IAC): RowLabels {ri} do not form an Arithmetic Progression;
i+j2k=0 mod q (CW3)
i+j2k=0 and i+2j3k=0 mod q (CW4)
s=10,1,5,14,25,57,88,122,198,257,280,...
s=20,2,7,18,37,65,99,151,220,233,545,...
s=30,3,7,18,31,50,105,145,186,230,289,...
s=1 0,1,3,4,9,10,12,13,27,28,30,38,...
s=2 0,2,3,5,9,11,12,14,27,29,30,39,...
s=3 0,3,4,7,9,12,13,16,27,30,35,36,...
Mathematical constructions: Joint work with N. Kashyap, Queen’s , University, AMS Meeting, Chicago 2004
are ordered difference sets as well
Ω is an (m+1)fold cycle invariant difference set over V
mod 7
where is the primitive element of GF(q2) , q odd prime
S =constructed as
Excellent performance for very low rate codes
Inherent property of both the decoding algorithm and code structure
APPROACH: Try to predict error floor (Richardson, 2003, 2004), or
Try to change the decoding algorithm
Observations leading to new decoding algorithm:
At “freezing” point, all values of variable messages are +1/1 and significant oscillations happen +1 → 1
Frozen activity lasts for 13 iterations: then “bad messages” propagate through the whole graph; can have jumps from 0.33 to 49.67
(Paper with S. Laendner, in preparation)
1000 good frames: Standard and modified message passing both take 7.4 iterations on average for correct decoding
Modified message passing never takes more than 16 iterations to converge
20 Bad frames (in MATLAB): Corrected 2/3 fraction of errors after 35, 41, 26, 119, 38, 98… iterations (standard failed even after 10000 iterations)
Can use slightly more complicated result from G.H.H to reduce number of iteration to 2030
Variable node
VARIABLE AND CHECK NODE ARCHITECTURE(JOINT WORK WITH N. JAYAKUMAR, S. KHATRI)Globecom 2004, TCAS 2005

Adder
PLA
From check 1
PLA
Adder
Adder
Array
Adder
Array
PLA
From channel
To checks
To variable
nodes
Adder
Adder
PLA
PLA

From check 2

Log(dv+1)+1 Stages of TwoInput Manchester Adders, Rabaey 2000
log(tanh) and arctanh PLAs
LDPC ENCODING: SHIFT AND ADDITION UNITS FOR QUASICYCLIC CODES
C/V Clusters
S3
S2
Check Node
Variable Nodes
S4 Bank
Ring of C/V Node Clusters
Clocking and Logic Control
Group variable/check nodes based on distance in code graph and place on adjacent fields in HP curve: proximity preserving
Throughput (Gbps)
Side of chip (mm)
Side of chip
(mm)
Power
(W)
Power
(W)
Flatout (max. duty cycle of 77.14%)
1479.4
11.0923
104.5185
Flat out (max. duty cycle of 77.14%)
369.8537
5.5461
30.4711
50% Duty cycle
958.9158
11.0923
83.6372
50% duty cycle (max. performance)
239.7289
5.5461
20.9093
Lower clock for practical applications
2
11.0923
13.3214
Lower clock for practical applications
2
5.5461
3.4406
CHIP PARAMETERS: 0.1 MICRON PROCESSEstimates for n=28800
Estimates for n=7200
NONSTANDARD CHANNELS
State transition probabilities:
p(B,G), p(G,B)
Binary symmetric channel transition probability
p(G), p(B)
B
G
1p(G)
1p(G)
Noise samples are outcomes of consecutive draws from urn, and Zi is one if ith ball was red and zero if black
Nagarajan and Milenkovic, IEEE CCEC, 2004
Gallager 1968: Linear codes can achieve capacity on any Discrete Memoryless Channel (DMC) when combined with “distribution shapers”
Mapping not 11
Rate loss?
McEliece, 2001: Attempts to use this scheme with RepeatAccumulate or LDPC codes failed
Biggest obstacle: cannot do “soft” demapping
Solution: Use soft Huffman encoding
(extension of idea by Hagenauer et.al. for joint sourcechannel coding)
In preparation: Leyba, Milenkovic 2005
Completion of codeword
“Interior bits”
BCJR Equations for trellis
Bit
Time
Largest achievable probability bias
Symbol Time
ITERATIVE DECODING OF CLASSICAL ALGEBRAIC CODES
APPLICATIONS FOR UNEQUAL ERROR PROTECTION
Idea put forward by Yedidia, Fossorier
Determine the coordinates i, j of the (non diagonal) largest element in
Yes
Is
No
Determine . Forset,
Set, and
Determine the rows l with . Set
Output
MAXIMUM CYCLE NUMBER (MC) ALGORITHMto identify all cycles
No attempt to minimize number of Auxiliary variables
Kumar, Milenkovic: CISS’2005, IEEE CTL 2005
Compute s the cardinality of the set
Compute D= .
Ifthen, . Update the values of sequentially.
CYCLE OVERLAP STRATEGY (COS)Determine B. Construct submatrix HB ofwith columns indexed by B.
Choice of matrix field representation and primitive polynomial, initial choice of paritycheck matrix
followed by cycle elimination for the binary paritycheck matrix
If are the values taken by the three variable nodes in RCF then,
If are the values taken by the three variable nodes in RCF then,
No guarantee/tuning possibility for degree of protection
fourcycles
C = {uu+v ; u in C1; v in C2 }
ADVANTAGES OF THE SCHEME:
TMS Threshold MultiStage
MRMS MultiRound MultiStage
Kumar, Milenkovic
Globecom 2004, TCOMM 2004
Channel Information
Decode v to
Decode v to
Decode v to
j times
Decode u to
Output
FLOWCHART OF MS, MSMR DECODEREquivalent noise variances