170 likes | 185 Views
EEE436. DIGITAL COMMUNICATION Coding. Announcement. Test date: Thursday, 7 / 4 / 2011 ; DK11. Code parameters. The Hamming distance
E N D
EEE436 DIGITAL COMMUNICATION Coding EEE377 Lecture Notes
Announcement Test date: Thursday, 7 / 4 / 2011 ; DK11 EEE377 Lecture Notes
Code parameters • The Hamming distance • The Hamming distance between a pair of code vectors, c1 and c2 that have the same number of elements is defined as the number of locations in which their respective elements differ • The Hamming weight • The Hamming weight of a code vector c is defined as the number of nonzero elements in that code vector • Equivalent to the distance between a code vector and an all-zero code vector • The minimum distance • The minimum distance of a linear block code is defined as the smallest Hamming distance between any pair of code vectors in the code. • Equivalent to the smallest Hamming weight of the difference between any pair of code vectors • Equivalent to the smallest Hamming weight of the nonzero code vectors in the code • Code rate • The ratio between the number of original message bits and the number of bits of the codeword • For (n,k) code , code rate = k/n. EEE377 Lecture Notes
Codewords for (7,4) Hamming Code Min dist=? EEE377 Lecture Notes
Code parameters The minimum distance of a code determines the error detecting and correcting capability of the code Error detection is always possible when the number of transmission errors in a codeword is less than the minimum distance so that the erroneous word may not be seen as another valid code vector Various degrees of error control capability • Detect up to l errors per word , dmin >= l + 1 • Correct up to t errors per word, dmin >= 2t + 1 • Correct up to t errors and detect l > t errors per word, dmin >= t + l + 1 Code rate is a measure of the code efficiency EEE377 Lecture Notes
Error Detection and Correction • Syndrome Decoding • Decoding involves parity-check information derived from the code’s coefficient matrix, P. • Associated with any systematic linear (n,k) block code is a (n-k)-by-n matrix, H called the parity-check matrix. • H is defined as • H = [In-kPT] • Where PT is the transpose of the coefficient matrix, P and is an • (n-k)-by-k matrix. • In-k is the (n-k)-by-(n-k) identity matrix. • For error detection purposes, the parity check matrix, H has the following property • c.HT = (0 0 ….. 0) (ie Null matrix) EEE377 Lecture Notes
Syndrome Decoding • c.HT = (0 0 ….. 0) (ie Null matrix) • Since c=m.G, therefore • m.G.HT = (0 0 …. 0) • This property is satisfied only when c is correctly received. • Errors are indicated by the presence of non-zero elements in the matrix. • Let r denotes the 1-by-n received vector that results from sending the code vector c over a noisy channel. • When there is an error, the decoding operation will give a syndrome vector, s whose elements contain at least 1 non-zero element. EEE377 Lecture Notes
Syndrome Decoding – Example for the (7,4) Hamming Code • A (7,4) Hamming code with the following parameters • n=7; k=4, m=7-4=3 • The k-by-(n-k) (4-by-3) coefficient matrix, P = • The generator matrix, G is, G = P = G = EEE377 Lecture Notes
Syndrome Decoding –Example for (7,4) Hamming Code • Associated with the (7,4) Hamming Code is a 3-by-7 matrix, H called the parity-check matrix. • H is defined as • H = [In-kPT] • When a codeword is correctly received, the c.HT will result in a null matrix, otherwise it will result in a syndrome vector, s. EEE377 Lecture Notes
Syndrome Decoding –Example for (7,4) Hamming Code • Example: The received code vector is [1110010], check whether this is a correct codeword • c.HT = [1110010] EEE377 Lecture Notes
Syndrome Decoding –Example for (7,4) Hamming Code • Example: The received code vector is [1100010], check whether this is a correct codeword • c.HT = [1100010] = [0 0 1] – this is called the error syndrome EEE377 Lecture Notes
Error pattern Error pattern is an error vector E whose nonzero element mark the position of the transmission errors in the received codeword We can work out all syndromes and find the corresponding error patterns and store them in a look up table for decoding purposes For example the (7,4) Hamming code EEE377 Lecture Notes
Error detection & correction The error pattern, E is essentially the modulo-2 sum of the correct code vector and the erroneous received code vector. For example , c = 1110010 and r=1100010 (ie error in the 3rd bit) c + r =E 1110010 + 1100010 = 0010000 This error pattern corresponds to a syndrome vector in the look up table, 001 Recall that the syndrome vector, s = rHT s = (c + E)HT = cHT + EHT = EHT EEE377 Lecture Notes
Error detection and correction Therefore, the decoding procedure involves working out the syndrome for the received code vector and look up for the corresponding error pattern. Then, modulo-2 sum the error pattern, E and the received vector, r , so that c = r + E, and the correct codeword can be recovered. EEE377 Lecture Notes
Error detection and correctionExample For message word 0010, the correctly encoded codeword is c = 1110010. Due to channel noise, the received code vector is r = [1100010]. Show how the decoder recover the correct codeword. • The decoder uses r and the HT to find the error syndrome, s S=r.HT = 001 2) Using the resulting syndrome, refer the look up table for the corresponding assumed error vector, E. S=001 corresponds to assumed error vector, E = 0010000 3) Then ex-OR E and r to recover the correct codeword E+r = 0010000 + 1100010 = 1110010 EEE377 Lecture Notes
Error detection and correctionExercise • For message word 0110, the correctly encoded codeword is c = 1000110. Due to channel noise, the received code vector is r = [1100110]. Show how the decoder recover the correct codeword. • For message word 0110, the correctly encoded codeword is c = 1000110. Due to channel noise, the received code vector is r = [1100100]. Show how the decoder performs its decoding operation. What is your observation and explain it. EEE377 Lecture Notes
Assignment-in Group Build up a Simulink model of a communication system that consists of a Source (Bernoulli Binary Generator), an encoder block, a binary symmetric channel and a block decoder. Simulate and compare error performance of the following block codes (7,4) Hamming Code and (15,11) Hamming Code Discuss and submit a report on your results on 7th April 2011 EEE377 Lecture Notes