CS485 Sylabus

### One-dimensional parity-based error detection schemes

• Parity

• Parity:

 Parity = the state of being equal (from dictionary)

• Parity-based error detection scheme:

• Add some bits to the transmitted message so that:

 The number of 1 bits in the message is even (or odd)

(That is an exmaple of a pattern that I was eluding to in a previous webpage....)

• Error detection using a parity based scheme:

• When a message is received, the reciever checks for:

 the parity property

to verify if there was an error.

• One-dimensional Parity Scheme

• Even and Odd Parity:

• Even parity:

 Add one extra bit to the message so that the total number of 1's in the message is always even

• Odd parity:

 Add one extra bit to the message so that the total number of 1's in the message is always odd

• Examples:

 ``` Transmitted data (unprotected): 1111000 1010101 1111111 Even parity: 11110000 10101010 11111111 Odd parity: 11110001 10101011 11111110 ```

• Error Checking:

 When the received message does not have an even (or odd number of 1's in the even (or odd) parity method, the receiver will assume that the message is corrupted

• Property of the one-dimensional parity scheme

• Properties:

• Parity checks can detect all odd number of bit errors

• Each error will change the number of 1 bits:

• by +1:

 ``` Before: 11100111 (6 1's) After: 11101111 (7 1's) ```

or

• −1

 ``` Before: 11100111 (6 1's) After: 11100011 (5 1's) ```

• An odd number of bit errors will result in:

 A change of parity (I.e.: odd parity will become even parity and vice versa !!!)

Example:

 ``` Original data (unprotected): 1111000 Even parity: 11110000 Data with 1 bit error: 11010000 ===> 1 bit error results in odd parity !!! (error detected !!) ```

• Parity checks can not detect an even number of bit errors

Example:

 ``` Original data (unprotected): 1111000 Even parity: 11110000 Data with 2 bit errors: 11010100 ===> 2 bit errors results in even parity !!! Error cannot be detected !!! ```