Классификация помехоустойчивых кодов

ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ

Классификация помехоустойчивых кодов

Известно большое количество помехоустойчивых кодов, в основу которых положены структурные характеристики кодов. В целом все коды делят на две самостоятельные группы. К первой относят коды, использующие все возможные комбинации — неизбыточные коды, или в литературе их еще называют простыми. Ко второй группе относятся коды, использующие лишь определенную часть всех возможных комбинаций. Такие коды, согласно ГОСТ 17657-79, называются избыточными. Как показал Клод Шеннон в теореме о кодировании, для дискретного канала с помехами помехоустойчивость передачи сообщения может быть обеспечена за счет избыточности. Нас в дальнейшем будут интересовать именно такие помехоустойчивые коды. Эти коды могут исправлять независимые ошибки и/или пакетные ошибки или стирания. На рис. 12.1 представлены примеры классов ошибок. Независимые ошибки — это такие ошибки, которые возникают в любом месте кодового слова и их возникновение не зависит от предыдущих или последующих ошибок.

Рис. 12.1. Примеры классов ошибок

Пакетные ошибки — это такие ошибки, которые обычно возникают в определённой области кодового слова. Код, ориентированный на исправление таких ошибок, имеет так называемое скользящее окно, все ошибки, попадающие в это окно, исправляются (рис. 12.1). Стирания — это ошибки, позиция которых известна, но неизвестно истинное значение. Стирания встречаются редко, т. к. в основном заранее неизвестно, в каком разряде произошло искажение. Независимые ошибки являются общим случаем классов ошибок. Гарантированное их исправление в необходимом объёме позволяет также исправлять остальные классы ошибок.

Каждый электрик должен знать:  Системы охлаждения силовых трансформаторов

Ввиду этого, на рис. 12.2 представлена классификация только избыточных кодов. Однако при всем их многообразии дать абсолютно точное их разделение на самостоятельные группы и подгруппы, чтобы ни одна из них не содержала признаков других групп, практически невозможно. Поэтому в классификации на рис. 12.2 приведено чисто условное разделение кодов. Все коды на рис. 12.2 в той или иной степени обладают корректирующими способностями, однако в классификации не рассматриваются коды типа Лаби Трансформ, исправляющие стирания.

Избыточные коды разделяются на коды для обнаружения и исправления ошибок в работе устройств преобразования данных и коды, позволяющие контролировать ошибки при передаче данных.

К кодам для обнаружения ошибок в работе устройств преобразования данных относятся коды Фибоначчи, AN-коды, остаточные коды, коды «золотой» пропорции, коды, обеспечивающие контроль по вычету, и т. п. Область применения таких кодов: арифметические, логические и управляющие операции, аналого-цифровые и цифро-аналоговые преобразования. В вычислительных системах и комплексах с помощью данного класса кодов осуществляется введение избыточности на самом раннем этапе их проектирования.

Коды, позволяющие контролировать передачу информации, являются классом равномерных кодов. Равномерные коды — это коды, все комбинации которых содержат постоянное количество разрядов.

Каждый электрик должен знать:  Заземление водонагревателя в квартире и частном доме

По способу ввода избыточности коды можно разделить на блоковые (блочные) и непрерывные (древовидные). Блоковый код состоит из набора кодовых слов фиксированной длины. При блоковом кодировании каждый блок информационных символов обрабатывается отдельно. В свою очередь, непрерывный кодер обладает памятью в том смысле, что кодовая последовательность зависит не только от информационных символов, находящихся на данный момент в процессе кодирования, но и от предыдущих, уже прошедших кодирование ранее.

В корректирующих непрерывных кодах избыточность вводится без разбивки последовательности символов па отдельные блоки. Кодовые символы зависят от предыдущих информационных символов, а в реку- рентных или цепных кодах — и от последующих. Данный класс кодов характеризуется достаточно простыми кодирующими устройствами и сложными итерационными декодирующими схемами (в случае свёрточных кодов по алгоритму Витсрби).

Рис. 12.2. Классификация помехоустойчивых кодов

В данном курсе класс непрерывных кодов нс рассматривается. Подробнее остановимся на классе блоковых (блочных) кодов.

Блочные коды представляют собой обширную группу помехоустойчивых кодов, в которых каждое сообщение передается строго определенным набором символов. В зависимости от способа разделения проверочных символов эти коды делятся на разделимые и неразделимые.

В разделимых кодах информационные разряды и проверочные позиции всегда расположены на одних и тех же местах.

Каждый электрик должен знать:  Как выбрать паяльник для пайки проводов и микросхем

Неразделимые коды нс имеют четкого разделения кодовой комбинации на информационные и проверочные символы. В неразделимых кодах определение правильности принятого сообщения производится по количественному сопоставлению определенных качественных признаков в переданных и принятых сообщениях. К неразделимым кодам относятся коды с постоянным весом, код Плоткина. К этой группе может быть отнесен и код Грея, который сам по себе не обладает корректирующей избыточностью, но при соответствующих ограничениях может обнаруживать одиночные ошибки. В коде Грея каждая последующая комбинация отличается от предыдущей одним символом. Этот код не может корректировать ошибки какой-либо кратности, поэтому не представляет для нас интереса.

Код Плоткина — равномерный блочный код, позволяющий корректировать симметричные и независимые ошибки. Широкого применения он не нашел, т. к. требует для своей реализации сложные кодирующие и декодирующие устройства.

Коды с постоянным весом — равномерные блочные коды с постоянным количеством единиц в каждой кодовой комбинации. Эти коды используются для обнаружения ошибок (например, международный телеграфный код № 3), но не обладают корректирующими свойствами.

Разделимые блоковые коды могут быть систематическими и несистематическими. Кодовые слова систематических кодов в старших разрядах содержат информационные символы, в младших — контролирующие символы. В несистематических кодах символы перемешаны. Так как наиболее полно разработан класс систематических кодов, то рассмотрим его детальнее.

Добавить комментарий