Простейшие коды, обнаруживающие ошибки
Код с удвоением элементов
Каждый символ безызбыточной комбинации дополняется противоположным проверочным, т.е. 1 записывается в виде 10, а 0 - в виде 01. Так, кодовая комбинация 10101 после кодирования превращается в следующую: 10.01.10.01.10.
Данный код обнаруживает все ошибки в одном разряде (одиночные) и в нескольких разрядах (кратные), кроме тех, при которых искажаются оба символа, отображающие один и тот же символ кодируемой комбинации.
Декодирование сводится к процедурам:
1. Разделяются информационные и проверочные символы.
2. Последовательность проверочных символов инвертируется (каждый символ 1 заменяется на 0 и наоборот).
3. Инвертированная и информационная последовательности суммируются поразрядно по модулю 2.
4. Анализируется полученная сумма. Наличие в сумме единиц означает ошибки в принятой комбинации.
Поскольку каждому символу исходной комбинации соответствует два символа после кодирования, коэффициент избыточности такого кода Kизб = 0,5.
Код с четным числом единиц
В этом случае кодирование сводится к добавлению в исходную комбинацию еще одного - проверочного символа. Значение проверочного символа выбирается таким, чтобы сумма по модулю 2 всех символов с учетом проверочного была равна 0, т.е. чтобы в закодированной комбинации было четное число единиц.
Код позволяет обнаруживать все ошибки: одиночные и нечетной кратности. Обнаружение ошибок сводится к проверке на четность суммы всех элементов принятой комбинации. Невыполнение условия четности означает наличие ошибки в проверяемой комбинации.
Инверсный код
Кодирование в данном коде заключается в следующем. Если кодируемая комбинация содержит четное количество единиц, она повторяется дважды в неизменном виде, если нечетное - информационная комбинация продолжается информационной инвертированной. Например, комбинация 0011 кодируется так: 0011.0011, а комбинация 0111 - так: 0111.1000.
Декодирование производится следующим образом.
1. Суммируются единицы в основной части полученной комбинации. Если их количество оказывается четным, то основная комбинация суммируется по модулю 2 о дополнительной, если нечетным - дополнительная часть комбинации инвертируется, а затем суммируется по модулю 2 с основной.
2. Анализируется полученная сумма. Принимается решение о наличии ошибок в случае, если в сумме есть хотя бы одна единица.
Код не обнаруживает ошибок лишь тогда, когда одновременно искажаются два, четыре и т.д. элемента в основной комбинации и соответствующие им два, четыре и т.д. элемента в дополнительной.
Избыточность такого кода Kизб = 0,5.
Литература:
[1] стр. 235-241. [2] стр. 257-262. [3] стр. 131-134
Контрольные вопросы:
1. Дайте определение блочных и непрерывных кодов.
2. Чем обусловлена помехоустойчивость исправляющих и обнаруживающих ошибки кодов? В чем их различие?
3. Могут ли исправляющие коды применяться для обнаружения ошибок?
4. Какие ошибки не обнаруживает код с удвоением элементов?
5. Какие ошибки не обнаруживает инверсный код?
Дата добавления: 2016-06-24; просмотров: 1069;