Presentation is loading. Please wait.

Presentation is loading. Please wait.

EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.

Similar presentations


Presentation on theme: "EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14."— Presentation transcript:

1 EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng.usm.my Room 2.14

2 EEE377 Lecture Notes2 Announcement Test date: Thursday, 7 / 4 / 2011 ; DK11

3 EEE377 Lecture Notes3 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.

4 EEE377 Lecture Notes4 Codewords for (7,4) Hamming Code Message WordParity bitsCode wordsHamming weight 00000000000000 00011011010001 00101111110010 00110100100011 01000110110100 01011101100101 01101001000110 01110010010111 10001101101000 10010110111001 10100010011010 10111001001011 11001011011100 11010000001101 11100100101110 11111111111111 Min dist=?

5 EEE377 Lecture Notes5 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 >= 2 t + 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

6 EEE377 Lecture Notes6 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 = [I n-k P T ] Where P T is the transpose of the coefficient matrix, P and is an (n-k)-by-k matrix. I n-k is the (n-k)-by-(n-k) identity matrix. For error detection purposes, the parity check matrix, H has the following property c.H T = (0 0 ….. 0) (ie Null matrix)

7 EEE377 Lecture Notes7 Syndrome Decoding c.H T = (0 0 ….. 0) (ie Null matrix) Since c=m.G, therefore m.G.H T = (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.

8 EEE377 Lecture Notes8 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 = 110 011 111 101 P = 1101000 0110100 1110010 1010001 G =

9 EEE377 Lecture Notes9 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 = [I n-k P T ] When a codeword is correctly received, the c.H T will result in a null matrix, otherwise it will result in a syndrome vector, s. 1001011 0101110 0010111

10 EEE377 Lecture Notes10 Syndrome Decoding –Example for (7,4) Hamming Code Example: The received code vector is [1110010], check whether this is a correct codeword c.H T = [1110010] 100 010 001 110 011 111 001

11 EEE377 Lecture Notes11 Syndrome Decoding –Example for (7,4) Hamming Code Example: The received code vector is [1100010], check whether this is a correct codeword c.H T = [1100010] 100 010 001 110 011 111 001 = [0 0 1] – this is called the error syndrome

12 EEE377 Lecture Notes12 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

13 EEE377 Lecture Notes13 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 3 rd 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 = rH T s = (c + E)H T = cH T + EH T = EH T

14 EEE377 Lecture Notes14 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.

15 EEE377 Lecture Notes15 Error detection and correction Example 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. 1)The decoder uses r and the H T to find the error syndrome, s S=r.H T = 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

16 EEE377 Lecture Notes16 Error detection and correction Exercise i)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. ii)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.

17 EEE377 Lecture Notes17 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 7 th April 2011


Download ppt "EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14."

Similar presentations


Ads by Google