Код Морзе является неравномерным первичным кодом. Характерной особенностью неравномерных кодов является различие между кодовыми комбинациями не только взаимным расположением элементов, но и их количеством.
Применение неравномерных кодов позволяет в принципе учесть статистику сообщений и обеспечить разновидность эффективного кодирования, т.е. часто встречающиеся в тексте знаки кодируются короткими комбинациями, а редко встречающиеся – длинными.
К понятию помехоустойчивого кодирования
В соответствии с теоремой К.Э. Шеннона для канала с помехами справедливо утверждение: если скорость передачи информации меньше пропускной способности канала, то существует метод кодирования, позволяющий получить сколь угодно малую вероятность ошибки на символ. В данном случае имеется в виду не эффективное кодирование (как для канала без помех), а помехоустойчивое кодирование, задачей которого является обнаружение и исправление ошибок в принятых кодовых комбинациях. Таким образом, вторая теорема К. Шеннона является принципиальным условием помехоустойчивого кодирования.
Рассмотрим два случая.
Случай 1. Пусть имеется куб (рис.1 а), вершины которого соответствуют некоторому алфавиту передаваемых сообщений (числу кодовых комбинаций). Предположим, передается кодовая комбинация (КК) «000», а в результате большого уровня помех в канале принимается «010». Так как все КК соответствует конкретному сообщению, то декодер, совершенно «не задумываясь» выдаст сообщение, соответствующее КК «010». Но на самом деле оно ошибочно!
Случай 2. Рассмотрим тот же куб (рис. 1 б), но разрешенными признаем всего две КК - «000» и «111», т.е. только за ними будут закреплены сообщения. Остальные КК, соответствующие вершинам куба для декодера определим запрещенными. Это означает, что за ними не закрепляются сообщения и в случае, если декодер на приемной стороне их примет, он "должен их признать" ошибочными, т.е. ошибка, имеющая место в первом случае обнаружится. Как видно из рисунка, ошибочный прием возможен только в ситуации, когда ошибочными будут все три разряда.
Таким образом, рассмотренные случаи показывают следующую принципиальную основу помехоустойчивого кодирования: ошибки, возникающие в канале связи можно обнаруживать (и даже исправлять, что будет показано в дальнейшем) если код обладает избыточностью, т.е. он имеет запрещенные кодовые комбинации.
В помехоустойчивом коде k элементов называют информационными, а r=n-k - проверочными, где n - число элементов в кодовой комбинации. Кодером определено устройство ввода избыточности в первичный цифровой сигнал. Декодер - устройство, осуществляющее обнаружение и исправление ошибок в принятом кодовом слове. Кратность ошибки - число искаженных символов в кодовом слове.