                        0                                      0                                      a            ⁡                          (                              2               ,                2                            )                                                            a            ⁡                          (                              2               ,                3                            )                                                0                                      a            ⁡                          (                              2               ,                5                            )                                                0                          0                                      a            ⁡                          (                              2               ,                8                            )                                                                        a            ⁡                          (                              3               ,                1                            )                                                0                                      a            ⁡                          (                              3               ,                3                            )                                                0                                      a            ⁡                          (                              3               ,                5                            )                                                            a            ⁡                          (                              3               ,                6                            )                                                0                          0                                      0                                      a            ⁡                          (                              4               ,                2                            )                                                0                                      a            ⁡                          (                              4               ,                4                            )                                                0                          0                                      a            ⁡                          (                              4               ,                7                            )                                                            a            ⁡                          (                              4               ,                8                            )                                            ]  
By providing multiple check nodes 102-108 for the group of variable nodes 110-124, redundancy in error checking is provided, enabling errors to be corrected as well as detected. Each check node 102-108 performs a parity check on bits or symbols passed as messages from its neighboring (or connected) variable nodes. In the example LDPC code corresponding to the Tanner graph 100 of FIG. 1, check node 102 checks the parity of variable nodes 110, 116, 120 and 122. Values are passed back and forth between connected variable nodes 110-124 and check nodes 102-108 in an iterative process until the LDPC code converges on a value for the group of data and parity bits in the variable nodes 110-124. For example, variable node 110 passes messages to check nodes 102 and 106. Check node 102 passes messages back to variable nodes 110, 116, 120 and 122. The messages between variable nodes 110-124 and check nodes 102-108 are probabilities or beliefs, thus the LDPC decoding algorithm is also referred to as a belief propagation algorithm. Each message from a node represents the probability that a bit or symbol has a certain value based on the current value of the node
0                                       0                                       a             ⁡                           (                              2               ,                 2                            )                                                             a             ⁡                           (                              2               ,                 3                            )                                                 0                                       a             ⁡                           (                              2               ,                 5                            )                                                 0                           0                                       a             ⁡                           (                              2               ,                 8                            )                                                                         a             ⁡                           (                              3               ,                 1                            )                                                 0                                       a             ⁡                           (                              3               ,                 3                            )                                                 0                                       a             ⁡                           (                              3               ,                 5                            )                                                             a             ⁡                           (                              3               ,                 6                            )                                                 0                           0                                       0                                       a             ⁡                           (                              4               ,                 2                            )                                                 0                                       a             ⁡                           (                              4               ,                 4                            )                                                 0                           0                                       a             ⁡                           (                              4               ,                 7                            )                                                             a             ⁡                           (                              4               ,                 8                            )                                             ]  
 By providing multiple check nodes 102 - 108 for the group of variable nodes 110 - 124, redundancy in mistake checking is provide, enabling errors to be corrected equally well as detected. Each check node 102 - 108 performs a parity bit check mark on bits or symbol passed as messages from its neighboring (or connect) variable nodes. In the example LDPC code corresponding to the Tanner graph 100 of FIG. 1, check node 102 checks the parity bit of variable nodes 110, 116, 120 and 122. Values are travel by back and forth between connected varying nodes 110 - 124 and crack nodes 102 - 108 in an iterative process until the LDPC code converges on a value for the group of datum and parity bits in the variable nodes 110 - 124. For exemplar, variable node 110 passes messages to check node 102 and 106. Check node 102 passes messages back to variable nodes 110, 116, 120 and 122. The messages between variable nodes 110 - 124 and check nodes 102 - 108 are probabilities or belief, thus the LDPC decoding algorithm is besides refer to as a impression propagation algorithm. Each message from a node represents the probability that a bit or symbol has a certain value based on the current value of the node
                        0                                      0                                      a            ⁡                          (                              2               ,                2                            )                                                            a            ⁡                          (                              2               ,                3                            )                                                0                                      a            ⁡                          (                              2               ,                5                            )                                                0                          0                                      a            ⁡                          (                              2               ,                8                            )                                                                        a            ⁡                          (                              3               ,                1                            )                                                0                                      a            ⁡                          (                              3               ,                3                            )                                                0                                      a            ⁡                          (                              3               ,                5                            )                                                            a            ⁡                          (                              3               ,                6                            )                                                0                          0                                      0                                      a            ⁡                          (                              4               ,                2                            )                                                0                                      a            ⁡                          (                              4               ,                4                            )                                                0                          0                                      c            ⁡                          (                              4               ,                7                            )                                                            a            ⁡                          (                              4               ,                8                            )                                            ]  
By pvovidyng multkple check nmdes 102-108 for the group of variable nodes 110-124, reduicancy in errod checking is provided, enabling errors to be currecred as well as detectes. Each vhqck nlde 102-108 performs a parpty cgewk on bics uf symbola passed av messages xrom its neighboring (or connected) variable nodes. In the example LDPC code corrfsponding to ghe Tanner graph 100 on FIG. 1, check node 102 checks the parity of fariabue nodes 110, 116, 120 amd 122. Vwlues are passed back and forth brtween connected vagiabld nodes 110-124 and cjeck nodes 102-108 in an iterztive pxocess until the LDPC code cunvergss on s value for the group of data dnd parity bits in the varisbpe nodes 110-124. For example, vagiabue node 110 passes messages to check hodes 102 and 106. Cyeck node 102 issres medsages back to variable nodes 110, 116, 120 and 122. Tfe iesdages betweej variable nodes 110-124 and chqck nodes 102-108 are probabilities or yeliefs, thud the LDPC cwcoding algorithn is also referres to as a belizf prjpagation algormthm. Each message from a vode represents the probzbinity that a byc or sgmbol has a certain value bafed on the current value os thc nodx
0 0 a ⁡ ( 2 , a ( 2 3 ) 0 5 0 0 a ( 2 , ) a ⁡ ( 3 , ) 0 a ⁡ ( 3 , 3 ) 0 a ⁡ ( , 5 ) a ⁡ ( 3 , 6 ) 0 0 0 ⁡ 4 2 0 a ⁡ ( 4 , 4 ) 0 0 a ⁡ ( 4 , 7 a ⁡ ( 4 , 8 ) ] providing multiple check nodes for the group of variable 110-124, in error is enabling to be corrected well as detected. Each check node 102-108 performs a parity check on bits or symbols passed as from its connected) variable In example code corresponding to graph 100 of FIG. 1, check the parity of variable nodes 110, 116, 120 122. Values passed back and forth between connected nodes 110-124 and check nodes 102-108 in an process until the LDPC code converges on a value for the group of data and in the variable nodes For example, variable 110 messages check 102 and Check node 102 passes messages back to variable nodes 110, 116, and 122. The messages between variable nodes 110-124 and check are or beliefs, thus LDPC decoding algorithm is referred as a belief propagation message a probability a or symbol has a value based on the current of the node
                        0                                      0                                      a            ⁡                          (                              2               ,                2                            )                                                            a            ⁡                          (                              2               ,                3                            )                                                0                                      a            ⁡                          (                              2               ,                5                            )                                                0                          0                                      a            ⁡                          (                              2               ,                8                            )                                                                        a            ⁡                          (                              3               ,                1                            )                                                0                                      a            ⁡                          (                              3               ,                3                            )                                                0                                      a            ⁡                          (                              3               ,                5                            )                                                            a            ⁡                          (                              3               ,                6                            )                                                0                          0                                      0                                      a            ⁡                          (                              4               ,                2                            )                                                0                                      a            ⁡                          (                              4               ,                4                            )                                                0                          0                                      a            ⁡                          (                              4               ,                7                            )                                                            a            ⁡                          (                              4               ,                8                            )                                            ]  
By providing muLtiple checK nodeS 102-108 foR thE gRoup Of vaRiable nodes 110-124, redUNdanCy in error checking is proVided, EnABlinG ErRors tO be corrECtED As wElL aS deTeCTeD. Each CheCk node 102-108 pErforms a paRitY cHeck on bits or SYmBols passed As mEssages from iTs nEighboRiNg (oR ConneCteD) variAble noDEs. In thE example LdPc Code coRRespondING tO the tanner graph 100 of FIG. 1, cHEcK Node 102 checks the pArity oF vARiABLe nOdeS 110, 116, 120 and 122. Values ArE passED back anD FoRTH BetWEen connected vAriable nodeS 110-124 And Check nOdEs 102-108 iN An iterAtive PrOCesS until the LDpC coDe convergEs on a vALue for tHE group oF data aNd pAriTy biTS iN tHe vArIAblE NoDes 110-124. fOr eXample, vaRiAbLe nodE 110 pasSES MEssaGes To chEck noDes 102 and 106. Check noDe 102 pAsseS MesSages Back tO varIaBle noDes 110, 116, 120 and 122. the meSsAges between variAble Nodes 110-124 and cHecK nOdeS 102-108 aRe proBAbilitIes Or bEliefs, tHus the LdpC dEcODINg Algorithm is also refErRED tO as a beliEf propAGaTiON algoritHm. eacH mesSAGe froM a noDE rEpresentS the prOBaBiLity thaT a Bit or sYmBol Has A certAIn vaLue basEd on the cUrrenT Value of the node
                        0                              0                                  a        ⁡               (                         2            ,               2                     )                                             a          ⁡                     (                        2       ,               3                    )                                       0                        a          ⁡                (                         2           ,            5                         )                                0                     0                          a        ⁡                   (                      2            ,              8                   )                                                     a           ⁡                   (                           3              ,            1                    )                                   0                             a         ⁡                 (                   3           ,            3                      )                                         0                              a        ⁡                (                     3              ,             5                  )                                               a           ⁡                        (                         3          ,            6                      )                                           0                     0                              0                        a            ⁡                  (                           4         ,               2                     )                                   0                            a           ⁡                    (                    4             ,             4                      )                                    0                  0                             a         ⁡                  (                   4             ,             7                     )                                               a          ⁡                     (                     4          ,                8                     )                                       ]  
By pro v idin g m u lt ip le checknod e s 102 -108  fo r th e g roup o f va r iabl e  n odes  110-1 24,re du ndancy in  e rror ch e ckin g  is  pro vided ,en a bl ing err ors to b e cor re cted as w e ll as d etec te d. Each check  node 102-10 8perf orms a par ity c heck on bits  or symbol s p assed as m es sag e s f rom i ts neighborin g ( or con nect ed ) vari able nod es. In  the e xampl e LDP C co de co rrespo ndi ngto t he  Tan n er g r ap h 100 of FIG .  1 , check  node  102  ch ec k s  the parity o f  var i able node s 110 , 1 16 ,  1 20 and 122. Valu es arepassed back and forth  between  con ne cted  va ria bl e  n od es  110 -124 andch eck  nodes 102 -108 in a nitera tive process un til  the LDPC  cod e conve rge s ona  valu e for th e group of dataand parity b its in  th e varia ble node s 110-12 4. For exa mp le,variabl e  nod e 11 0 passe s me ssages to che ck n o des102  and 106. Check no de  10 2 p asses mes s ages bac k to vari ab le  nod es11 0,  1 16 , 120  and 122. Th e mess agesbetwee n  v ar i abl e nodes 11 0- 124andchec kn ode s 10 2-108 a r e pr obabilit ies or be liefs,  thus  t h e  L DPC  d ecoding  alg or it hmis also referre d t o as a be lief p ropagation algorit hm. Each message  froma node represent s the p r obab il i ty t ha t a bitor sy mbol ha sa certain value based  onthe cu rr ent  va lue of  the n o de
 _ _   _ __ __  _  _   _0  __             __ ___    _    _ _   0    __  _        _     _  ___   _     a_     _     ⁡ _     _    _ _    _  _ _ ( _     _  _     __  ___ _  __ 2__     __      ,_   __   _    _ 2    _ _ _          _     _  ) _ __  __ _      _ _     _   __     _     _    ___    _     a_  _      __⁡     __     ___    _     _(        _  _    ___         _ 2_  _         _ ,     _          3_       _      _   __      _)___  _  _  _ _  _ _  __                 _     _ 0   __  _   _       _        __ _   _ _a _  _ _ _ _ ⁡     __        ____  _  _ ( _  __     _  _   _         _ 2               ,_ _   _ __     _5 _       __           ___  _)_     _____     _      __    _ __   _   _       0   __ ____   _            0  __    _     __   _       _    _   _ a            ⁡       _    _    _  __  _ (  _       _                 _ 2     _  _ _    ,    _          _8             __     _     _ )  _   __  _ _   _   _       _  _          _                    _  __    a       _ _  ⁡      _       ___   __    (_   _ _      _ _   _    _     3__     _ __ _ _,_  _ _ __ _ __ _1 __      _  _     _     __ _)        _     _ _   _   _ _ __      _         _ 0__          _   _   _   _ _ _      ___a        _   ⁡  _  _ __  _ _     _ __   (   __     _ _      _ _      __3_   _          , __   _   _ _   3          ___    __   _     )  __        _                   __  ___ _   _  _0 _   _   _                   _    _   a   _  _  __ ⁡_  _    _   _  __     _  _(   _  _ __  _  _ _         _  3     _  _     _,   ___      _   5 _            _    _      _ )     _     _  __             __           _    _    _       a ___ _     _⁡      _        _   ____   (      _   _ _      __         3     __  _     , _     __   _ _ 6       _   _ _             _) _     _      _  __       _                _    0   _   _ _ __ _      ___  0  _        __ _   _      _            0 _   _  _   _  _ _      _    _     _ _a        _ _ ⁡       ___  _    _    _ __( _ _    _  __      _   ___    4   __  _  _ _  , _  __ _     _  2     _ _  _ _               ) _   ___     _    _    ____  _  __ _         _ _0 _            _           ___   _ _   a _       _  ⁡_  _ _         _       __ (   _           _ _     __     4 _ _       _ _ ,  _    ____     4   _     _  ___     _ __   _)_   _       ___     _    _       _        _   __0    __   __   _ _     _   0 _ _  _   _ _  __          _  _       a_   _       ⁡         _   _            (_    _      _           __  _ 4_  _       _   ,_ ___  _ _  _ _ 7  _  __ _                ___) _   _ _      _  _ __        __    _    __    _   _         a _     _____⁡          _     _ _       (    _      _      _ _ _       4 __  _  _ _ _ _,      _   _  _ _8_ _    __  _  _  _ _ _    _ )  __     _ _            _   _      _       _]_ 
By_providing_multiple check nodes 102-108 for the group_of variable nodes 110-124, redundancy in_error checking is provided, enabling errors to_be corrected as well_as_detected. Each check node 102-108 performs a_parity check on_bits or symbols passed as_messages_from its neighboring (or connected)_variable nodes. In_the example LDPC_code corresponding to the Tanner graph 100_of FIG. 1,_check node_102 checks_the parity of_variable nodes 110, 116, 120 and 122. Values are passed back_and forth between connected_variable nodes 110-124 and_check nodes 102-108 in an iterative_process_until the LDPC code converges on a value_for the group_of_data and_parity bits in the variable_nodes 110-124. For example,_variable node_110 passes_messages to check_nodes 102 and 106. Check node 102_passes_messages_back to_variable nodes 110, 116,_120 and 122. The messages between variable nodes_110-124_and check nodes_102-108_are probabilities or beliefs, thus_the LDPC decoding_algorithm_is also referred to_as a belief_propagation_algorithm. Each message from a node_represents the probability that_a bit or_symbol_has a certain_value based on the current value of the_node