Sie sind auf Seite 1von 3

Error-correcting codes - Combat error by introducing redundancy - Recognize typographical errors and correct them - A binary code using

the numbers 0 to 32 in base 2 = 00000 A = 00001 B = 00010 C = 00011 E = 00101 F = 00110 G = 00111 H = 01000 J = 01010 K = 01011 L = 01100 M = 01101 O = 01111 P = 10000 Q = 10001 R = 10010 T = 10100 U = 10101 V = 10110 W = 10111 Y = 110001 Z = 11010 , = 11011 . = 11100 : = 11110 ; = 11111

D I N S X ?

= 00100 = 01001 = 01110 = 10011 = 11000 = 11101

- For example, SUSIE 10011 10101 10011 01001 00101 An example of a single-error-correcting code - A Powerful Read-Muller code was used for error correction. - Transformed 6 binary digit messages into 32 binary digit strings called codewords. - Example 1 1) We assume that every message we want to transmit consists of just 3 binary digits. So, there are 8 possible messages and we represent it by the intergers from 0 to 7. 2) We will add an extra 5 redundant digits to each message to give codewords of length 8. 0 = 000 000 00000 1 = 001 001 10110 2 = 010 010 10101 3 = 011 011 00011 4 = 100 100 10011 5 = 101 101 00101 6 = 110 110 00110 7 = 111 111 10000 3) We find out that each codewords differ in exactly four places. For example, if we compare 001100110 with the codeword 01010101, we find that the two codewords differ in exactly four places the second, third, seventh and eigth places. - Example 2 1) We receive a message 00111110 2) Use the principal of maximum likelihood to decode a received message. Compare the received message with the 8 codewords and see which codeword is closest to the received message.

3) We see that the codeword closest to 00111110 is 00110110 (just differ one places) 4) So we can assume that errors rarely occur, the most likely codeword to have been transmitted is 00110110 5) In this example, we have: 8 digit codewords with 3 information digits and 5 redundant digits 6) So we can say this code has information rate = Repetition codes - If we have a message we could decide to code it by repeating each digit n times. - Example If n = 5, we get repetition code of length 5 S 10011 11111 00000 00000 11111 11111 U 10101 11111 00000 11111 00000 11111 S 10011 11111 00000 00000 11111 11111 I 01001 00000 11111 00000 00000 11111 E 00101 00000 00000 11111 00000 11111 A decoding algorithm for a repetition code of length 5 - The following is an example of a decoding algorithm for any one 5-digit block: 1) Count the number of 1s 2) If number of 1s 3, write 11111 3) If number of 1s 2, write 00000 Are repetition codes worth bothering with? - A binary symmetrical channel, that is the probability of receiving an incorrect symbol is the same whether the symbol 0 or the symbol was sent. - Example 1) If The probability of a single digit being received incorrectly is The probability of a single digit being received correctly is 2) Assume we send the message 000, we will received 4 possible messages Possible Message Possible Decoded message sent messages message received 0 000 000 001 0 010 100

Pr (000)

0.970299

Pr (001)

0.009801

Pr (010)

0.009801

Pr (100)

0.009801

So, the probability of decoding message as o is given by: Pr (0) = Pr (000) + Pr (001) + Pr (010) + Pr (100) = 0.970299 + 3 0.009801 = 0.999702 Repetition codes are good at error correcting, but have very low information rates!

Das könnte Ihnen auch gefallen