|
Некоторые примеры простейших помехоустойчивых кодов.
Код Грея
В простом двоичном коде при переходе от изображения одного числа к изображению другого (старшего или младшего) соседнего с ним, может происходить изменение цифр в нескольких разрядах
Табл. ХХ
Десятичное число | Двоичный код | Код Грея | Десятичное число | Двоичный код | Код Грея |
Но многие процессы (например, в телеметрии и телемеханике) протекают последовательно, эволюционно, без «прыжков».
В этом случае используются специальные двоичные коды, у которых при переходе от одного числа к соседнему изменяется значение цифры только одного разряда.
Код Грея – непозиционный блочный неразделимый код.
Первые 16 его элементов записываются так, как показано в табл. ХХ.
Алгоритм кодирования и декодирования
Для получения кода Грея достаточно сдвинуть комбинацию простого двоичного кода на один разряд вправо, поразрядно просуммировать её с первичной кодовой комбинацией по модулю 2 и откинуть младший разряд полученной суммы.
Декодирование кода Грея в двоичный простой код выполняется следующим образом: первая цифра кода остаётся без изменений; вторая цифра равна сумме по модулю 2 первой и второй цифр (1Å2); третья = 1Å2Å3; четвёртая 1Å2Å3Å4 и т.д.
Пример: закодировать число 78.
78=64+8+4+2 Þ 1001110 Þ Грея: 1 0 0 1 1 1 0
Å
1 0 0 1 1 1 0
Результат: 1 1 0 1 0 0 1
Обратный переход: 1001110Þ78дес
Несмотря на то, что код Грея не обладает корректирующей избыточностью, он сам по себе может обнаруживать почти все и исправлять некоторые ошибки.
Коды с постоянным весом.
Это равномерные блочные коды с постоянным количеством единиц в каждой кодовой комбинации.
Пример – международный телеграфный код №3 – у него в каждом кодовом слове 3 токовых и 4 бестоковых импульса. Отклонение от этого стандарта – ошибка.
Для таких кодов количество кодовых слов длиной n c l единицами составляет:
N = Сln =(n!)/[ l!*(n-l)!]
Такой код получается из простого двоичного кода при помощи отбора комбинаций, имеющих одинаковое число l единиц. Приёмник подсчитывает кол-во единиц в принятом слове и обнаруживает ошибки, если кол-во единиц отлично от l.
У этих кодов dmin =2 и они обнаруживают все ошибки нечётной кратности, а также ошибки чётной кратности, если они изменяют кол-во единиц.
Избыточность кода:
R= 1-(log2N)/n
Коды с проверкой на чётность (нечётность).
Являются наиболее распространёнными кодами, используемыми для выявления одиночных ошибок и всех ошибок нечётной кратности.
Коды содержат (n -1) информационных и один проверочный разряд и обозначаются (n,n -1)-коды. У них dmin =2.
Строятся так: в дополнительный проверочный разряд записывают «0» или «1» так, чтобы общее количество единиц в комбинации было чётным (нечётным).
Для определения ошибки на приёмной стороне выполняют проверку на чётность (нечётность) всей принятой комбинации.
Избыточность кода:
R=1-n/(n+1)=1/(n+1)
Дата добавления: 2015-11-14; просмотров: 153 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Требования к представляемым материалам | | | Код с простым повторением. |