CHAPTER 04-17-1
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 "#