ADVANTAGE of GENERATOR MATRIX: we need to store only the k rows of G instead of 2k vectors of the code. for the example we have looked at generator array of (36) replaces the original code vector of dimensions (8 6). This is a definite reduction in complexity . Error Control Coding © Erhan A. Ince Systematic Linear Block Codes Systematic (n,k) linear block codes has such a mapping that part of the sequence generated coincides with the k message digits. Remaining (n-k) digits are parity digits A systematic linear block code has a generator matrix of the form : G P I k p 11 p 21 pk1 p 12 p 22 p 1,(nk ) p 2,(nk ) p p k2 k ,(nk ) Error Control Coding © Erhan A. Ince 1 0 0 0 1 0 0 0 1 P is the parity array portion of the generator matrix pij = (0 or 1) Ik is the (kk) identity matrix. With the systematic generator encoding complexity is further reduced since we do not need to store the identity matrix. Since U = m G p 11 p u , u ,........, un m , m ,........, mn 21 1 2 1 2 pk1 p 12 p 22 p 1,(nk ) p 2,(nk ) p p k2 k ,(nk ) Error Control Coding © Erhan A. Ince 1 0 0 0 1 0 0 0 1 where u m p m p ....... m p i 1 1i 2 2i k ki m ink for for i 1,....., (n k ) i (n k 1),...., n And the parity bits are p m p m p ........ m p 1 1 11 2 21 k k1 p m p m p ........ m p 2 1 12 2 22 k k2 p m p m p ........ m p 1 1,(nk ) 2 2,(nk ) nk k k ,(nk ) given the message k-tuple m= m1,……..,mk And the general code vector n-tuple U = u1,u2,……,uk Systematic code vector is: U = p1,p2……..,pk , m1,m2,……,mk Error Control Coding © Erhan A. Ince Example: For a (6,3) code the code vectors are described as U 1 m , m , m 0 1 2 3 1 1 0 1 0 0 1 1 0 1 0 1 0 0 P 0 1 I3 U = m1+m3, m1+m2, m2+m3, m1, m2, m3 u1 , u2 , u 3, Error Control Coding © Erhan A. Ince u 4 , u 5 , u6 Parity Check Matrix (H) We define a parity-check matrix since it will enable us to decode the received vectors. For a (kn) generator matrix G There exists an (k-n) n matrix H Such that rows of G are orthogonal to the rows of H i.e G HT = 0 To satisfy the orthogonality requirement H matrix is written as: H I PT nk Error Control Coding © Erhan A. Ince Hence 1 0 I 0 H p P p p 0 1 0 11 p 21 p 22 k1 p k2 nk T 12 0 0 1 p p p 1 ,( n k ) 2 ,( n k ) k ,( n k ) The product UHT of each code vector is a zero vector. UH T p p , p p ,......, p p 0 1 1 2 2 nk nk Once the parity check matrix H is formed we can use it to test whether a received vector is a valid member of the codeword set. U is a valid code vector if and only if UHT=0. Error Control Coding © Erhan A. Ince Syndrome Testing Let r = r1, r2, ……., rn be a received code vector (one of 2n n-tuples) Resulting from the transmission of U = u1,u2,…….,un (one of the 2k n-tuples). r=U+e where e = e1, e2, ……, en is the error vector or error pattern introduced by the channel In space of 2n n-tuples there are a total of (2n –1) potential nonzero error patterns. The SYNDROME of r is defined as: S = r HT The syndrome is the result of a parity check performed on r to determine whether r is a valid member of the codeword set. Error Control Coding © Erhan A. Ince If r contains detectable errors the syndrome has some non-zero value syndrome of r is seen as S = (U+e) HT = UHT + eHT since UHT = 0 for all code words then : S = eHT An important property of linear block codes, fundamental to the decoding process, is that the mapping between correctable error patterns and syndromes is one-to-one. Error Control Coding © Erhan A. Ince Parity check matrix must satisfy: 1. No column of H can be all zeros, or else an error in the corresponding code vector position would not affect the syndrome and would be undetectable 2. All columns of H must be unique. If two columns are identical errors corresponding to these code word locations will be indistinguishable. Error Control Coding © Erhan A. Ince Example: Suppose that code vector U = [ 1 0 1 1 1 0 ] is transmitted and the vector r = [ 0 0 1 1 1 0 ] is received. Note one bit is in error.. Find the syndrome vector,S, and verify that it is equal to eHT. (6,3) code has generator matrix G we have seen before: 1 1 0 1 0 0 G 0 1 1 0 1 0 1 0 1 0 0 1 P I P is the parity matrix and I is the identity matrix. Error Control Coding © Erhan A. Ince 1 0 0 HT p 1,1 p 2,1 p 3,1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 p p 1 1 0 1,2 1,3 p p 2,2 2,3 0 1 1 p p 1 0 1 3,2 3,3 1 0 0 0 1 0 0 0 1 S = r HT = [001110] 1 1 0 0 1 1 1 0 1 0 = [ 1, 1+1, 1+1 ] = [ 1 0 0] (syndrome of corrupted code vector) Error Control Coding © Erhan A. Ince Now we can verify that syndrome of the corrupted code vector is the same as the syndrome of the error pattern: S = eHT = [1 0 0 0 0]HT = [ 1 0 0 ] ( =syndrome of error pattern ) Error Control Coding © Erhan A. Ince Error Correction Since there is a one-to-one correspondence between correctable error patterns and syndromes we can correct such error patterns. Assume the 2n n-tuples that represent possible received vectors are arranged in an array called the standard array. 1. The first row contains all the code vectors starting with all-zeros vector 2. First column contains all the correctable error patterns The standard array for a (n,k) code is: U 1 e 2 U 2 U e 2 2 i U e i 2 U 2k U e 2 2k U e i j e j e 2nk U U e 2 2nk Error Control Coding © Erhan A. Ince U 2k e 2nk Each row called a coset consists of an error pattern in the first column, also known as the coset leader, followed by the code vectors perturbed by that error pattern. The array contains 2n n-tuples in the space Vn each coset consists of 2k n-tuples there are 2n 2nk 2k cosets If the error pattern caused by the channel is a coset leader, the received vector will be decoded correctly into the transmitted code vector Ui. If the error pattern is not a coset leader the decoding will produce an error. Error Control Coding © Erhan A. Ince Syndrome of a Coset If ej is the coset leader of the jth coset then ; Ui + ej is an n-tuple in this coset Syndrome of this coset is: S = (Ui + ej)HT = Ui HT + ejHT = ejHT All members of a coset have the same syndrome and in fact the syndrome is used to estimate the error pattern. Error Control Coding © Erhan A. Ince Error CorrectionDecoding The procedure for error correction decoding is as follows: 1. Calculate the syndrome of r using S = rHT 2. Locate the coset leader (error pattern) , ej, whose syndrome equals rHT This error pattern is the corruption caused by the channel The corrected received vector is identified as U = r + ej . We retrieve the valid code vector by subtracting out the identified error 3. 4. Note: In modulo-2 arithmetic subtraction is identical to that of addition Error Control Coding © Erhan A. Ince Example: Locating the error pattern: For the (6,3) linear block code we have seen before the standard array can be arranged as: 000000 110100 011010 101110 101001 011101 000001 000010 000100 001000 010000 100000 010001 110101 110110 110000 111100 100100 010100 100101 011011 011000 011110 010010 001010 111010 001011 101111 101100 101010 100110 111110 001110 111111 101000 101011 101101 100001 111001 001001 111000 Error Control Coding © Erhan A. Ince 110011 000111 011100 110010 000110 011111 110001 000101 011001 110111 000011 010101 111011 001111 001101 100011 010111 111101 010011 100111 001100 100010 010110 The valid code vectors are the eight vectors in the first row and the correctable error patterns are the eight coset leaders in the first column. Decoding will be correct if and only if the error pattern caused by the channel is one of the coset leaders We now compute the syndrome corresponding to each of the correctable error sequences by computing ejHT for each coset leader 1 0 0 S e j 1 0 1 0 0 1 0 0 1 1 0 1 1 0 1 Error Control Coding © Erhan A. Ince Syndrome lookup table.. error pattern 000000 000001 000010 000100 001000 010000 100000 010001 Syndrome 000 101 011 110 001 010 100 111 Error Control Coding © Erhan A. Ince Error Correction We receive the vector r and calculate its syndrome S We then use the syndrome-look-up table to find the corresponding error pattern. This error pattern is an estimate of the error, we denote it as ê The decoder then adds ê to r to obtain an estimate of the transmitted code vector û Û = r + ê = (U + e) + ê = U + (e ê) If the estimated error pattern is the same as the actual error pattern that is if ê = e then û =U If ê e the decoder will estimate a code vector that was not transmitted and hence we have an undetectable decoding error. Error Control Coding © Erhan A. Ince Example Assume code vector U = [ 1 0 1 1 1 0 ] is transmitted and the vector r=[0 0 1 1 1 0] is received. The syndrome of r is computed as: S = [0 0 1 1 1 0 ]HT = [ 1 0 0 ] From the look-up table 100 has corresponding error pattern: ê = [1 0 0 0 0 0 ] The corrected vectors is the Û = r + ê = 0 0 1 1 1 0 + 1 0 0 0 0 0 = 1 0 1 1 1 0 (corrected) In this example actual error pattern is the estimated error pattern, Hence û =U Error Control Coding © Erhan A. Ince
© Copyright 2026 Paperzz