Самое совершенное творение природы - "гомосапиенс" (человек разумный). Но, кажется, она наделила человека разумом затем, чтобы всю свою жизнь он посвятил борьбе с помехами. Передачу информации на расстояние люди осуществляли с глубокой древности. Естественно, что, зажигая цепочки сигнальных костров, посылая вдаль звуки барабана, сигнализируя дымом, нужно было одновременно проявлять заботу и о том, чтобы помехи не сорвали передачу: дождь не залил костры, ветер не отнес звуки в противоположную сторону, туман не скрыл дым...
Со временем люди стали нуждаться в более совершенных формах обмена информацией. Появилась письменность. Она совершенствовалась в течение многих поколений, и на всем этом долгом пути прослеживалось противоборство двух тенденций. Первая из них отражала стремление к более краткой передаче информации (с помощью небольшого количества знаков) и привела в конечном счете к иероглифическому письму. Каждый иероглиф обладает большой информативностью, запись текста с их помощью занимает небольшое пространство. Но вместе с тем небольшая ошибка в начертании иероглифа приводит к тому, что информация воспринимается неверно. Так, увеличение информативности знаков повышает вероятность ошибочного их понимания. (За все нужно платить!) Вторая тенденция в развитии письменности заключалась в стремлении к безошибочной передаче содержания текста. Результатом явилось создание буквенного, или алфавитного, письма. Эта система позволяет в большинстве случаев правильно понять текст, даже если в нем пропущено или искажено несколько букв. Такое свойство алфавитного письма называют "избыточностью". Конечно, избыточность удлиняет запись (некоторые буквы можно было бы выкинуть из нее без ущерба для содержания), но зато она уменьшает вероятность ошибочного понимания текста при его искажении.
В некоторых языках (как древних, так и сохранившихся поныне) для записи слов используются только согласные буквы. Считается, что необходимые гласные звуки добавит при прочтении сам читающий. Ясно, что подобное устранение избыточности из языка делает его более уязвимым перед искажениями.
Все, что мы говорили о письменности, относится и к другим видам информации. Чем больше ее избыточность, тем более помехоустойчивой она является. А нельзя ли искусственно ввести избыточность в цифровую информацию, представленную двоичными цифрами 0 и 1? Можно, но за это придется "платить". Поясним, в чем тут дело. Например, в коде Бодо каждая буква заменяется S-разрядным двоичным кодом, т.е. пятью битами 0 и 1. Данный код не является избыточным, так как искажение любого бита приводит к декодированию вместо переданной другой буквы, т. е. к ошибке. Сделать код избыточным можно только одним путем: добавить дополнительные биты к уже имеющимся. Но это приведет к тому, что каждая буква будет теперь передаваться медленнее. Так, введение в информацию избыточности влечет за собой снижение скорости ее передачи. Вот об этой "плате" и шла речь выше. Тем не менее разработчики цифровых систем передачи часто вполне сознательно идут на такой шаг - делают информацию избыточной с тем, чтобы обнаружить ошибки в принятых комбинациях двоичных символов, а если возможно, то и исправить их.
Помните, мы говорили, что на приемной станции цифровой системы передачи можно подсчитать число ошибочных решений, принятых регенератором, не зная даже, какой конкретный бит принят неверно. Покажем на примере кода Бодо, как это делается. Предположим, что передаются две комбинации цифр: 10101 и 01100. В них все биты являются "нужными", избыточности в этой информации нет. Введем ее искусственно: к информационным битам добавим шестой - контрольный, но сделаем это так, чтобы сумма единиц в передаваемой комбинации была четной. Иными словами, контрольный бит для первой комбинации нужно выбрать равным 1, а для второй - 0. Итак, в линию поступают уже не 5-, а 6-разрядные группы битов: 10101,1 и 01100,0 (запятую мы ввели условно, чтобы чисто зрительно отделить контрольный бит от информационных). Если теперь помеха исказит сигнал и какой-то бит будет принят неверно, т. е. вместо 1 регенератор выдаст 0 или, наоборот, вместо 0 будет зарегистрирована 1, то независимо от того, в каком разряде кодовой комбинации это произошло, сумма единиц в ней уже не будет четной. Таким образом наличие ошибки будет зафиксировано. Действительно, легко обнаруживается, что комбинация вида 00101,1 не могла быть передана, поскольку сумма единиц в ней нечетная. Точно так же ошибочными являются комбинации: 10101,0 и 01101,0.
Читать дальше