Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TYeMA_7-12.doc
Скачиваний:
29
Добавлен:
05.11.2018
Размер:
13.26 Mб
Скачать

7.2. Быстрое декодирование кодов бчх

7.2.1. Ключевое уравнение

Рассмотрим процедуру быстрого декодирования применительно к кодам Рида-Соломона (PC). Для этих кодов справедлива граница Синглтона:

n-k= d-1=2t,

где n-k — избыточность кодовой комбинации,

d - минимальное кодовое расстояние,

t - кратность гарантированно исправляемых ошибок.

Будем полагать, что код используется в режиме исправления ошибок. Пусть в приемник АПД поступила кодовая комбинация PC-кода

С(x)=f (x)+e(x),

где f(x) - переданная передатчиком АПД кодовая комбинация, в которой в процессе передачи по каналу связи произошло υ ошибок, отображаемых многочленом е(х). Здесь 0≤vt.

Многочлен ошибок можно представить в виде

e(x)=ei1хi1 +ei2xi2+…+eivxiv=∑eilxil,

где eil - значение ошибки, il - номер позиции кодовой комбинации, в которой произошла ошибка. Для исправления ошибок необходимо определить eil и il. Это возможно выполнить на основе синдрома. В 7.1.4 введено понятие синдромного многочлена:

S(x)=S1x0+S2x1+…+Snxn-k-1 .

Коэффициенты Si определяются подстановкой в С(х) корней αl порождающего многочлена кода PC.

S1=C(x= αl)=f(x= αl)+е(х= αl)=e(αl),

где l≤l2t.

Теперь получим, S1=e1αi1 +e2αi2+…+eivαiv и т.д.

Для упрощения записи компонентов синдромного многочлена определим для всех l=1,...,v значения ошибки Уl= eil ,и локаторы ошибок Хl= ail=l, где il=l - истинное положение lошибки.

В этих новых обозначениях S1 запишется в виде:

S1=Y1X1+ Y2X2+…+ YvXv,.

Здесь Yl и Хl - элементы поля GF(q) над которым построен PC-код, а α - примитивный элемент этого поля. В результате получим следующую систему из 2t уравнений относительно υ неизвестных локаторов X1,..., Xv и v неизвестных значений ошибок Y1,...,Yυ:

S1=Y1X1+ Y2X2+…+ YvXv,

S2=Y1X12+ Y2X22+…+ YvXv2,

. . .

S2t=Y1X12t+ Y2X22t+…+ YvXv2t.

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

Для его формирования вводятся еще два многочлена:

.Многочлен локаторов ошибок

Λ(х)=1+ Λ1х+Λ2 х2+ Λvxv, имеющий корни, обратные локаторам ошибок Xl-1, l=1…,v. Это позволяет представить Λ(x) в следующем виде:

.

Многочлен значений ошибок

Он определяется через S(x) и Λ(х) в соответствии с видом введенного выше многочлена ошибок Ω(x)=S(x)* Λ (x) (mod x2t)=

=[(S1x0+ S2x1+…+ S2t x2t-1) ] (mod x2t)=

=[(Y1X1+ Y2X2+…+ YvXv,)x0+(Y1X12+ Y2X22+…+ YvXv2)x1+…

+(Y1X12t+ Y2X22t+…+ YvXv2t)x2t-1](mod x2t)=

=[ Y1X1( 1+ X1x +Xx2+…+Xx2t-1) +

+ Y2X2( 1+ X2x +Xx2+…+Xx2t-1) + . . .

.+ YvXv ( 1+ Xv x +Xx2+…+Xx2t-1) ](mod x2t)=

=[ Y1X1( 1+ X1x +Xx2+…+Xx2t-1)(1+X1x) +…

+ YvXv ( 1+ Xv x +Xx2+…+Xx2t-1)(1+ Xv x ) ](mod x2t)=

=[ Y1X1 (1+X1x)2t+…+ YvXv(1+ Xv x )2t](mod x2t)=

=[ Y1X1+…+ YvXv] =.

=[ Y1X1 (1+(X1x)2t)+…+ YvXv(1+( Xv x) )2t](mod x2t)=

Итак, многочлен значений ошибок выражается через значения ошибок и локаторы ошибок следующим образом:

(х) =.

Выражение для (х) определяет множества из 2t-v уравнений и называется ключевым уравнением, так как оно является ключом решения задачи декодирования.

Ключевое уравнение позволяет получить v уравнений для v неизвестных коэффициентов Λ(x). Эти уравнения являются линейными. Они могут быть решены обычными методами, либо с помощью итерационных процедур. После нахождения Λ(х) ключевое уравнение позволяет найти неизвестные компоненты многочлена е) и по ним переданную кодовую комбинацию f(x)=C(x)+e(x).

Из изложенного можно сделать вывод, что декодирование кодов БЧХ на основе решения ключевого уравнения распадается на два этапа.

I этап — вычисление многочлена локатора ошибок Λ(х). Для двоичных кодов БЧХ этим этапом декодирование завершается.

II этап - для недвоичных кодов, какими являются РС-коды, вычисление многочлена значений ошибок Ω(х), позволяющего вычислять значение каждой из υ ошибок в принятой комбинации.

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

1. Алгоритм Питерсона.

2 .Алгоритм Берлекемпа-Месси.

3- Алгоритм Евклида - алгоритм СКХН.

Авторы первого и второго алгоритмов указаны в их названии. Алгоритм Евклида для целей решения ключевого уравнения был впервые предложен четырьмя авторами: Сугияма, Касахара, Хирасава и Намекава. В дальнейшем для краткости будем называть алгоритмом Евклида.

Алгоритм Питерсона может быть использован как самостоятельная процедура декодирования недвоичных циклических кодов и на II этапе.

Алгоритм Берлекемпа-Месси и алгоритм Евклида на II этапе декодирования для недвоичных циклических кодов дополняют алгоритмом Форни, позволяющим по корням Λ) и многочлену (x) найти значения ошибок. Сочетание алгоритма Берлекемпа-Месси и алгоритма Форни получило название быстрого декодирования кодов БЧХ.

Рассмотрим сущность изложенных алгоритмов декодирования

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]