- •Челябинск
- •Оглавление
- •Основные понятия. Передача кодовых комбинаций
- •Системы счисления и математические операции с двоичными числами
- •Классификация кодов
- •Число-импульсный код
- •Код Морзе
- •Код Бодо́
- •Международный телеграфный код
- •Код Грея
- •Помехозащищенные (корректирующие) коды Основные понятия
- •Коды с обнаружением ошибок Код с четным числом единиц
- •Код с удвоением элементов
- •Инверсный код
- •Код с постоянным числом единиц и нулей в комбинациях (код с постоянным весом)
- •Распределительный код Сln
- •Код с проверкой на четность
- •Код с числом единиц, кратным трем
- •Код с удвоением элементов (корреляционный код)
- •Коды Хемминга
- •Циклические коды
- •Итеративные коды
- •Библиографический список
Распределительный код Сln
Распределительный код Это также разновидность кода с постоянным весом, равным единице. В любой кодовой комбинации содержится только одна единица. Число кодовых комбинаций в распределительном коде
Кодовые комбинации при n=6 можно записать в виде 000001,000010,000100,001000,010000,100000. Сложение по модулю 2 двух комбинаций показывает, что они отличаются друг от друга на кодовое расстояние d=2.
Код с проверкой на четность
Недостатком кода с четным числом единиц является необнаружение четных групповых ошибок. Этого недостатка лишены коды с проверкой на четность, где комбинации разбиваются на части, из них формируется матрица, состоящая из некоторого числа строк и столбцов:
Строки образуются последовательно по мере поступления символов исходного кода. Затем после формирования т строк матрицы производится проверка на четность ее столбцов и образуются контрольные символы . Контрольные символы образуются путем суммирования по модулю 2 информационных символов, расположенных в столбце:
.
При таком кодировании четные групповые ошибки обнаруживаются. Не обнаруживаются лишь такие ошибки, при которых искажено четное число символов в столбце.
Можно повысить обнаруживающую способность кода путем одновременной проверки на четность по столбцам и строкам или столбцам и диагоналям (поперечная и диагональная проверка).
Если проверка проводится по строкам и столбцам, то код называется матричным.
Проверочные символы располагаются следующим образом:
;
.
В этом случае не обнаруживаются только ошибки четной кратности с кратностью 4, 8, 16 и т.д., при которых происходит искажение символов с попарно одинаковыми индексами строк столбцов. Наименьшая избыточность кода получается в том случае, когда образуемая матрица является квадратной.
Недостатком такого кода является необходимость внесения задержки в передачу информации на время, необходимое для формирования матрицы.
Матричный код позволяет исправлять одиночные ошибки. Ошибочный элемент находится на пересечении строки и столбца, в которых имеется нарушение четности.
Код с числом единиц, кратным трем
Этот код образуется добавлением к k информационным символам двух дополнительных контрольных символов (m=2), имеющих такие значения, чтобы сумма единиц, посылаемых в линию кодовых комбинаций, была кратной трем.
Таблица 3
Информационные символы k |
Контрольные символы m |
Полная кодовая комбинация |
000110 100011 101011 |
10 00 11 |
00011010 10001100 10101111 |
Код с удвоением элементов (корреляционный код)
Элементы данного кода заменяются двумя символами, единица ‘1’ преобразуется в 10, а ноль ‘0’ в 01.
Вместо комбинации 1010011 передается 10011001011010. Ошибка обнаруживается в том случае, если в парных элементах будут одинаковые символы 00 или 11 (вместо 01 и 10).
Например, при k=5, n=10 и вероятности ошибки , . Но при этом избыточность будет составлять 50%
Коды Хемминга
Коды Хэмминга (Hamming codes) — это простой класс блочных кодов, которые имеют следующую структуру:
,
где m= 2,3,… Минимальное расстояние этих кодов равно 3, поэтому они способны исправлять вес однобитовые ошибки или определять все ошибочные комбинации из двух или менее ошибок в блоке. Декодирование с помощью синдромов особенно хорошо подходит к кодам Хэмминга. Фактически синдром можно превратить в двоичный указатель местоположения ошибки. Хотя коды Хэмминга не являются слишком мощными, они принадлежат к очень ограниченному классу блочных кодов, называемых совершенными.