Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ.docx
Скачиваний:
40
Добавлен:
19.04.2015
Размер:
60.19 Кб
Скачать

Проверочная матрица линейного кода.

Напомним, что векторы a = (a1, . . . , an) и b = (b1, . . . , bn) пространства V (n, Fq) называются ортогональными (запись: a ⊥ b), если ab = 0. (ab = a1b1 + . . . + anbn называется скалярным произведением векторов a и b.) Очевидно, если

a ⊥ b и a ⊥ c, то a ⊥ f1b + f2c для любых f1, f2 ∈ Fq.

Определение 1. Пусть K—линейный (n, k)-код над Fq. Тогда ортогональное дополнение K этого подпространства в V (n, Fq) является подпространством в V (n, Fq) и называется кодом, двойственным (или дуальным) коду K.

Определение 2.Пусть K — линейный (n, k)-код над Fq. Порождающая матрица двойственного кода K называется проверочной матрицей кода K.

- 8 -

Проверочная матрица для (n, n)-кода K = V (n, Fq) не определена (так как не определена порождающая матрица кода K = {0}).

Теорема 1. Пусть K — линейный (n, k)-код над Fq с порождающей матрицей в систематическом виде:

G = (Ik | P).

Тогда одна из проверочных матриц кода K имеет вид:

H = (−P | In−k).

Доказательство.

HG = (−P | In−k)(Ik/P)= −P + P = O

Следовательно, строки матрицы H ортогональны строкам матрицы G и, значит, лежат в K. Но так как dim(K) = n−k(Для любой матрицы над произвольным полем F ее ранг по строкам, ранг по столбцам и ранг по минорам совпадают. Это число называется рангом матрицы)и, так как матрица H имеет n−k линейно независимых строк (из-за наличия в H клетки In−k), то они образуют базис в K, а это означает по определению 2, что матрица H — это проверочная матрица кода K.

Проверочную матрицу вида H = (A | In−k) называют проверочной матрицей в систематическом виде.

Замечание 1. Произвольный элемент v кода K может быть записан в виде v = f1G1· +f2G2· +f3G3·, где fi F2, т. е. в виде v = (f1, f2 + f3, f1 + f2 + f1, f2, f1 + f3). О такой записи говорят, что это запись элемента кода в общем виде или, что это есть общий вектор кода K.

Замечание 2. Отметим, что если проверочная матрица линейного кода имеет систематический вид, то по ней легко можно записать общий вектор кода. Например, если взять вектор v =(i1, i2, i3, p1, p2) кода K, то по (группа всех перестановок множества M = {1,2, ..., n} называется

симметрической группой степени n и обозначается через Sn.) Hv = O, откуда получаем p1 =i1 + i3, p2 = i1 + i2 + i3, т. е. общий вектор кода K есть v = (i1, i2, i3, i1 + i3, p2 = i1 + i2 + i3).

Декодирование линейных кодов.

K

v2+K

v3+K

.

.

.

vj+K

0

v2

v3

.

.

.

vj

c2

v2+c2

v3+ c2

.

.

.

vj+c2

c3

v2+ c3

v3+ c3

.

.

.

vj+ c3

.

.

.

cgk

v2+ cgk

v3+ cgk

.

.

.

vj+ cgk

w(ui)≤t

(t=[(d*-1)/2]

vj+1+K

.

.

.

vl+K

vj+1

.

.

.

vl

vj+1+c2

.

.

.

vl+c2

vj+1+ c3

.

.

.

vl+ c3

.

.

.

vj+1+ cgk

.

.

.

vl+ cgk

w(ui)>t

- 9 -

Теорема 1. В стандартной таблице декодирования линейного (n, k)-кода K в каждом столбце до черты записаны шары радиуса t с центрами в кодовых словах. А именно, {0, v2, . . . , vj} = Bt(0) (шар радиуса t с центром в нуле) и Bt(0) + ci = Bt(cj) i. (Bt(ci) называется шаром декодирования для ci).

Доказательство. Пусть K = {c1, c2, . . . , cqk} — линейный (n, k)-код над Fq со стандартной таблицей декодирования , которую мы обозначим через T. Очевидно, что A1 := {v1, v2, . . . , vj} ⊆ Bt(0) и Ai:= {ci, v2 +ci, . . . , vj + ci} ⊆ Bt(ci) (так как d(ci, vm + ci) = d(0, vm) ≤ t при m ≤ i). Так как d ≥ 2t + 1, то код K исправляет t ошибок, т. е. шары радиуса t с центрами в кодовых словах

попарно не пересекаются. В частности, A1 ∩ Ai =ø ∀i ≠1. Следовательно, все слова из Bt(0), не вошедшие в A1, должны быть под чертой в T. Но vj+1 — слово наименьшего веса из всех слов, находящихся под чертой, и w(vj+1) > t. Таким образом, A1 = Bt(0). Теперь∀i Ai = A1 + ci = Bt(0) + ci = Bt(ci), так как

vm + ci ∈ Bt(ci) ⇐⇒ d(vm + ci, ci) ≤ t ⇐⇒ d(vm,0) ≤ t ⇐⇒ vm ∈ Bt(0).

Определение 1.Пусть K—линейный (n, k)-код над Fq с проверочной матрицей H и v V (n, Fq). Синдромом вектора v (относительно H) называется вектор s(v) = vH (длины n − k).

Теорема 2. Пусть K — линейный (n, k)-код в пространстве V = V (n, Fq) и H — его проверочная матрица. Два вектора пространства V = V (n, Fq) имеют один и тот же синдром относительно H ⇐⇒ они лежат в одном смежном классе по K.

Доказательство. Для любых x, y ∈ V имеем:

s(x) = s(y) ⇐⇒ xH = yH ⇐⇒ (x − y)H = 0 () ⇐⇒

H(x − y) = 0 () ⇐⇒ (x − y) ∈ K ⇐⇒

x ∈ y + K ⇐⇒ x + K = y + K.

Определение 2. Ненулевой линейный код K в пространстве V (n, Fq) называется совершенным, если шары некоторого радиуса r с центрами в кодовых словах попарно не пересекаются и покрывают все пространство V (n, Fq).

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