Предположим, что мы хотим передать по каналу связи слово АРБУЗ.
В результате вместо слова АРБУЗ до получателя дойдет КАРТУЗ.
Оно состоит из двух слогов, и, допустим, что источник сообщения способен произвести 65 536 слогов. Таким образом, чтобы закодировать один слог потребуется 16 бит (65536 = 2¹⁶), и, следовательно, энтропия каждого слога равна 16 бит.
Скорость передачи сообщения – 1 слог в единицу времени (секунда).
Пропускная способность канала С, с другой стороны, это максимальное число бит, которое можно передать по нему в единицу времени без ошибок.
Допустим, что С тоже равна 16 бит/сек, но наличие шума в канале уменьшает его пропускную способность до 4 бит/сек. Это означает, что передаваемые с прежней скоростью слоги будут доходить с ошибками, поскольку в последовательности из 16 нулей и единиц некоторые нули будут интерпретироваться как единицы и наоборот.
Решение состоит в том, чтобы передавать каждый слог избыточное число раз – например, 4 – и выбрать в качестве действительно передаваемого слога тот, который придет наибольшее число раз!
Избыточным кодом будет и так называемая проверка на четность: добавление к передаваемому блоку из 3 бит четвертого бита – единицы, если сумма передаваемых трех битов нечетна, и нуля иначе. Несоответствие четности полученной суммы информации, несомой избыточным четвертым битом, будет свидетельствовать о том, что в данном блоке содержится ошибка.
Идея избыточности Клода Шеннона развилась в целую теорию кодирования, но достаточность таких кодов для передачи сообщений без ошибок впервые строго обосновал именно он.
АР-КАР-АР-АР-БУЗ-ТУЗ-БУС-БУЗ