+ All Categories
Home > Documents > Bit Flipping Decoding Algorithms for LDPC Codes

Bit Flipping Decoding Algorithms for LDPC Codes

Date post: 14-Apr-2018
Category:
Upload: kathleen-franklin
View: 217 times
Download: 0 times
Share this document with a friend
39
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: [email protected]
Transcript
Page 1: 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: [email protected]

Page 2: 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 2/39

18. March 2010

Outline of presentation

LDPC codesParity-check property

CharacteristicsDescription

Encoding

LDPC codes decoding“soft” decision decoding

“hard” decision decoding

Page 3: 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 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

Page 4: 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 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

Page 5: 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 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

Page 6: 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 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 ]

Page 7: 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 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]

Page 8: 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 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]

Page 9: 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 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)

Page 10: 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 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

Page 11: 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 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:

Page 12: 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 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 ×=

Page 13: 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 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

Page 14: 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 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

Page 15: 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 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

Page 16: 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 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

Page 17: 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 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

Page 18: 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 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

Page 19: 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 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)

Page 20: 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 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

Page 21: 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 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  α α 

Page 22: 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 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∈

=

Page 23: 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 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

Page 24: 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 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

Page 25: 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 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

Page 26: 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 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

Page 27: 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 27/39

18. March 2010

“Guaranteed” bits – short example

=

010001100

001100010100010001

100100100

010010010

001001001

H

[ ]000000000=c

Page 28: 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 28/39

18. March 2010

“Guaranteed” bits – short example

=

010001100

001100010100010001

100100100

010010010

001001001

H

[ ]000000000=c

Page 29: 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 29/39

18. March 2010

“Guaranteed” bits – short example

=

010001100

001100010100010001

100100100

010010010

001001001

H

[ ]000000000=c

Page 30: 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 30/39

18. March 2010

“Guaranteed” bits – short example

=

010001100

001100010100010001

100100100

010010010

001001001

H

[ ]000000000=c

Page 31: 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 31/39

18. March 2010

“Guaranteed” bits – short example

=

010001100

001100010100010001

100100100

010010010

001001001

H

[ ]000000000=c

OK

OK

Page 32: 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 32/39

18. March 2010

Average number of “Guaranteed” bits

Page 33: 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 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

∞−

Page 34: 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 34/39

18. March 2010

WBF vs. Fast WBF comparison

Page 35: 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 35/39

18. March 2010

BF algorithms - comparison

Page 36: 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 36/39

18. March 2010

BF vs. “soft” decoding - comparison

Page 37: 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 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

Page 38: 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 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

Page 39: 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 39/39

h

 Thank you for your attention.


Recommended