- the simplest error correction code is the repetition code
- each bit is sent an odd number of times
*Example*

Encoding:original data encoded data 0 000 1 111

Decoding:

received data decoded data 000 0 001 0 010 0 100 0 011 1 101 1 110 1 111 1

- one error can be corrected or two errors can be detected
- if the raw BER is 10
^{-6}then after error correction, the probability of error is equal to the probability of 2 or 3 errors - the
*rate*of the code is 1/3 low

- codes with higher rates are better
- instead of adding one parity check bit, several parity check bits can be added
- instead of encoding one bit at a time, several bits can be encoded at one time
- the rate can be increased without decreasing the coding performance