CHAPTER 04-17-1

download CHAPTER 04-17-1

of 16

Transcript of CHAPTER 04-17-1

  • 8/10/2019 CHAPTER 04-17-1

    1/16

    4. CHAPTER 4 - IMPORTANT LINEAR BLOCK CODES

    This chapter presents several classes of important linear block codes that were discovered in the early

    days of error-correcting codes. The first class of linear block codes for error correction was discovered

    by Richard W. Hamming in 195 !1"# two years after $hannon p%blished his landmark paper# which

    asserted that by proper encoding of information# errors ind%ced by a noisy channel or storage medi%m

    can be red%ced to any desired level witho%t sacrificing the rate of information transmission or storage.

    Hamming codes have a minim%m distance of & and therefore are capable of correcting any single error

    over the span of the code block length.

    The weight en%merator of Hamming codes is known. Hamming codes are perfect codes and can be

    decoded easily %sing a table-look%p scheme. 'ood codes with a minim%m distance of ( for single-

    error correction and do%ble-error detection can be obtained by properly shortening the Hamming

    codes. Hamming codes and their shortened versions have been widely %sed for error control in digital

    comm%nication and data storage systems over the years owing to their high rates and decoding

    simplicity.

    The second class of linear block codes constr%cted in the early days for error correction and detection

    was the class of Reed-)%ller codes. Reed-)%ller codes were first discovered by avid *. )%ller in

    195( !9" for switching-circ%it design and error detection. +t was +rwin $. eed# also in 195( !1"# who

    reform%lated these codes for error correction and detection in comm%nication and data storage systemsand devised the first decoding algorithm for these codes. Reed-)%ller codes form a large class of

    codes for m%ltiple random error correction. These codes are simple in constr%ction and rich in

    str%ct%ral properties. They can be decoded in many ways %sing either hard-decision or soft-decision

    decoding algorithms. The Reed decoding algorithm for Reed-)%ller codes is a ma,ority-logic

    decoding algorithm that can easily be implemented. $everal soft-decision decoding algorithms for

    Reed-)%ller codes have been devised that achieve very good error performance with low decoding

    compleity.

    lso presented in this chapter is the /0(# 10 'olay code with minim%m distance 2. This code has

    many interesting str%ct%ral properties and has been etensively st%died by many coding theorists and

    mathematicians. it has been %sed for error control in many comm%nication systems# especially by 3.$.space comm%nication programs.

    $everal additional code constr%ction methods are also presented in this chapter. These constr%ction

    methods allow %s to constr%ct long# powerf%l codes from short component codes.

    4.1. 4.1 Hamming Codes

    4or any positive integer m there eists a Hamming code with the following parameters6

    7ode length6 n8 0m 1#

    :%mber of information symbols6 k8 0m m 1#

    :%mber of parity-check symbols6 n k8 m*rror-correcting capability6 t8 1 /dmin8 &.

    The parity-check matri H of this code consists of all the non;ero m-t%ples as its col%mns. +n

    systematic form# the col%mns of H are arranged in the following form6

    where Imis an mm identity matri# and the s%b-matri Qconsists of 0m m 1 col%mns that are the

    m-t%ples of weight 0 or more. 4or eample# let m8 &. The parity-check matri of a Hamming code of

    length < can be p%t in the form

    which is the parity-check matri of the /?#-+ is a /0@1 -in -1x /0@A - m 1 identity matri.

    251586476.doc.doc Utorak, 1. sijenja 2013 1

  • 8/10/2019 CHAPTER 04-17-1

    2/16

    Beca%se the col%mns of H are non;ero and distinct# no two col%mns add to ;ero. +t follows from

    7orollary &.0.1 that the minim%m distance of a Hamming code is at least &. $ince H consists of all the

    non;ero m-t%ples as its col%mns# the vector s%m of any two col%mns# say h# and lls## m%st also be a

    col%mn in H# say fit. Th%s#

    +t follows from 7orollary &.0.0 that the minim%m distance of a Hamming code is eactly &. Hence# the

    code is capable of correcting all the error patterns with a single error or detecting all the error patterns

    of two or fewer errors.

    +f we form the standard array for the Hamming code of length 0@1 1# all the /0A 1-t%ples of weight1 can be %sed as coset leaders /Theorem &.5. The n%mber of /0A 1-t%ples of weight 1 is 0A 1.

    beca%se

  • 8/10/2019 CHAPTER 04-17-1

    3/16

    0. EXAMPLE 4.1 Let m = 3. Then, n = 23 1 = 7, and the

    weight enumerator or the !7, 4" #amming $ode i%

    Let m8 &. Then# n8 0& 1 8

  • 8/10/2019 CHAPTER 04-17-1

    4/16

    4+'3R* (.16/a Earity-check matri of an optimal /00# 1N $*7-I*I codeM /b parity-check matri

    of an optimal /&9# &0 $*7-I*I codeM /c parity-check matri of an optimal /

  • 8/10/2019 CHAPTER 04-17-1

    5/16

    1. EXAMPLE 4.2 The %e$ond&order 'M $ode o (ength n = 1)

    i% generated *+

    Let m8 ( and r8 0. The second-order R) code of length n8 1N is generated by the following 11

    vectors6

    This is a /1N# 11 code with a minim%m distance of (.

    With the preceding constr%ction# the generator matri GR)/r# m of the R)/r# in code is not in

    systematic form. +t can be p%t in systematic form with

    elementary row and col%mn operationsM however# R) codes in nonsystematic form have many

    interesting and %sef%l str%ct%res that red%ce decoding compleity. This topic will be disc%ssed in a

    later chapter.

    The Reed decoding algorithm for R+) codes is best eplained by an eample.

    7onsider the second-order R+G1 code E/0# ( of length 1N given in *ample (.0.

    $%ppose

    is the message to be encoded. Then# the corresponding code-word is

    :ote that the s%m of the first fo%r components of each generator -vector is ;ero ecept the vector v1

    0. The same is tr%e for the other three gro%ps of fo%r consec%tive# components. s a res%lt# we havethe following fo%r s%ms that relate the information bit "p to the code bits6

    These fo%r s%ms give fo%r independent determinations /or reconstr%ctions of the information bit 10

    from the code bits. +f the code-word /b# N1# - S# N15 is transmitted and there is a single transmission

    error in the received vector# the error can affect only one determination of a10. s a res%lt# the other

    three /m"&oritdeterminations of a10 will give the correct val%e of 10. This is the basis for decoding

    *) codes.

    Let 8 /ro# r15 be the received vector# +n decoding 10# we form the following s%ms6

    which are obtained by replacing the code bits with the corresponding received bits in the fo%r

    independent determinations of 10. These s%ms are called c(eck-sums# which are simply the estimatesof 10. Then# 10 is decoded based on the following m"&orit-logic decision rule610is taken to be

    eP%al to the val%e ass%med by the ma,ority in l# 0# ttU. if there is a tie# a random choice of the

    val%e of 10 is made. +t is clear that if there is only one error in the received vector# 10 is always

    decoded correctly.

    $imilar independent determinations of information bits a1 a0 a1(# 0(# and a&( can be made from

    the code bits. 4or eample# the fo%r independent determinations of a1& are6

    t the decoder# we decode a1& by forming the following fo%r check-s%ms from the received bits %sing

    the preceding fo%r independent determinations of a1&6

    4rom these fo%r check-s%ms we %se the ma,ority-logic decision r%le to decode "1&)

    +f there is a single transmission error in the received seP%ence# the information bits "10# "1 0 a1(#

    a0(# and &( will be decoded correctly.

    fter the decoding of a10# 1 a0 a1(# a0(# and a&(# the vector

    is s%btracted from r. The res%lt is a modified received vector6

    +n the absence of errors# r/1 is simply the following code-word6

    We note that starting from the first component# the s%ms of every two consec%tive components in vo#

    v(# G and 1

  • 8/10/2019 CHAPTER 04-17-1

    6/16

    aV( and the preceding eight independent determinations of "16

    4rom these check-s%ms we decode al by %sing the ma,ority-logic decision r%le.

    $imilarly# we can decode the information bits "0# and ()

    fter the decoding of "l# 0# and (# we remove the effect of "l# "0# " and a( from 1 and form

    the following modified received vector6

    +n the absence of errors# 0 is the following code-word6

    This res%lt gives 1N independent determinations of ao. +n decoding "# we simply set ao to the val%etaken by the ma,ority of the bits in 0. This step completes the entire decoding.

    The demonstrated decoding is referred to as m"&orit-logic decoding. Beca%se it consists of three steps

    /or levels of decoding# it is called three-step ma,ority-logic decoding. +t can easily be implemented

    %sing ma,ority-logic elements.

    +f there is only one error in the received vector rr# the information bits a10# "1 1(# a0 a0(. and &(

    will be correctly decoded. Then# the modified received vector 01 will still contain a single error at the

    same location. This single error affects only one of the eight check-s%ms for "i# with 1 C iC (. The

    other seven check-s%ms give the correct val%e of "i. Therefore# the information bits "1# "0# " and (

    will be correctly decoded. s a res%lt# the net modified received vector 00 will contain only one error

    /still at the same location# and the information bit no will be correctly decoded.

    +f there are two transmission errors in rr# these two errors may affect two check-s%ms for information

    bit "u. +n this case# there is no ma,ority in the fo%r check-s%ms6 two check-s%ms take # and two other

    check-s%ms take 1. choice between these two val%es as the decoded val%e of "ii may res%lt in an

    incorrect decoding of i &. This incorrect decoding affects the s%bseP%ent levels of decoding and res%lts

    in error prop"g"tion. 7onseP%ently# the decodings of al# "0# (# and ao are very likely to be

    incorrect. Beca%se the code g%arantees correcting any single error b%t not two errors# its minim%m

    distance is at least & b%t less than 5. $ince all the code-words have even weight# the minim%m distance

    of the code m%st be (. We have %sed an eample to introd%ce the concepts of ma,ority-logic decoding

    and the m%ltiple-step decoding process of the Reed algorithm. :ow we are ready to present the general

    algorithm for decoding R) codes. The ma,or part of the decoding is to form check-s%ms at eachdecoding step.

    7onsider the rth-order R) code# R)/r# m. Let

    be the message to be encoded. The corresponding code-word is

    Let r 8 /ro# ri# # r?>1 be the received vector. Iecoding of R)/r# incode consists of r 1 steps. t the

    first step of decoding# the information bits corresponding to the prod%ct vectors ai 1

  • 8/10/2019 CHAPTER 04-17-1

    7/16

    4or Or# .8 U# and $A 8 # 1# # 0@X 1U.

    4or C OC r# s%ppose we have ,%st completed the )s step of decoding. The decoded information bits

    are +ke form the following modified received vector6

    where 5@ is the modified received vector for the +th step of decoding# and TK 8 4or each integer P *

    $c. we form the following set of integers /called indices6

    Then# the check-s%ms for decoding the information bits "

    for / * .c. Beca%se there are 0m-1J1 integers P +n 5'# we can form 0m-1.J1 check-s%ms for decodingeach information bit.

    t the first step of decoding# + 8 and 0@1-+ check-s%ms can be formed for decoding each information

    bit +f there are 1 or fewer errors in the received vector r# then more than half /ma,ority of the check-

    s%ms ass%me the val%e of ail and hence the decoding of is correct# %sing the ma,ority-logic decision

    r%leM however# if r contains 0O

  • 8/10/2019 CHAPTER 04-17-1

    8/16

    $imilarly# we can form the check-s%ms for al# "0# and (.

    Bit-error probability

    4+'3R* (.06Bit-error performances of some R) codes with ma,ority-logic decoding.

    *rror performances of some R) codes of lengths %p to N( %sing ma,ority-logic decoding are shown in

    4ig%re (.0.

    4.4. 4.4 *t+er Constr&ctions !or (eed#)&er Codes

    Besides the constr%ction method presented in $ection (. there are other methods for constr%cting R)

    codes. We present three s%ch methods in this section. These methods reveal more str%ct%res of R)

    code that are %sef%l in constr%cting trellis diagrams and soft-decision decodings.

    Let 8 !"dbe an in x in matri and8 !##&"be an n x n matri over /0. The2ronecker product

    of and# denoted by # is the mn x inn matri obtained from by replacing every entry "#