Bit Flipping Decoding Algorithms for LDPC Codes

Post on 14-Apr-2018

230 views 0 download

Transcript of Bit Flipping Decoding Algorithms for LDPC Codes

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 1/39

18. March 2010

Bit Flipping Decoding

Algorithms for LDPC codes

Author:

Miroslav Vanek

e-mail: miroslav.vanek@alcatel-lucent.com

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 2/39

18. March 2010

Outline of presentation

LDPC codesParity-check property

CharacteristicsDescription

Encoding

LDPC codes decoding“soft” decision decoding

“hard” decision decoding

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 3/39

18. March 2010

Outline of presentation

“Hard” decision decoding Principles

Algorithms Gallager algorithms

Weighted Bit Flipping algorithm

Parallel Weighted Bit Flipping algorithm

Fast Parallel Weighted Bit Flipping algorithm

Results

Conclusion

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 4/39

18. March 2010

LDPC codes

Introduced by R. Gallager (1964) part of his PhD. Thesis

left unused for more than 30 years

Subset of Linear Block Codes linear property:

same length of each codeword Parity – Check codes

C cc ∈+ 21

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 5/39

18. March 2010

LDPC codes, parity-check property

Standard parity-check codes Checksum generated according to Truth table:

Example of encoding: Data = [1 1 1 1 1 1]

Encoded message = [1 1 1 1 1 1 0]

 A B X-OR

0 0 00 1 1

1 0 1

1 1 0

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 6/39

18. March 2010

LDPC codes, parity-check property

LDPC codesusing the same principal with Truth table as

common parity-check codes

more parity-check bits added to the messageAlso parity-check bits are involved in parity-

check equation

Example of encoding: Data = [1 1 1 1 1 1]

Encoded message = [1 1 1 1 1 1 | 1 ]

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 7/39

18. March 2010

LDPC codes, parity-check property

LDPC codesusing the same principal with Truth table as

common parity-check codes

more parity-check bits added to the messageAlso parity-check bits are involved in parity-

check equation

Example of encoding: Data = [1 1 1 1 1 1]

Encoded message = [1 1 1 1 1 1 | 1 0]

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 8/39

18. March 2010

LDPC codes, parity-check property

LDPC codesusing the same principal with Truth table as

common parity-check codes

more parity-check bits added to the messageAlso parity-check bits are involved in parity-

check equation

Example of encoding: Data = [1 1 1 1 1 1]

Encoded message = [1 1 1 1 1 1 | 1 0 0]

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 9/39

18. March 2010

LDPC codes

Code Description: sparse Parity – Check Matrix (matrix of huge dimensions)

graphical representation (Tanner Graph)

Main characteristics: high performance (theoretically achieving Shannon limit)

reliability

increased need for computing resources in LDPC decoders successfully implemented in various standards (WiMAX)

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 10/39

18. March 2010

Parity – Check Matrix

=

010001100001100010

100010001

100100100

010010010

001001001

H

parity - check matrix

regular

irregular

defines parity – check equations for each codeword

if is a codeword, then: 0Hc =×T 

c

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 11/39

18. March 2010

Parity – Check matrix: graphical representation

1 z

2 z

3 z

4 z

5 z

6 z

1c

2c

3c

4c

5c

6c

7c

8c

9c

checknodes

variablenodes

 Tanner graph:

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 12/39

18. March 2010

Encoding of LDPC codes

Possibility of encoding using standard principlesof linear codes encoding:

Due to large dimensions of control matrix H, it isdifficult to create generation matrix G

Direct encoding algorithms – encoding based oncontrol matrix H instead of generation matrix H encoder based on triangulation of control matrix

Gic ×=

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 13/39

18. March 2010

Decoding of LDPC codes

Performance of ECC strongly dependent ondecoding process

Iterative decoding algorithms

sequential repair of erroneous bits instead of 

searching for closest codeword in code space

Hard and Soft decision decoding algorithms

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 14/39

18. March 2010

Decoding of LDPC codes

Hard decision decoding simple decoder construction

input values are not considering the channel information

bit flipping algorithms faster convergence with significant impact on error correcting

characteristics

Soft decision decoding

complicated decoder construction channel information is considered in decoding process

message passing algorithms

slow converging, but more powerful methods of decoding

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 15/39

18. March 2010

Hard decision decoding –Bit Flipping decoding

Principles of Bit Flipping decoding

Define parity-check equations from control matrix H Based on parity-check equations define evaluation

metrics

Results of this metrics defines a set of bits to be

flipped Flip the values of selected bits

Check the result and proceed to next iteration

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 16/39

18. March 2010

Gallager algorithm – type A

Basic hard decision bit flipping algorithm for LDPCdecoding

Simple construction of decoder – only comparator andXOR elements used

 Tanner graph used for making decisions

Particular bit is considered to be correct – all check nodeit influences are satisfied

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 17/39

18. March 2010

Gallager algorithm, type A -algorithm

Check all parity-check equations If all of them are satisfied -> end decoding

Find the number of all unsatisfied parity-check equationsfor all received bits

If this number for particular bit = overall number of its

parity-check nodes -> flip this bit

Check the stopping criteria and proceed to next iteration

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 18/39

18. March 2010

Gallager algorithm, type A -

example

1 z

2 z

3 z

4 z

5 z

6 z

1c

2c

3c

4c

5c

6c

7c

8c

9c

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 19/39

18. March 2010

Gallager algorithm – type B

Using the same principle as type A algorithm

Particular bit is flipped also in case, that not all of parity-check equations are unsatisfied (thresholdapproach)

Ability to adapt the algorithm during theencoding process (threshold adaptation)

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 20/39

18. March 2010

Gallager algorithm, type B -

example Let threshold t=1

1 z

2 z

3 z

4 z

5 z

6 z

1c

2c

3c

4c

5c

6c

7c

8c

9c

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 21/39

18. March 2010

Weighted Bit Flipping algorithm

Description:

smoothing the difference between simple BF and soft decoding

Simple algorithm

Iterative approach Flips only that bit of codeword, for which metric

achieves the maximum value

Slow convergence due to flipping only one bit per iteration

∑∈

−−=)(

,)12()(n M m

nmnmn yws E  α α 

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 22/39

18. March 2010

WBF - algorithm

Count syndrome components for all check nodes

Count evaluation metrics for each bit of received codeword

Flip the bit with highest value of En

Check the final codeword and proceed to next iteration

∑ ⋅=n

nnmmzhs

,

∑∈

−−=)(

,)12()(n M m

nmnmnyws E  α α 

inm N i

mn yw\)(

, min∈

=

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 23/39

18. March 2010

Parallel Weighted Bit Flipping algorithms

Description:

Improving WBF algorithms in the way of convergence

time and number of iterations

Introduces the ability of parallel flipping of several bitsin one iterations

Parallelization allows to improve speed of decodingand even improve overall performance of decoder

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 24/39

18. March 2010

PWBF - algorithm

Count syndrome component for each parity –check equation

Count the metric from WBF algorithm for each

bit of received codeword Each unsatisfied parity – check equation “votes”

for one bit to be flipped

If the number of votes for particular bit exceedsthe threshold, this bit is flipped

All bits are flipped in parallel

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 25/39

18. March 2010

PWBF - example1 z 2 z 3 z 4 z 5 z 6 z

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

12 45 2 4 1 2 5

 Threshold = 3

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 26/39

18. March 2010

Fast PWBF algorithm –

“Guaranteed” bits approach Analogy with Gallager algorithm – type A

Each transmitted codeword contains bits transmittedwithout error (this bits are called “Guaranteed”)

Set of guaranteed bits is identified using parity – checkequations

Bit is marked as “Guaranteed” only if all the parity –check equations, in which this bit participates are

satisfied If bit is marked as “Guaranteed”, it is not necessary to

decide, weather this bit needs to be flipped or not

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 27/39

18. March 2010

“Guaranteed” bits – short example

=

010001100

001100010100010001

100100100

010010010

001001001

H

[ ]000000000=c

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 28/39

18. March 2010

“Guaranteed” bits – short example

=

010001100

001100010100010001

100100100

010010010

001001001

H

[ ]000000000=c

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 29/39

18. March 2010

“Guaranteed” bits – short example

=

010001100

001100010100010001

100100100

010010010

001001001

H

[ ]000000000=c

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 30/39

18. March 2010

“Guaranteed” bits – short example

=

010001100

001100010100010001

100100100

010010010

001001001

H

[ ]000000000=c

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 31/39

18. March 2010

“Guaranteed” bits – short example

=

010001100

001100010100010001

100100100

010010010

001001001

H

[ ]000000000=c

OK

OK

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 32/39

18. March 2010

Average number of “Guaranteed” bits

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 33/39

18. March 2010

Introduction to Fast PWBF algorithm

Based on principles of standard PWBF algorithm

Using “Guaranteed” bits approach speeds – up theconvergence

Algorithm changes:

in each iteration, “Guaranteed” bits are found for receivedcodeword

for “Guaranteed” bits, no evaluation metrics needs to be

calculated and its value is set to directly  This approach leads to approximately 25% savings of 

computational time without any visible decrease of decodingperformance

∞−

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 34/39

18. March 2010

WBF vs. Fast WBF comparison

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 35/39

18. March 2010

BF algorithms - comparison

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 36/39

18. March 2010

BF vs. “soft” decoding - comparison

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 37/39

18. March 2010

Conclusion

LDPC codes: “future of Coding Theory”

Importance of decoding

Hard vs. Soft decision decoding

Hard decision decoding – space for improvement

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 38/39

18. March 2010

References: R. Gallager, “Low Density Parity-Check codes”, MIT Press, Cambridge, MA,

1963

Kou Y., Lin S., Fossorier M., “Low density parity check codes based onfinite geometries: a rediscovery and more”, IEEE Trans. on Inform. Theory,vol. 47, Nov. 2001, pp. 2711 – 2736

 J . Zhang and M. Fossorier, “ A modified weighted bit – flipping decoding of low density parity – check codes”, IEEE Commun. Lett., vol. 8, Mar. 2004,pp. 165 – 167

Wu X., Zhao Ch., You X., “Parallel weighted Bit – Flipping decoding”, IEEECommunications letters, vol. 11, no. 8, August 2007, pp. 671 – 673

M. J iang, X. Enyang, C. Zhao, X. You, “Towards Understanding WeightedBit-Flipping Decoding”, National Mobile Commun. Research Lab.,Suotheast University, Nanjing, China

7/30/2019 Bit Flipping Decoding Algorithms for LDPC Codes

http://slidepdf.com/reader/full/bit-flipping-decoding-algorithms-for-ldpc-codes 39/39

h

 Thank you for your attention.