Материал: 636_Nosov_V.I._Seti_radiodostupa_CH.1_

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

S

4

Z ( 4 )

0

6

12

12

 

22

23

29

 

 

 

 

 

 

 

 

 

(4.68)

 

 

 

 

 

 

 

 

 

 

 

0

6

5

5

1

2

1

0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Полученный результат подтверждает, что принятое кодовое слово содержит ошибку (введенную нами), поскольку S ≠ 0.

Локализация ошибки

Допустим, в кодовом слове имеется ошибок, расположенных на позициях X j1 , X j2 ,..., X j . Тогда полином ошибок, определяемый уравнениями (4.50) и (4.51), можно записать следующим образом

E(X ) Ej X j1

Ej X j2

... Ej X j .

(4.60)

1

2

 

 

Индексы 1, 2, ..., обозначают 1-ю, 2-ю, ..,

-ю ошибки, а индекс j

расположение ошибки. Для коррекции искаженного кодового слова нужно

определить каждое значение ошибки E j

и ее расположение X jl XJl, где l= 1, 2,

 

 

 

 

 

 

l

 

 

 

 

 

 

 

..., . Обозначим номер локатора ошибки как

 

l

jt . Далее вычисляем n - k =

 

 

 

 

 

 

 

 

 

 

 

 

 

2t символа синдрома, подставляя

 

i , в принятый полином при i = 1, 2, ..., 2t.

S1

Z (

)

 

E j

1

 

E j 2 ...

E j

 

 

 

 

 

 

1

 

 

2

 

 

 

 

 

S2

Z (

2

)

E j

2

 

E j

 

2

...

E j

2

 

1

 

 

2

(4.61)

 

 

 

 

 

1

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S2t

Z (

2t

)

E j

 

2t

E j

 

2t

...

 

2t

 

 

1

 

2

2

 

E j

 

 

 

 

 

1

 

 

 

 

 

 

 

У нас имеется 2t неизвестных (t значений ошибок и t расположений) и система 2t уравнений. Впрочем, эту систему 2t уравнений нельзя решить обычным путем, поскольку уравнения в ней нелинейные (некоторые неизвестные входят в уравнение в степени). Методика, позволяющая решить эту систему уравнений, называется алгоритмом декодирования кода Рида-Соломона.

Если вычислен ненулевой вектор синдрома (один или более его символов не равны нулю), это означает, что в принятом кодовом слове Z(X) есть ошибка (ошибки). Далее нужно узнать расположение ошибки (или ошибок). Полином локатора ошибок можно определить следующим образом

( X )

 

(1

1 X )(1

2 X )...(1

X )

 

 

 

 

X 2 ...

 

(4.62)

1

1

X

2

X .

 

 

 

 

 

 

141

Корнями (Х) будут 1 , 1 ,..., 1 . Величины, обратные корням (Х) ,

1 2

будут представлять номера расположений моделей ошибки E(Х). Тогда, воспользовавшись авторегрессионной техникой моделирования [5], мы составим из синдромов матрицу, в которой первые t синдромов будут использоваться для предсказания следующего синдрома

Воспользуемся авторегрессионной моделью уравнения (4.63), взяв матрицу наибольшей размерности с ненулевым определителем. Для кода (7, 3) с коррекцией двухсимвольных ошибок матрица будет иметь размерность 2 2, и модель запишется следующим образом (4.64)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S1

S2

 

S3 ...

St-1

St

 

 

 

 

t

 

 

 

-St+1

 

 

 

S2

S3

 

S4 ...

 

St

St+1

 

 

 

t-1

 

 

-St+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

.

(4.63)

St-1

St

St+1 ...

S2t-3

S2t-2

 

2

 

 

 

 

-S2t-1

 

 

 

St

St+1

St+2 ...

S2t-2 S2t-1

 

1

 

 

 

 

-S2t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S1

S2

 

 

 

2

 

 

 

 

 

 

S3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

(4.64)

 

 

 

 

 

S2

S3

 

 

 

1

 

 

 

 

 

 

S4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

(4.65)

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Чтобы найти коэффициенты 1 и 2 полинома локатора ошибок (Х), сначала необходимо вычислить обратную матрицу для уравнения (4.65). Обратная матрица для матрицы [А] определяется следующим образом

Inv A

cofactor A

.

 

 

det A

Следовательно,

 

 

142

3

5

 

 

 

 

 

det

3

6

5

5

9

10

 

 

 

 

 

 

5

6

 

 

 

 

 

 

 

 

 

 

 

(4.66)

 

 

2

3

 

5.

 

 

3

5

6

5

 

cofactor

 

 

 

.

(4.67)

 

5

6

5

3

 

 

 

6

5

 

 

 

3

5

5

3

 

6

5

 

 

 

 

 

Inv

 

 

 

 

5

 

 

 

5

 

 

 

5

6

 

 

5

3

 

 

 

 

 

 

 

 

 

(4.68)

6

5

8

7

 

1

0

2

 

 

 

 

 

.

 

 

 

 

 

 

5

3

7

5

 

0

5

Проверка надежности

Если обратная матрица вычислена правильно, то произведение исходной и обратной матрицы должно дать единичную матрицу

3

5

1

0

4

5

3

10

5

6

5

3

6

6

5

11

1 0

. (4.69)

0 1

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

1

0

6

7

0

 

2

 

 

 

.

(4.70)

 

 

0

 

0

5

6

6

 

 

 

1

 

 

 

 

 

Из уравнений (4.62) и (4.70)

(X )

0

X

2

X 2 0 6 X 0 X 2.

(4.71)

 

1

 

 

 

Корни (X) являются обратными числами к положениям ошибок. После того как эти корни найдены, мы знаем расположение ошибок. Вообще, корни (X) могут быть одним или несколькими элементами поля. Определим эти корни путем полной проверки полинома (X) со всеми элементами поля, как

143

будет показано ниже. Любой элемент X, который дает

(X) = 0, является корнем,

что позволяет нам определить расположение ошибки (4.72).

 

 

 

 

Как видно из уравнения (4.62), расположение ошибок является обратной

величиной к корням полинома локатора ошибок. А значит,

 

(

3) = 0 означает,

что один корень получается при 1

3 . Отсюда

1

 

3

4 . Аналогично

 

l

l

 

 

 

 

 

 

 

 

 

( 4) = 0 означает, что другой корень появляется при

l

'

1 4

3 где (в

 

 

 

 

 

 

данном примере) l и l' обозначают 1-ю и 2-ю ошибки. Поскольку мы имеем дело с 2-символьными ошибками, полином ошибок можно записать следующим образом (4.73)

(

0 )

0

6

0

6

0

 

 

(

1 )

2

7

0

2

0

 

 

(

2 )

4

8

0

6

0

 

 

(

3 )

6

9

0

6

0

ОШИБКА

(4.72)

(

4 )

8

10

0

0

ОШИБКА

 

(

5 )

10

11

0

2

0

 

(

6 )

12

12

0

0

0

 

E(X ) Ej X j1

Ej X j2 .

(4.73)

1

2

 

Здесь были найдены две ошибки на позициях

3 и 4. Заметим, что

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

jl

как

j1

3 и

j2

4.

l

 

1

 

2

 

Значения ошибок

 

 

 

 

 

Мы обозначили ошибки E j

, где

индекс

j обозначает расположение

 

l

 

 

 

 

ошибки, а индекс l l-ю ошибку. Поскольку каждое значение ошибки связано с конкретным месторасположением, систему обозначений можно упростить,

обозначив E j просто как El . Теперь, приготовившись к нахождению значений

l

 

 

ошибок E1 и E2 связанных с позициями 1

3 и 2

4 , можно использовать

любое из четырех синдромных уравнений. Выразим из уравнения (4.61) S1 и

S2

144

S1

Z ( ) E1 1

E2 2

.

(4.74)

 

 

 

 

 

 

 

S

Z (

2 )

E

2

E

2

2

 

1

 

 

1

1

2

 

 

Эти уравнения можно переписать в матричной форме следующим

образом

 

 

 

 

 

 

 

 

 

1

2

 

E1

 

S1

 

(4.75)

 

1

 

2

E2

 

S2

 

 

2

 

2

 

 

 

 

 

 

3

 

4

E1

 

3

 

 

 

 

 

 

 

 

 

(4.76)

 

 

 

 

E2

 

 

 

 

6

 

8

 

5

 

 

 

 

 

 

 

 

Чтобы найти значения ошибок E1 и E2 нужно определить обратную матрицу для уравнения (4.76)

 

 

 

 

1

4

 

1

4

 

 

3

4

 

 

6

3

 

6

3

 

 

 

 

 

 

 

 

 

Inv

 

 

 

 

 

 

 

 

 

 

 

 

3

1

6

4

4

3

 

 

6

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.77)

1

 

4

 

 

1

4

2

5

2

5

6

 

 

 

1

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

6

 

3

 

 

6

3

7

4

0

4

Теперь мы можем найти из уравнения (4.76) значения ошибок

2

5

3

5

10

2

E1

 

 

 

 

(4.78)

E2

 

 

 

 

 

 

 

 

 

0

4

5

3

9

5

Исправление принятого полинома Z(X) с помощью найденного полинома ошибок E(X)

j1

E2 X

j2

2

X

3

5

X

4

.

(4.79)

E(X ) E1X

 

 

 

 

 

 

145

Источник: https://studfile.net/preview/16709054/