Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛекПТИ_Михеев.doc
Скачиваний:
58
Добавлен:
16.01.2019
Размер:
2.52 Mб
Скачать

4 Помехоустойчивое кодирование

Помехоустойчивое кодирование

Необходимость передачи цифровых сообщений на значительные расстояния, использование сетевых технологий предъявляют повышенные требования к достоверности передачи, обработки и ранения информации. Простые двоичные коды не удовлетворяют этим требованиям. Рассмотрим простой трехразрядный код: 000,

001,

010 …

Для простого двоичного кода искажения любого символа воспринимаются как другая кодовая комбинация. В результате на приемной стороне принимается ошибочная кодовая комбинация. Оценим вероятность такой ошибки.

Пусть р – вероятность искажения одного символа, а q – вероятность правильного приема одного символа.

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

Тогда q=1 – p.

Так как символы искажаются независимо друг от друга, то вероятность правильного приема комбинации из n символов:

(4.1)

Вероятность искажения кодовой комбинации:

(4.2)

При и менее (1– р)n≈1–рn. Тогда Ркnp. Для .

Для повышения достоверности приема цифровых сигналов используют помехоустойчивое кодирование.

Основной принцип помехоустойчивого кодирования

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

- число разрешенных кодовых комбинаций.

- число запрещенных кодовых комбинаций.

Для исключения возможности перехода одной разрешенной комбинации в другую разрешенную кодовую комбинацию выполняется соотношение .

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

Избыточность кода можно оценить выражением:

(4.3)

- число избыточных символов в переданной кодовой комбинации.

Декодирование избыточных кодов

Декодирование избыточных кодов можно осуществить двумя способами:

  1. Декодирование с обнаружением ошибок.

  2. Декодирование с исправление ошибок.

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

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

Рассмотрим это на примере. Пусть . Тогда N=8, но используется всего кодовые комбинации, а именно 000 и 111. Каждой из этих разрешенных кодовых комбинаций соответствует своя группа запрещенных кодовых комбинаций

а) б)

Если принята одна из запрещенных кодовых комбинаций группы а), то наиболее вероятно, что была передана разрешенная комбинация 000, а если из группы б), то передана комбинация 111.

Введение избыточных символов позволяет существенно увеличить вероятность правильного приема.

Для двоичного симметричного канала передачи вероятность ошибочного приема любых l символов в n-элементной кодовой комбинации подчиняется биномиальному закону распределения

Pn(l)=Cnlpl(1-p)n-l.

Неправильный прием одного, двух, и т.д. элементов из n-элементной кодовой комбинации обозначают термином «одиночная», «двойная» и т. д. ошибка соответственно. Или говорят, что произошла ошибка кратности l.

Если код исправляет ошибки кратности t, то вероятность ошибочного приема кодовой комбинации равна

. (4.4)

Пусть исправляется ошибка кратности t=1. Тогда из (4.4) для рассмотренного выше примера (где n=8) получим:

РК=8*10-3 – 8*10-3*0.9997)≈5.6*10-5.

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

Кодовое расстояние

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

Кодовым расстоянием d называется минимальное количество разрядов в которых одна кодовая комбинация отличается от другой кодовой комбинации.

Для конкретного кода кодовым расстоянием данного кода называется минимальное число элементов, которыми одна кодовая комбинация данного кода отличается от другой кодовой комбинации того же кода.

Иногда кодовое расстояние называется хемминговым расстоянием (по имени Ричарда Хемминга, основателя помехоустойчивых кодов) .

У простого двоичного кода d=1. Каким должно быть кодовое расстояние у кодов, обнаруживающих ошибки, и у кодов, исправляющих ошибки?

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

Пусть имеется n-разрядный двоичный код. Выберем 2 кодовые комбинации и , которые будем считать разрешенными (рисунок 4.1). Каждой разрешенной кодовой комбинации соответствует свое подмножество запрещенных кодовых комбинаций с одиночными ошибками. Число их равно Cn1, а кодовое расстояние относительно исходной кодовой комбинации d=1. Графически это представляется окружностью с радиусом d=1.

Рисунок 4.1 – Определение кодового расстояния

Аналогично, подмножество запрещенных кодовых комбинаций с двойной ошибкой имеет кодовое расстояние относительно исходной d=2, а число их равно Cn2. И так далее до ошибок кратности t включительно.

Для того чтобы при приеме восстановить именно кодовую комбинацию необходимо, чтобы набор ее запрещенных кодовых комбинаций не пересекался с набором запрещенных кодовых комбинаций .

Для исправления ошибок кратности t кодовое расстояние должно удовлетворять условию: .

Для исправления ошибки кратности s кодовое расстояние должно быть:

.

Если код должен исправлять ошибки кратности t и обнаруживать ошибки кратности s, то кодовое расстояние должно быть не менее

Помехоустойчивые коды делятся на два больших класса:

  1. Блоковые коды;

  2. Непрерывные коды.

Для блоковых кодов к каждой исходной комбинации добавляется блок избыточных символов и получается новая комбинация (рисунок 4.2).

Рисунок 4.2 – Построение блокового кода

Различают разделимые и неразделимые блоковые коды. В разделимых блоковых кодах k символов являются информативными, а r - проверочными.

Такие коды обозначают как (n,k) – коды.

Для неразделимых кодов разделить символы на информативные и проверочные невозможно (см. далее корреляционный код).

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

ПРОСТЕЙШИЕ ИЗБЫТОЧНЫЕ КОДЫ

Код с четным числом единиц. Код с четным числом единиц образуется из исходного k-элементного кода добавлением еще одного элемента, нуля или единицы, таким образом, чтобы количество единиц в новой кодовой комбинации было четным. Для определения дополнительного элемента все элементы исходной кодовой комбинации складывают по модулю 2:

0 1 1 1 0 1 1 0 = 1,

0 0 1 1 0 1 1 0 = 0.

Таким образом, число элементов в новой кодовой комбинации n=k+r=k+1. Избыточность кода с четным числом единиц

. (4.5)

Этот код имеет кодовое расстояние d=2 и обнаруживает все нечетные ошибки.

Корреляционный код

При построении корреляционного кода каждый элемент исходного кода преобразуется в 2 элемента:

1 à 10,

0 à 01.

Таким образом, корреляционный код относится к непрерывным кодам.

Если исходная комбинация содержит k элементов, то новая кодовая комбинация – n=2k. Избыточность корреляционного кода R=0,5 .

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

РНО=р2. В корреляционном коде в линию связи всегда передается одинаковое число 0 и 1, что обеспечивает эффективное использование ее пропускной способности.

Соседние файлы в предмете Прикладная теория информации