- •1. Введение
- •2. Сведения из теории корректирующих кодов
- •2.1. Общие сведения
- •2.2. Коды с проверкой на четность
- •2.3. Кодирование циклическим кодом
- •2.4. Декодирование циклических кодов
- •2.5. Обнаружение ошибок
- •2.6. Исправление ошибок
- •3. Оценка помехоустойчивости кода
- •4. Лабораторная установка
- •5. Рекомендуемый порядок лабораторных исследований
- •6. Контрольные вопросы
- •7. Литература
Лабораторная работа 7 |
Код с проверкой на четность и циклический код |
1. Введение
В цифровых системах связи широко применяются корректирующие коды, т.е. коды, способные обнаруживать и исправлять ошибки, возникающие в канале с шумом. Особенно часто используют коды с однократной проверкой на четность и циклические коды с кодовым расстоянием, равным трем.
Цель настоящей работы – изучение принципов построения кодера и декодера, а также экспериментальное исследование корректирующей способности кодов на примере кода с проверкой на четность (7,6) и циклического кода (7,4).
2. Сведения из теории корректирующих кодов
2.1. Общие сведения
В дискретных каналах с шумом передача символов сопровождается случайными ошибками. Основным способом повышения помехоустойчивости системы передачи информации (СПИ) в этих условиях является разумное введение избыточности в передаваемый сигнал.
Идея рационального введения избыточности в передаваемый сигнал реализуется применением корректирующих кодов. Наиболее часто применяют блочные корректирующие коды. Информационная кодовая комбинация (КК) с выхода источника сообщений содержит k разрядов a=a1, a2,…, ak, где ai=0;1. Считается, что она не имеет избыточности. Будем рассматривать только двоичные коды (основание кода m=2). Число всех возможных КК от источника N=mk=2k. В пространстве двоичных КК вводят понятие расстояния Хэмминга. Расстоянием Хэмминга dij называет число символов, в которых кодовые комбинации ai и aj отличаются друг от друга. Для двоичного кода расстояние dij удобно определять как вес (количество единиц) кодовой комбинации, полученной в результате суммирования ai и aj по модулю два (mod 2). Суммирование по mod 2 выполняется по правилу
00=0, 01=1, 10=1, 11=0. |
(7.1) |
Вес КК равен количеству единиц, содержащихся в ней.
Для кодов, использующих в качестве разрешенных все N=2k кодовых комбинаций, минимальное значение расстояния равно единице. Такие коды называют безызбыточными. Они не позволяют обнаруживать и исправлять ошибки, возникающие в канале связи. Для осуществления коррекции ошибок вводят избыточность:
1) в виде r лишних, избыточных символов; тогда длина КК увеличивается и становится равной п=k+r. При этом избыточность кода оценивают как R=r/п;
2) выделением из общего числа N кодовых комбинаций Np разрешенных, используемых для передачи. Остальные Nз=N–Np комбинаций являются запрещенными. Величина избыточности равна Ошибки в канале связи обычно (но не обязательно) переводят разрешенную КК в запрещенную и таким образом обнаруживаются.
Отличие (расстояние) между переданной и принятой КК называют кратностью ошибки q. Корректирующие коды могут обнаруживать и даже исправлять некоторые ошибки, возникающие при передаче по каналу связи. Для характеристики корректирующих свойств кода вводят понятие кодового расстояния, т.е. минимального расстояния Хэмминга для данного кода
dкод=min dij, ij. |
(7.2) |
При грамотном введении избыточности в передаваемый сигнал минимальное расстояние увеличивается и становится dкод>l. Связь между кратностью обнаруживаемой ошибки qo, кратностью исправляемой ошибки qи и величиной кодового расстояния определяется так:
dкодqo+1, dкод2qи+1. |
(7.3) |
Таким образом, для обнаружения любой однократной ошибки (qo=1) корректирующий код должен иметь хотя бы dкод =2, а для исправления любой однократной ошибки (qи=1) нужно иметь dкод =3.