Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СДЭС_Уч_метод_пос_кодирование2.doc
Скачиваний:
97
Добавлен:
03.12.2018
Размер:
1.89 Mб
Скачать

3.5.5. Метод Ченя и исправление ошибок

Для поиска корней σ(х) на множестве локаторов позиций кодовых символов используется метод проб и ошибок, получивший название метод Ченя. Для всех ненулевых элементов β GF(2m), которые генерируются в порядке 1, a, а2,... a14 проверяется условие σ(β-1) =0. Этот процесс легко реализуется аппаратно. На самом деле, поиск корней (факторизация) многочленов над GF(2m) является увлекательной математической задачей, которая еще ждет своего решения.

Для двоичных кодов БЧХ исправление ошибок на позициях j1, ..., jv, соответствующих найденным корням, сводится к инвертированию символов, принятых на этих позициях, т.е.

после чего, выдается восстановленное кодовое слово v(x).

Пример 37. Продолжая Пример 34, находим, что корни многочлена локаторов ошибок равны: 1, а9 = а-6 и а3 = а-12. Другими словами, получено следующее разложение многочлена на множители

Соответственно, восстановленный многочлен ошибок равен и

Три ошибки исправлены.

3.5.6. Исправление стираний и ошибок

Существует много ситуаций, когда решение о принятом символе не может считаться надежным. Рассмотрим, например, передачу двоичных символов по каналу с АБГШ с двоичной фазовой манипуляцией, т.е. с отображением 0→+1 и 1→ -1. Если значение принятого сигнала слишком близко к нулю, то возможно, более разумно, с точки зрения минимизации вероятности ошибки декодирования, отказаться от решения о принятом символе. В таких случаях принятый символ «стирается», а такое решение называют стиранием. Подобные стирания представляют собой простейшую форму мягкого решения.

Введение стираний, по сравнению с исправлением только ошибок, обладает тем преимуществом, что декодеру известны позиции с ненадежными символами. Пусть d минимальное кодовое расстояние, v число ошибок и µ число стираний в принятом слове. Тогда минимальное Хеммингово расстояние по нестертым позициям снижается, по меньшей мере, до величины d-µ. Следовательно, корректирующая способность равна [(d — µ — 1 )/2] и справедливо следующее соотношение

(3.26)

Последнее неравенство, на уровне интуиции, означает, что исправление ошибок требует вдвое больше усилий (и избыточности), чем исправление стираний, поскольку позиции стираний известны.

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

Записать нули на стертые позиции и декодировать полученное слово в кодовое слово обозначенное v0(x).

Записать единицы на стертые позиции и декодировать в кодовое слово v1(x).

Выбрать из v0(x) и v1(x) в качестве результата декодирования кодовое слово, ближайшее к принятому слову по нестертым позициям. Иначе говоря, в качестве результата декодирования выбирается слово, потребовавшее наименьшего числа исправлений.

Таким образом, любая допустимая по условию (3.26) комбинация стираний и ошибок исправляется за две попытки исправления ошибок.

Пример 38. Рассмотрим циклический (7,4,3) код Хемминга с порождающим многочленом g(x) = 1 + х + х3 и конечное поле GF(23) с примитивным элементом а, удовлетворяющим условию р(а) = 1 + а + а3. Предположим, что передано слово v(x) = х + х2 + х4 и что приемник ввел два стирания. Так как d = 3 >µ, то эти стирания могут быть исправлены. Пусть r(x) =f+ х + х2 + fx3 + х4 полином, ассоциированный с принятым словом, где через f обозначены стирания.

Первая попытка: декодируем принятое слово при f = 0, r0(x) = х + х2 + х4. Синдромы для него равны: S1 = r0(α) =0 и S2 = (S1)2 = 0 Следовательно, v0(x) - r0(х) = х + х2 + х4.

Вторая попытка: теперь декодируем при f=1, r1(х) = 1 + х + х2 + х3 + х4, S1 = а и S2 = а2. Уравнение (3.16) имеет в этом случае вид: аσ1 = а2. В результате получаем σ(х) = 1 + ах, е(х) = х и кодовое слово v1(x) = r1(x) + е(х) = 1 + х2 + х3 + х4, которое отличается от принятого слова r(х) в одной нестертой позиции. В качестве результата декодирования выбираем слово v0(x). Таким образом, исправлены два стирания.

Следует напомнить, что для исправления только стираний линейным кодом (при точном отсутствии ошибок) достаточно найти решение системы линейных уравнений rНт=0. Решение этой системы единственно, если число стираний меньше кодового расстояния. Кроме того, этим методом можно исправить многие из комбинаций с числом стираний больше кодового расстояния (но не более числа проверок), хотя решение может быть не всегда единственным.