+7(495)926-7456
+7(495)926-7456
Электронные компоненты  Мануалы 

0 1 2 3 4 5 [ 6 ] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70

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

Так как код Рида - Соломона относится к группе недвоичных циклических кодов БЧХ, то могут быть использованы методы декодирования, которые можно разделить на три основные группы: алгебраическое, аналоговое и спектральное декодирование.

При алгебраическом декодировании тем или иным способом решается система уравнений синдромов ошибок, и при этом определяются значения ошибок и их локаторы. Если число ошибок не превышает 2-3, то возможны так называемые прямые методы декодирования, при которых вычисления значений ошибок и локаторов производится по определенным формулам или таблицам, находящимся в памяти декодера. При большем числе ошибок система уравнений решается итеративным методом. Это известные алгоритмы Петерсона, Берлекэмпа, Берлекэмпа - Месс и Форни. Аналоговое декодирование осуществляется на основе теории размытых множеств. В последнее время стали использоваться спектральные методы декодирования, основанные на использовании теории дискретного Фурье-преобразования в конечных полях.

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

Алгебраическое декодирование только при исправлении ошибок всегда осуществляется в три этапа: 1) вычисление синдромов ошибок, 2) определение локаторов ошибок (установление числа ошибок в блоке, вычисление коэффициентов многочлена локаторов ошибок, определение корней этого уравнения, расчет локаторов ошибок) и 3) вычисление значений ошибок.

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

При декодировании код RC обычно задается с помощью проверочной матрицы вида

1 ... 1 1

............... 1

а/С-) ... а 1

(1.7)

где O/d-2-корни порождающего многочлена.



Синдром ошибок вычисляется в матричной форме векторным умножением строк проверочной матрицы Я на транспонированный кодовый вектор V (вектор-столбец)

Запись синдрома в алгебраической форме

(1.8)

(1-9)

Sj= Е XiEi,

где сог=1Со*г+ег; cu*i - символы принятого блока данных; оц - символы, не имеющие ошибок; ej - ошибочные символы (ошибки); х=а - локаторы ошибочных символов; г - число ошибок в блоке.

В систему уравнений синдромов ошибок (1.9) неизвестные знчения ошибок и их локаторы входят в виде произведения. Эта система нелинейных уравнений в общем случае может быть решена лишь с использованием искусственных приемов. Одним из методов решения является приведение системы уравнений (1.9) к обобщенному тождеству Ньютона

5;+, -f а, Sj+r-i -f ... -f а, 5 = О (1.10)

при о < / < d - 2,

где коэффициенты Ог представляют собой элементарные симметрические функции локаторов ошибок

(Xj + -f ... +х),

ffg = ХХ-- Xl Х. -)- ... -~ r-l г

0r = (-lf Xl3+-+г•

(l.ll)

Решение вспомогательной системы уравнений (1.10) позволяет определить эти коэффициенты. Важно, что они не зависят от ошибок и определяются только локаторами Хи

На втором этапе декодирования определение локаторов ошибок производится с помощью многочлена локаторов ошибок

aiz) = zr + Oi- + ...+o,, (1.12)

где 2 -переменная; ш - коэффициенты, определяемые системой уравнений (1.10). Корни этого многочлена при сг(г)=0 связаны с локаторами ошибок равенством



На третьем этапе декодирования, когда известны все значения локаторов, ошибки определяются из системы уравнений синдромов ошибок (1.9). Для этого система уравнений (1.10) записывается и решается в матричной форме

M(S).

V-f-l

(1.14)

- Oi

.. 5

M{S) =

.. S

... 5

2Г-1-

- матрица компонентов синдромов ошибок.

Если матрица M{S) не вырождена, то система (1.14) имеет решение

= M-i (S)-

-5, - Sr+i

(1.15)

Матрица вырождена, если ее определитель detM(S) не равен .нулю. При этом число строк матрицы равно числу ошибок. Итеративный метод решения уравнения (1.15) заключается в том, что последовательно принимаются значения ошибок от r=f до г=0 и каждый раз вычисляется определитель матрицы M(S), пока не будет получено значение определителя, отличное от нуля. Таким образом определяется действительное число ошибок в блоке. Когда это число известно, из (1.15) рассчитывают коэффициенты а многочлена локаторов ошибок (1.11). Если степень этого многочлена 1 или 2, то его корни находятся по известным формулам, как это делается при решении уравнений первой и второй степени. В общем случае простейшим путем нахождения корней является метод проб и ошибок, известный как «процедура Ченя».

Когда определены все локаторы ошибок, их можно подставить в систему уравнений (1.9). Эта система решается путем обращения матрицы локаторов ошибок

(1.16)

Частные решения для нуля, одной и двух ошибок приведенных систем уравнений называются прямым алгебраическим мето-

... 1 ~

г So 1

... X,



0 1 2 3 4 5 [ 6 ] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70