Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
105
Добавлен:
13.03.2016
Размер:
215.85 Кб
Скачать

1

5.2. Групповые коды

Групповым кодом называется векторное подпространство векторного пространства всех последовательностей длины n. Групповые коды являются линейными алгебраическими кодами, для которых справедливо соотношение dmin =Wmin , т. е. минимальное кодовое расстояние равно

минимальному весу кодовой комбинации. Действительно, по определению кодового расстояния d min =W (Vi V j ), где Vi и V j V . Но согласно аксиоме замкнутости линейная комбинация Vi V j =Vµ V . Следовательно,

справедливо сформулированное выше утверждение. Поэтому если известен спектр весов кодовых векторов группового кода, то однозначно можно определить линейное кодовое расстояние и, следовательно, корректирующую способность кода. Заметим, что линейные алгебраические коды обозначаются как (n, m, d)-коды, где n, m и d – соответственно длина кодовых векторов, число информационных символов и минимальное кодовое расстояние.

5.2.1. Матричное задание группового кода

Поскольку векторы двоичного группового кода образуют векторное пространство последовательностей длины n над полем GF(2), то (n, m, d)-код полностью задается порождающей матрицей кода G размерности [ m × n ]:

V1

G[m×n] = V...2 , (5.1)

Vm

V =(a1,a2 ,...,an ) , ai = 0,1.

Строки порождающей матрицы G образуют базис векторного пространства V (n, m, d)-кода, размерность которого равна числу базисных векторов, т. е. dimV = m, и является совокупностью m линейно независи-

мых векторов. Таким образом, Vν = c1V1 c2V2 ... cmVm , ci = 0,1, Vν V, где V векторное пространство двоичного группового (n, m, d)-кода, мощ-

ность которого N = 2m 1, т. е. пространство состоит из N ненулевых векторов [15].

Пример 5.4. Порождающая матрица (5,3,2)-кода имеет вид

1

 

 

 

2

 

 

 

 

 

 

 

 

 

1

0

0

1

0

 

 

 

 

 

 

 

V

 

 

 

 

 

 

 

 

1

 

G[3×5] =

 

0

1

 

 

 

0 1

1

= V2 .

 

0

0

1

0

1

 

 

 

 

 

V

 

 

 

 

 

 

3

 

Матрица G порождает все кодовое векторное пространство (5,3,2)- кода размерности dimV = 3, состоящее из N = 23 – 1 = 7 ненулевых векторов:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Vν = c1V1 c2V2 c3V3 ,

V

=(1,7) , ci = 0,1 (i =1,2,3) .

 

 

 

 

c3

c2

c1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V1

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V2

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

V1

V2

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V3

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V3 V1

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V3 V2

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V3 V2 V1

Порождающей матрице кода G соответствует проверочная матрица H размерности [ k × n ], где k – число избыточных символов кода, определяемое как k = n – m. Строки матрицы H являются базисом нулевого векторного пространства для векторного пространства, порождаемого матрицей G. Справедливо следующее матричное уравнение:

G · HT = 0,

(5.2)

где HT – транспонированная матрица H.

 

Из (5.2) следует уравнение

 

 

 

· HT = 0,

(5.3)

V

где V V, т. е. для любого кодового вектора (n, m, d)-кода, принадлежащего векторному пространству V, порожденному матрицей G, справедливо уравнение (5.3). Уравнение (5.3) можно записать в координатном виде

(a , a

2

,...a

,..., a

n

)

hT

=(0,...,0) ,

(5.3, а)

1

i

 

 

ij

 

 

где ai = 0,1; hijT – элемент транспонированной матрицы H, стоящий на пе-

ресечении i-й строки и j-го столбца. Из (5.3,а) следует, что для каждого из k столбцов транспонированной матрицы H справедливо уравнение

2

3

n

ai hijT = 0 , ( j =1, k) . (5.4)

i =1

Соотношения (5.4) называются обобщенными проверками на четность.

Пример 5.5. Проверочная матрица (5,3,2)-кода из примера 5.4 имеет

вид

1

1

0

1

0

H[2×5] =

1

1

0

.

0

1

Обобщенные проверки на четность получим из уравнения (5.3,а):

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(a a a a

a

1

1

= (0,0) = (a

a

 

a

 

= 0,

a

 

a

a

= 0).

) 0

1

2

4

2

1 2 3

4 5

 

 

1

 

 

 

 

3

5

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

5.2.2. Синдром группового кода

Синдром группового кода ( S ) вычисляется декодером как решение уравнения

 

 

H T =

 

=(s1, s2 ,..., s j ,..., sk ) ,

(5.5)

V

S

 

 

 

 

 

 

 

 

 

 

 

 

где V

′=V e =(a1,a2,...,ai,...,an)

искаженный вектор на входе декодера.

 

 

Таким образом, с учетом (5.5)

 

 

 

 

 

 

 

=e H T

= (e1,e2,...,ei,...,en)

 

hijT

 

,

(5.6)

 

 

 

 

 

 

 

 

 

 

 

 

S

т.е. между k-разрядным синдромом и исправляемым вектором ошибки существует однозначная зависимость. Поэтому в правильно построенном коде, исправляющем ошибки, декодер по конкретному значению синдрома однозначно вычисляет величину и место ошибки. Для двоичного канала достаточно указать только место ошибки и затем проинвертировать указанные разряды. Из уравнений (5.5) и (5.6) следует выражение для вычисления значения j-го разряда синдрома:

3

4

 

 

n

n

 

 

 

 

 

 

 

s

j

= ahT

= e

hT , ( j =

1, k

) ,

s

j

= 0,1.

(5.7)

 

i ij

i

ij

 

 

 

 

 

i=1

i=1

 

 

 

 

 

 

 

Синдром может принимать 2k значений, включая нулевое. Тогда если код исправляет ошибки кратности S и меньше, то с учетом требования однозначного соответствия между множеством различных значений син-

s

n

справедливо сле-

дрома и множеством исправляемых ошибок E =

 

i=0 i

 

s

n

Таким образом, мы получим верх-

дующее соотношение: 2k E =

 

.

 

 

 

 

i=0 i

 

нюю границу Хемминга.

Пример 5.6. Проанализируем код (5,3,2) из примера 5.4. У данного кода dmin = 2, т. е. этот код не может исправлять всевозможные однократные ошибки. Действительно, нетрудно убедиться в том, что не выполняет-

ся соотношение Хемминга 22

1

5

 

= 6.

Синдром в данном примере

<

 

 

 

 

 

 

 

 

 

i=0 i

 

 

 

это двухразрядный вектор S = (s1, s2), значения разрядов которого согласно (5.7) находятся из уравнений

s1 = a1a2a4′ = e1 e2 e4 ,s2 = a2a3a5′ = e2 e3 e5.

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

s1 s2 {ei } 0 0 0

1 0 e1 , e4

0 1 e3 , e5

1 1 e2

Неоднозначность соответствия подтверждает невозможность исправления всевозможных однократных ошибок анализируемым (5, 3, 2)- кодом.

5.2.3. Групповой систематический код

Кодовые векторы группового систематического кода (ГСК) имеют формат вида

4

5

(a1, a2 ,..., ai ,..., am , c1,..., c j ,..., ck ) = (a1,..., am , am+1, am+2 ,..., an ) , (5.8)

т.е. на первых слева подряд идущих m позициях располагаются информационные символы кода, а на последующих подряд идущих k позициях избыточные символы кода. Информационные символы кода будем обо-

значать через {ai }, i =1, m , а избыточные символы – через {c j }, j =1, k . В общем случае, как видно из (5.8),

ai(i=m+1,n) = c j( j=1,k ) .

ГСК нашел широкое применение на практике по ряду причин:

1.Сохраняется в неизменном виде исходная, т. е. кодируемая в неизбыточном (первичном) коде информационная часть.

2.С меньшими задержками, т. е. существенно проще реализуются операции кодирования и декодирования информации.

Порождающая матрица G группового систематического кода имеет приведенно-ступенчатую форму:

 

1

0

...

0

p

p

...

p

 

 

 

 

 

 

 

11

12

 

1k

 

 

G =[I m P]=

0

1

...

0

p21

p22

...

p2k

,

(5.9)

... ... ... ...

...

...

...

...

 

 

0

0

0

1

pm1

p2m

...

pmk

 

где I m – единичная матрица размерности [ m ×m ]; P – кодирующая мат-

рица размерности [ m ×k ].

В этом случае операция кодирования в ГСК может быть представлена как умножение информационного вектора u = (a1 , a2 ,..., am ) на G:

 

u

 

 

 

 

 

 

 

G =V

.

 

 

(5.10)

В координатной форме данное уравнение имеет вид

 

(a1, a2 ,..., ai ,..., am ) [Im P]= (a1, a2 ,..., ai ,..., am , c1,..., c j ,..., ck ),

(5.10, а)

m

 

 

 

c j = ai pij , j =1, k.

 

i=1

 

5

6

Выражения вида (5.10а) для вычисления избыточных разрядов ГСК по известным информационным разрядам называют операторами кодиро-

вания.

Проверочная матрица ГСК

 

 

 

 

 

 

H =[PT Ik ] ,

 

 

 

 

 

(5.11)

где PT – транспонированная кодирующая матрица P;

Ik

– единичная мат-

рица размерности [ k ×k ].

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 5.7. Построим порождающую и проверочную матрицы ГСК

(5,3,2), рассмотренного в примере 5.4:

 

 

 

 

 

 

1

0

0

1

0

1

1

0

1

0

G =[I3 P]= 0 1 0 1

1 ; H = [PT I2

]=

1

1

0

.

 

 

 

 

 

 

 

0

1

 

0

1

0

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

Из (5.10) следует, что

 

 

u

= (a1 , a2 , a3 )

 

[I3 P]=V

= (a1 , a2 , a3 , c1 , c2 ) .

 

 

 

Тогда операторы кодирования имеют следующий вид: c1 = a1 a2 , c2 = a2 a3.

Из (5.3) и (5.3,а)

 

 

H T

= 0, т. е.

(a , a

 

, a , c , c

 

) [PT I

 

] = (0,0) .

V

2

2

2

Следовательно, справедливо, что

 

1

 

 

3

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a a

2

c = 0;

отсюда

 

c

= a a

2

;

 

 

1

 

1

 

 

 

 

1

 

1

 

 

 

 

 

a2 a3 c2 = 0,

 

 

c2 = a2 a3.

 

 

Отметим, что благодаря приведенно-ступенчатой форме матриц G и H получается система из k алгебраических уравнений, в каждом из которых содержится по одной переменной, и упрощаются процедуры кодирования и декодирования в ГСК. Любые линейные алгебраические коды, исправляющие однократные ошибки, т. е. коды с dmin = 3 и dmin = 4 называются кодами Хемминга. Тогда, как следует из уравнения (5.7), синдром ГСК Хемминга совпадает со столбцом проверочной матрицы Н, номер которого соответствует номеру ошибочной позиции. Для кодов Хемминга иногда выбирают другую форму представления кодовых векторов, при которой избыточные разряды расположены на позициях кодового слова, номера которых равны степеням двойки. В этом случае синдром представляет собой двоичное число, указывающее номер пораженной позиции. В данном разделе ГСК Хемминга будут рассматриваться как частный случай ГСК с форматом вида (5.8).

6

Соседние файлы в папке TKz-12_Obschaya_teoria_svyazi_chast_2