Date post: | 14-Apr-2018 |
Category: |
Documents |
Upload: | kathleen-franklin |
View: | 217 times |
Download: | 0 times |
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]
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.