Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИКСиС.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.7 Mб
Скачать

1.1.4 Обнаружение и исправление ошибок. Декодирующее устройство

Рассмотрим процедуру обнаружения ошибок в принятой кодовой комбинации. Обнаружение ошибок может быть основано на сравнении принятой кодовой комбинации со всеми разрешенными. Если принятая кодовая комбинация совпадает с одной из разрешенных, то можно сделать вывод о том, что ошибок при передаче не было или переданная (разрешенная) кодовая комбинация Аi перешла в другую разрешенную кодовую комбинацию Аj. Если принятая кодовая комбинация не совпадает ни с одной из разрешенных, то делается вывод о том, что произошла ошибка (или ошибки) в этой кодовой комбинации. Однако такой алгоритм декодирования требует сравнения принятой кодовой комбинации со всеми разрешенными и является, поэтому, весьма громоздким, особенно в том случае, когда число разрешенных кодовых комбинаций велико.

Воспользуемся знанием правил формирования проверочных элементов и сформируем на приеме проверочные элементы по принятым информационным. Очевидно, что сформированные на приеме проверочные элементы ,... должны совпадать при отсутствии ошибок с принятыми проверочными элементами , ,… Они будут совпадать также и в том случае, если переданная (разрешенная) кодовая комбинация Аi перешла в другую разрешенную .

Сравнение элементов , ... и , , ... можно выполнить путем попарного суммирования этих элементов, т. е.  ,  … При отсутствии ошибок  = 0,  = 0 и т. д. Последовательность b1 =  , b2 =  ... называется синдромом, элементы которого b1, b2, b3,..., br, при отсутствии ошибок равны нулю. Если хотя бы один элемент синдрома не равен нулю, то можно утверждать, что принятая кодовая комбинация содержит ошибки.

Пример3.6. Пусть код (6,3) (d0 = 3,tо.ош. = 2, tи.ош. = 1) задан системой проверок (3.5) — (3.7) и при передаче кодовой комбинации 101 100 на приеме получили 001 101, т. е. искажены элементы a1 и а6 т.е. вектор ошибок равен Е=100001. Вычислим элементы синдрома b1, b2, b3:

Так как синдром b1, b2, b3 отличен от нуля, то ошибка обнаружена.

Декодер для кода (7,4), работающий в режиме обнаружения ошибок, представлен на рис. 3.2. Выходы сумматоров, в которых формируются элементы синдрома, по-даются на схему ИЛИ. С выхода последней снимается единица (сигнал «ошибка») при

обнаружении ошибок. При этом приемник отвергает принятое кодовое слово. Такой отказ от принятого кодового слова называется стиранием и обычно предполагает повторение кодового слова заново.

Операцию нахождения синдрома можно представить как определение произведения проверочной матрицы H на , где — транспонированный вектор принятого кодового слова. При отсутствии ошибок H = 0,

где

; .

Отсюда имеем систему уравнений

Вид синдрома будет определяться только вектором ошибок и не зависит от вида переданной кодовой комбинации. Действительно, так как , где Е — вектор ошибок, то

.

Рассмотренный в примере (3.6) код (6,3) имеет кодовое расстояние d0=3 и способен исправлять однократные ошибки. Если неправильно принят элемент а2 (Е=010000), то из системы уравнений

, (3.9)

, (3.10)

(3.11)

получаем b1 = 0, b2 = 1, b3 = 1, так как а2 входит в (3.10) и (3.11) и не входит в (3.9). Значения синдромов для случая, когда имеется одиночная ошибка в том или ином элементе, приведены в табл. 3.2.

Таблица 3.2  Значения синдромов при обнаружении одиночной ошибки

Ошибка

Синдром

101

011

111

100

010

001

Рис. 3.3 - Декодирование с исправлением ошибок для кода (7,4)

Нетрудно заметить, что вид синдрома, соответствующий искаженному элементу , совпадает с i-м столбцом матрицы (3.8). Это со всей очевидностью следует из следующей записи:

для случая, когда Е = 100000. Нетрудно догадаться, что если имела место двукратная ошибка, например, в i- и j-м элементах, то синдром был бы равен сумме i-го и j-го столбцов матрицы Н. Так, если i=l, а j=3, то b1b2b3 = 010, т. е. будет сделан неверный вывод о том, что искажен элемент , так как код двукратные ошибки не исправляет.

Структурная схема декодера с исправлением одиночных ошибок для кода (7,4) приведена на рис. 3.3. На вход декодера поступает кодовая комбинация, сформирован-ная кодером, изображенным на рис. 3.1. По принятой комбинации вычисляется синд-ром, который подается на дешифратор «синдром-ошибка». При одиночной ошибке на одном из выходов дешифратора появляется «1» (элемент вектора ошибки). Сложение вектора ошибки с принятой комбинацией приводит к исправлению ошибки.