You are on page 1of 17
Chapter 16 SS 16.1-1 161-2 161-3 16.2-1 162-2 a EP )a(@) (PPP) 2048 2 1423423 «11423 x77 = 2048 @) There are (7) ways in which {J positions can be chosen from n. But for a temery code, a digit can bbe mistaken for two other digits. Hence the number of possible errors in j places is (5)3-1Y or at 23" Eup 2 E (0! ia (b) (11,6) code for 1 = 2 38 a(t!) +(]!)a+ (5! )2? = 14224220 = 243 This is satisfied exactly. For (18,7) code to correct up to 3 errors 2a EH) o 2 2(8}o(H)+(2)+() B = 141841534816 = 988 2! = 2048 Hence yds > x?) iO Clearly, there exists a possibility of 3 error correcting (18,7) code. Since the Hamming bound is oversatisfied, this code could correct some 4 error patterns in addition to all patterns with up to 3 errors. GH’ =[1, P) F =POP =0 c= dG where dis a single digit (0 or 1). Ford =0 e=0[111]=[000) Ford =1 e=1{ii =(111) 140 162-3 16.2-4 16.2-5 c= dG where dis a single digit (0 or 1). Ford =0 e=0[11111}=(00000] Ford =1 ext(iliti=(190ta} Hence in this code a digit repeats 5 times. ‘Such a code can correct up to two errors using majority rule for detection, o is transmitted by [0 0 0] and 1 is transmited by [111] (a) This is clearly a systematic code with @=[11)] (a) Pel Note that m=1 | BI < a : 3 a] moa necca| neocon od wenere-o Hoonenno (©) This is parity check code. If a single error occurs anywhere in the code word, the parity is violated. ‘Therefore this code can detect a single error. (8) Equation (16.9a) in the text shows that cH™ =0. Now r=c@e and tHT =(c@e)HT =cH™ @eH” = eH” If there is no error e = 0 and rT =eH™ =0 Also 7? ; HT) But since m=1, Jy =[1] and T 141 if there isa single emor inthe received word, ehasa single 1 element with all oer elements being 0. Hence THT =eH™ =1 (for single error) 16.26 vo 10 11 ou 11 o1 o 6 10 162-7 Data word oo 1lo 0411 0 o10jo 10101 Observe that dixin =3 o1rijorr ord 10 0/1 00011 1o2j1or1 04 11 0j1 104210 1a aft 110 0 0 162-8 HT isa 15x4 matrix with all distinct rows. One possible H7 is: ith 1110 1101 1100 101l 1010 1001 HT =|0011 i] Olli 0110 o101 1000 0100 0010 0001 142 100000000001111 010000000001110) 001000000001101 000100000001100 000010000001011 G=[, P}=|000001000001010) 000000100001001 000000010000011 0000000010001I11 000000000100110 000000000010101 For d=10111010101 e=dG=[10111010101]G=1011 10101011110 162-9 (a) ay 100111 io G=|o1o110} & HT =| 00 oj10 go igs one 001 ) wor 0 1 1 0 1 0 0 1 vo o1 10 ra 11 10 o1 00 (©) The minimum distance between any two code words is 3. Hence, this isa single error correcting code, ‘Since there are 6 single errors and 7 syndromes, we can correct all single errors and one double error. @ s=eH™ 143 © 7 = e c a Tori00 110 070000111100 117 000110 110 010000 o10110 010 101010 000 000000 101010101 16.2-10 (a) done in Prob. 16.2-7 ort 101 110 7 © Hho 010 oot = 10000001 010000 | 101 six single errors 001000 | 110 000100 | 100 00010 | 010 000001 | 001 I double error «100100 | 111 162-11 1000101 o1ooilt =U Floor 0011 0001110 c=dG 144 162-12 162-13 a ¢ 0000 0000000 0001 0001110 0010 0010011 oo1l 0017101 0100) |o100111 101 0101] jo101001 wt 0110] |o110100 on o1i1} jors1010 HT =|110 1000| {1000101 100 1001] {1001011 010 1010] |1o10110 001 1011) {1011000 1100| {1100010 1101] [1101100 1110] [1110001 anan) [paaaaiy s=eHT ¢ £ 0000001 oor 0000010 010 0000100 100 0001000 110 0010000 oll 0100000 ii 1000000) [101 s= rH where r= received code c=ur®e = corrected code ‘We observe that the syndrome forall the three 2-error pattems 100010, 010100, or 001001 have the same ‘namely 111, Since the decoding table specifies s = 111 for e= 100010 whenever ¢ = 100010 cxeurs, it will be corrected. The other two pattems will not be corrected. If for example ¢ = 010100 cccurs, s = 111 and we shall read from the decoding table ¢ = 100010 and the error is not corrected. Tf we wish to correct the 2-error patter 010100 (along with six single error pattems), the new decoding table is identical to that in Table 16.3 except for the last entry which should be £ s 101001 From Eq, on P.737, for a simple error correcting code 2 enel or 28 2n41 » n-82 log2(n+1) ‘This is satisfied for n 212. Choose m=12. This gives a (12, 8) code. HT is chosen to have 12 distinct rows of four elements with the last 4 rows forming an identity matrix. Hence, 4s G=[I,P) ool! 0101 100000000011 0110 010000000101 |- Olll \p 001000000110 1001 000100000111 H’= 1010 000010001001 1011 000001001010 1100 000000101011 1000 000000011100 0100 I 0010 0001 ‘The number of non-zero syndromes = 16-1=15. There are 12 single error partems. Hence we may be able to correct 3 double-error patterns. : ¢ 0000 000000000000 0011 100000000000 0101 010000000000 0110 001000000000 0111 000100000000 1001 000010000000 1010 000001000000 1011 000000100000 1100 000000010000 1000 000000001000 0100 000000000100 0010 000000000010 0001 000000000001 1111 100000010000 1110 001000001000 1101 000000010001 16.2-14 ‘The minimum distance between any two code words is dig = 4- Therefore, it can correct all I-error pattems. Since the code oversatisfies Hamming bound it can also correct some 2-error and possibly some 3-error patterns. 146 G=[I,P) ool! 0101 100000000011 0110 010000000101 |- Olll \p 001000000110 1001 000100000111 H’= 1010 000010001001 1011 000001001010 1100 000000101011 1000 000000011100 0100 I 0010 0001 ‘The number of non-zero syndromes = 16-1=15. There are 12 single error partems. Hence we may be able to correct 3 double-error patterns. : ¢ 0000 000000000000 0011 100000000000 0101 010000000000 0110 001000000000 0111 000100000000 1001 000010000000 1010 000001000000 1011 000000100000 1100 000000010000 1000 000000001000 0100 000000000100 0010 000000000010 0001 000000000001 1111 100000010000 1110 001000001000 1101 000000010001 16.2-14 ‘The minimum distance between any two code words is dig = 4- Therefore, it can correct all I-error pattems. Since the code oversatisfies Hamming bound it can also correct some 2-error and possibly some 3-error patterns. 146 o) 1110 Jol 1000 T 7 =| oO 100 and s=eH 0010 0001 100000 | 1110 010000 | 1011 001000 | 1000 Gsingle error pattems) 99100 | 0100 000010 | 0010 000001 | 0001 110000 | 0101 101000 | 0110 100100 | 1010 7 double-error pattems} 100010 | 1100 100001 1iit 011000 | 0011 010010 | 1001 seiner SERN | 81 163-1 Systematic (7, 4) cyclic code gx)ex ext] Fordata 1111 d(x)=x9 +27 4x41 Pleat axsijextesteste? daoxtet Tae 7 aetex waxetlxo +x x8 txte eo Bevex? ax? xox] Posed Syxtexd a) (22 exeil exstlexSrabext es a? exe ‘The code word is 11111111 147 For data 1110 (x)= x9 +x? +x vee Paxalxoecaxt x8 tetas? x +x ‘The code word is 1110100 A similar procedure is used to find the remaining codes (see Table 1). (b) From Table | it can be seen that the minimum distance between any two codes is 3. Hence this isa single error correcting code. a Titi) aiiinit 1110 | 1110100 1101 | 1101001 1100 | 1100010 1011) 1011000 1010] 1010011 1001 | 1001110 1000 | 1000101 Table! o11i | 0111010 0110] 0110001 0101 | 0101100 0100 | 0100111 0011 | 0011101 0010 | 0010110 0001 | 0001011 0000 | 0000000 (c) There are seven possible non-zero syndromes. Sexel for ¢=1000000 Darel wSaxtex? shee? gi_tstex ratte tse 24 s2101 148 163-2 ‘The remaining syndromes are shown in Table 2. @ 5 “ToooTo0 | TOT 0100000/ 111 0010000] 110 0001000| 011 0000100] 100 0000010] 010 0000001 | 001 Table2 (@) The received data is 1101100 Hx) =x8 435 433 437 axal)xo4x5 text Pad tx4ex? wax4 +27 Pl +42? ate? s(x)=32 +1 e101 From Table 2 €=1000000 ¢=r@e=110110081000000= 0101100 Hence @=0101 gix)ex ar ex exh exS ered of) = a(z)e(=) 1L d,=000011110000, d(x) = 27 4x8 4x5 4x4 dy =101010101010, d(x) a2 ex7 ex tee ex(s) =a4(x)e(2) = 28 4! 4a! aa! aa oa? oat ax” tat and Cy =00001100011101110010000 g(x) = dg(a)af2) = 22 42th! ea aa aster axt es ex? oe and 2 =10001101010000100111110 49 vel Perel 163-3 xti}P +x" 3452 xe] x+l ° Hence Past axada erie? ot) =(e+ ier keen = (e+ text) 163-4 x4 lleSextex? +] Hence aS4x¢ x2 +1=(x4I)(x4 +241) eiax! Now try dividing x4 +241 by x+1, we geta remainder 1. Hence (x+1) is nota factor of (x +241). “The 2*/order prime factors not divisible by x+Tare x? andx? +41 Since (x4 +x+1) isnot divisible by x2, we try dividing by (2? +x+1). ‘This also yields a remainder 1. Hence x4 4x41 does not have either a first or a second order factor. ‘This means it cannot have a third order factor either. Hence Sashes? ate (eo irl xt) 163-4 ‘Try dividing x7 +1 by x+1 150 3 Therefore (x7 +1)=(x+I)(x5 +25 +34 +x +x74x4l) Now try dividing (oS +25 4x4 ex3 4x 4x41) by (x41). Itdoes not divide. So try dividing by (# +1). It does not divide. Try dividing by (2 +241) It does not divide. Next try dividing by (= +1). It does not divide either. ‘Now try dividing by (x? +x+1). Itdivides. We find (Sashes astestexel)e(P exer +e +l) Since (x? +x? +1) is not divisible by x or x+1 (the only two first-order prime factors), it must be a third-order prime factor. Hence xT Le (xix? +24t}(x? +27 +1) 163-6 Fora single error correcting (7, 4) cyclic code with a generator polynomial g(x)=x +37 +1 hed n=? ght atx)] xf? g(x) 3 g(x)] [xS+x5 42° x? g(x)|_[x5 +2442? x g(x)| [xt txtex atx)] [242741 a(x) Hence 1101000 _ [0110100 OO1l0ld 0001101 Each code word is found by matrix multiplication ¢ = dG" 1101000 0110100 c=[0000) po110810/" 0000000 ooo1101 1101000 0110100 oo11010 0001101 ¢=[0001) = OOO1101 151 ‘The remaining codes are found in a similar manner. See table below. T00000 ooo110l 0011010 oo1onit 0110100 0111001 0101110 0100001 1101000 1100101 1110010 qianind 1011100 1010001 1000110 1001011 163-7 g(x)ex? +2741 ‘The desired form is 1000- Oh Aah > > = Am 0100+ «Ohta hyp ya * * bm 0010+ = © Ohy3 has fx3 °° * Py 0000 - =} hu Mok Me == + hm te P (kxk) (ke) ‘The code is found by using e=dG Proceeding with matrix multiplication, and noting that 040-0, OF1=140=1, 14120 and 0x0=0, Oxt=1xO=0, IxI=1 we get 1000110 0100011 eqs =[21 11] ooreiit =(1niinii) 0001101. ea =[1110]G=[1110010) and so on. 152 16.3-8 a € Titi |iiiiint 1110} 1110010 1101 | 1101000 1100 | 1100101 1011) 1011100 1010 [1010001 1001 | 1001011 1000 | 1000110 O111 |o111001 0110 | 0110100 0101 |o101110 0100 | 100011 0011 {0011010 0010 {0010111 0001 | 0001101 0000 | 0000000 ‘These results agree with those of Table 16.5 (a) 1011000 0101100 “Joo10110 0001011 (b) The code is found by matrix multiplication. ¢ = dG" Ingeneral gfx) = geht gp lege For this case gi=h gp=h 832% gal Since yy = 82. Myx = 83» Pau = Bar the fourth row is immediately found. Thus, so far we have 0001101, Next, to get row 3, use row 4 with one left shift. 0011010 0001101 The i is eliminated by adding row 4 to row 3. oo1olll 0001101 Next for row 2, use row 3 with 1 left shift. 153, 163-9 o101110 0010111 0001101 The | is eliminated by adding row 4 to row 2. jo100011 oo101l! 0001101 Next for row 1, use row 2 with 1 left shift 1000110 o100011 oorolit 0001101 ‘This is the desired form. a 0600 [0000000 0001 |ooo1011 0010 /0010110 0011 | 0011101 0100} 0101100 0101 |0100111 0110] 0111010 0111 [0110001 1000) 1011000 1001 | 1010011 1010 |1001110 1011} 1000101 1100 /1110100 dn0n | aanaaia 11101100010 1111 [1101001 (©) All code words are at a minimum distance of 3 units. Hence this isa single error correcting code. ats) 1011000 0101100 “loo10110 0001011 Row 4 is ok. Row 3 is left shift of row 4. For row 2, left shift row 3. ‘And add row I to obtain row 2. For row I, left shift row 2. ‘And add row 1 to obtain row 1. 34x41. Hence row 4 is0001011. ooo1011 0010110 0101100 o100ntt 1001110 1000101 154 « rowd + rows + row2 row! 164-1 165-1 16.74 and 1000101 o1oolll S"\oo10110 0001011 ‘The burst (of length 5) detection ability is obvious. The single error correcting ability can be demonstrated as follows. If in any segment of b digits a single error occurs, it will violate the parity in that segment. Hence we locate the segment where the eror exists. This error will also cause parity violation in the ‘augmented segment. By checking which bit in the augmented segment violates the parity, we can locate the wrong bit position exactly. “The code can correct any 3 bursis of length 10 of less. It can also correct any 3 random errors in each code word, Pay = KO( J2Es/aM) = 124 (Y2x9:12) = 9825 x 10% “ rect | ]

You might also like