Читайте также:
|
|
Предположим, что передавая кодовый вектор {f(x)}, представление которого в виде многочлена будет иметь вид: f(x)=c0+c1x+…+cn-1xn-1. Пусть далее вследствие ошибок вместо вектора {f(x)} принят вектор {f(x)+e(x)}= {f(x)}+ {e(x)}, где {e(x)}-вектор ошибок.
Обозначим принятый с ошибками вектор {f(x)+e(x)} через вектор {h(x)}=(h0h1h2…hn-1).Принятую комбинацию можно представить в виде многочлена степени n-1, т.е. h(x)=h0+h1x+h2x2+…+hn-1xn-1. В результате умножения вектора {h(x)} на матрицу (5.2) получим вектор из t компонент [h(a), h(a3),…h(a2t-1)],где h(a)=h0+h1a+h2a2+…+hn-1an-1; h(a3)=h0+h1a3+h2(a3)2+…+hn-1(a3)n-1
И т.д.
В то же время {h(x)}= {f(x)+e(x)}, следовательно, h(x)= f(x)+e(x). Тогда h(ai)=f(ai)+e(ai), где i=1,3,…,2t-1, но так как f(x) делится на P(x) без остатка, то f(a)=f(a3)=…=f(a2t-1)≡0, так что h(ai)≡e(ai).
При умножении вектора {h(x)} на первый столбец матрицы HT, образованной из (5.5), получаем элемент
Отсюда следует, что имеется взаимнооднозначное соответствие между элементами вектора ошибок и элементами поля GF(2m). Каждому ошибочному элементу ei соответствует элемент i-й строки (i=0,1,2,…,n-1) первого столбца транспонированной матрицы HT, т.е. элемент поля ai.
Предположим, что ошибки произошли на позициях i1,i2,…,it, для которых ei=1, а для всех остальных ej=0, тогда (5.8) может быть переписана следующим образом:
Обозначим каждый из элементов аk через Хk (k = 1, 2,...it ) и назовем их локаторами ошибок, тогда (5.9) может быть переписана так:
Умножив вектор {h(x)} на какой-либо другой j-й столбец матрицы HTполучим
h(aj)=e(aj)=(aj)i1+(aj)i2+…+(aj)it=
где j= 1, 3,.... 2t— 1.
Выражения (5.11) представляют t симметрических функций
Sj от нечетных степеней элементов Х1, Х2...... Xt, которые
имеют вид
Функции Sj называют синдромами.
Таким образом, функции Sj дают t уравнений вида (5.12) с t неизвестными Х1, Х2..., Xt. Кроме того, из (5.12) можно найти также симметрические функции для четных j = 2, 4,.., 2t, т. е. можно получить дополнительно t уравнений вида (5.12) с теми же неизвестными. Действительно, учитывая свойство 1.4 для р = 2, получим
Решение указанных уравнений относительно Хk определит номера ошибочных позиций. Поскольку имеется конечное число решений, то значения Хk могут быть найдены путем подстановок в эти уравнения различных элементов поля GF (2m). Но подстановка всех комбинаций no t из 2m — 1 ненулевых элементов поля требует большого числа вычислений.
Для кодов БЧХ имеются более эффективные алгебраические алгоритмы декодирования. Рассмотрим один из них.
Так как суммы j-x степеней элементов Х1,Х2,..., Xt представляют собой симметрические функции Sj, то эти элементы могутрассматриваться [8] как корни некоторого многочлена степени t
Xt+p1Xt-1+p2Xt-2+…+pt (5.I4)
разложение которого на линейные множители дает уравнение
(X-X1)(Х-Х2)... (X-Xt)=0. (5.16)
Коэффициенты р1, р2,..., рt являются простейшими симметрическими функциями, которые связаны с симметрическими функциями Sj тождествами Ньютона [1, 7]:
S3-p1S2+p2S1-3p3=0
S4-p1S3+p2S2-p3S1+4p4=0 и т. д.
При операциях помодулю 2 тождества Ньютона выписываются по формуле
где δ = 0 при i—четном и δ=1- при нечетном.
С учетом последнего тождества Ньютона можно переписать так:
St=p1St-1+p2St-2+…+pt-1S1 + δpt
Если тождества (5.16) решить относительно простейших симметрических функций pi и найденные значения рi, подставить в (5.14), то корни этого многочлена Х1, Х2,..., Xt можно определить последовательной подстановкой в него каждого из п = 2m — 1 элементов поля. Если подставленный вместо X элемент аi не является корнем, то соответствующий символ вектора {h (x)} принят правильно. Если же элемент aiявляется корнем, то соответствующий i-й символ вектора {h (х)} принят ошибочным и должен быть исправлен.
Однако в силу зависимости (5.13) следует рассматривать не все тождества (5.16), а лишь те, которые определяют Sj длянечетных j, т. е.
St-1=p1St-2+p2St-3+…+pt-2S1+pt-1 (при t — четном) или St=p1St-1+p2St-2+…pt-1S1+pt (при t— нечетном). Отсюда видно, что имеется i/2 (при t —четном) или (t+1)/2 (при t — нечетном) уравнений, которых недостаточно для определения t неизвестных р1, р2,..., рi. Однако в результате умножения {h(x)}*HT можно определить все симметрические функции S1, S3,…,S2t-1. Знание симметрических функций Sj с нечетными значениями j' вплоть до 2t —1позволяет составить дополнительные уравнения, которые вместе с (5.17) дадут t независимых уравнений с t неизвестнымир1,р2,.... рtЭти уравнения можно уже решить относительно pt.
Выше было показано, как составить тождества Ньютона, когда j при Sj принимает целые значения, не превосходящие t, т. е. степени многочлена (5.14). Можно показать, что аналогично можно составить тождества Ньютона для значений j > t.
Действительно, если обозначить многочлен (5.14) через ψ (X) и подставить вместо X какой-либо из корней Х1, X2.... Xt, то получим уравнение
Умножение обоих частей уравнения (5.18) на Xic-t дает
Где c>t. Если теперь просуммируем (5.19) по всем корням, т.е.
То получим
Решаем уравнения (5.17) совместно с (5.22) относительно неизвестных рi Найденные значения рi подставляем в (5.14) и, как было указано, последовательной подстановкой вместо X элементов поля GF (2m) находим корни этого многочлена. Этим самым мы устанавливаем ошибочные позиции принятого вектора {h (х)}.
Если произошло в действительности t— 1 ошибок, то один из корней Х1, Х2,…Xt должен быть равен нулю. Следовательно, при решении уравнений (5.17) и (5.22) мы должны получить pt =0. Если произошло t — 2 ошибки, то два корня равны нулю и, следовательно, pt= рt-1= 0 и так далее.
Пример 5.3. Рассмотрим процесс исправления тройных ошибок (t = 3) циклическим кодом БЧХ, построение которого рассматривалось в примере 5.2. Многочлен (5.14) для такого кода будет иметь вид Х3 + р1Х2 + р2Х + р3
На основании (5.17) и (5.22) составляем уравнения:
Сложение по модулю 2 соответствующих столбцов матрицы HT(5.6) позволяет найти значения S1,S3, S5. Кроме того, при операциях по модулю 2 S2 = S12, a S4 = S14 Решая уравнения относительно рt, находим [7]:
при условии, что S13+S3≠0.
Рассмотрим случай, когда ошибки появляются на 2, 5 и 7-м местах, т.е. {e(x)}=(010010100000000), тогда {h(x)}HT=(1011,1111,1000), т.е. S1=(1011), S3=(1111), S5=(1000).
Теперь найдем S2 и S4, обращаясь к табл. 1.1,
По формулам (5.24) находим p1=S1=a13,
Теперь путем подстановки элементов поля в уравнение X3+
+ а13X2+ а9X +a11= 0 находим, что корни этого уравнения будут а, а4 а6. Следовательно, в принятом векторе { h (x)} ошибки находятся на 2, 5 и 7-м местах. Если произошла только одна ошибка, то р2 = р3 = 0, а из уравнений (5.23) pi=S1. Следовательно, номер ошибочной позиции можно определить, решая, уравнение X +р1= 0.
Дата добавления: 2015-07-16; просмотров: 153 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ЦИКЛИЧЕСКИЕ КОДЫ БЧХ | | | ЦИКЛИЧЕСКИЕ КОДЫ РИДА—СОЛОМОНА |