Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Теория и техника передачи данных и телеграфия учебник

..pdf
Скачиваний:
29
Добавлен:
27.10.2023
Размер:
23.44 Mб
Скачать
H < „ i f t )

комбинации

V„ сведя его к умножению

кодовой

комбинации

на проверочную матрицу по правилам умножения

матриц

ViHf„,b),

где Н(в, к) — транспонированная

матрица

Н ( п , *>. Если

комбинация

Vt принадлежит коду, то в результате умножения

получим

(п — /г)-разрядный нулевой вектор. Если

ж е

VL

коду

не принадлежит, то в результате

произведения

получим

 

(n—k)-

разрядный ненулевой вектор. На основе произведения

V^Jn.k)

строится процедура декодирования групповых кодов.

 

 

Каноническая

форма

матрицы

Н ( „ , *> имеет

вид

 

 

 

 

 

 

 

Н(л, *) = П ( л - й ) R ( n - f c ) > - * ] .

 

 

 

 

где \n~k — единичная матрица из

п — k

строк

и

п — k

столб­

цов, занимающая

места,

которые

соответствуют

избыточным

элементам

кодовой

комбинации;

R , „

х * — матриц а из

n — k

строк и k

столбцов,

расположенная на местах,

соответствующих

информационным

элементам.

 

 

 

 

 

 

 

Каждая строка матрицы R' указывает, какие информацион­

ные элементы кодовой комбинации входят в

проверочное со­

отношение. Вид

матрицы

R'

устанавливается

на

основе

сле­

дующей

теоремы.

 

 

 

 

 

 

 

 

 

Теорема

6.3.

 

Если

G ( n ,

=

[ R * x m-*) I * ]

порождающая

матрица группового (я, £ ) - кода в канонической форме, то ну­ левое пространство этого кода порождается матрицей =

=[ І л - f t R * x ( n - * ) ] .

Доказательство этой теоремы основывается на следующих рассуждениях. Поскольку любая кодовая комбинация при умножении на транспонированную проверочную матрицу дол­ жна давать (n — k) -разрядный нулевой вектор, то этот же результат должен быть получен^при умножении каждой строки

порождающей

матрицы

G ( „ , на

Н (

л , * ) , т. е.

умножение G ( „ , и)

на Н(л.*) дает

нулевую

матрицу

из

k строк

и n — k столбцов:

G ( n , *) Н(„, ft)

= 0.

Решение

данного

матричного

уравнения

и

позволило

установить

вид

проверочной матрицы,

т. е. то,

что

b ( n - f t ) X f t =

RftX(n—ft).

 

 

 

 

 

 

 

Итак,

между порождающей

и

проверочной

матрицами

(п, &)-кодг существует жесткая связь, на основе которой по од­

ной из матриц можно построить другую. Например, для

рассмот­

ренного

выше

(5,3)-кода

проверочные векторы

имеют вид

0 1 0

1 1

4 + а 2 + а , = 0 ) и

1 0

1 1 0

5 + а 3 + а 2

= 0 ) .

Прове­

рочная

матрица

в канонической

форме

равна

 

 

 

 

 

1

0

1

1

01

 

 

 

 

 

н (5.3)

і

о

і

і

 

 

Здесь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

р'

пг

 

= І2

 

 

 

 

 

" • 2 Х З ~ ~ ^ 3 X 2

 

 

 

 

 

 

 

 

 

 

Для построения порождающей матрицы по проверочной записываем единичную матрицу

 

 

 

" 1 0

 

0

 

 

 

1 Я =

0

1

 

0

 

 

 

 

.0

 

0

 

1 .

 

и

приписываем к ней слева

матрицу

 

 

 

 

 

 

 

1

0"

 

 

 

^ 3 / 2

~

 

*

'

'

 

 

 

 

 

-0

1 .

 

полученную

из R ^ x 3 переменой

 

строк

и столбцов местами.

В

результате

получим

 

 

 

 

 

 

 

 

" 1 0

 

 

1

0

0

 

 

0 ( 5 , з > =

1 1 0

 

1 0

 

 

-

0

1

0

0

 

1 .

что в точности соответствует канонической форме порождающей матрицы этого кода, полученной ранее.

§6.3. Основные свойства групповых кодов

6.3.1.Корректирующие свойства групповых кодов

Эффективность использования

корректирующего

кода

для

передачи информации зависит от минимального кодового

рас­

стояния. Желательно уметь вычислять duaH,

не рассматривая

всех

кодовых

комбинаций. Дл я групповых кодов

существует

сравнительно простой способ

определения dultH

по виду

матри­

цы

проверок,

основанный

на

использовании

соотношения

F j H ( n , *) = 0. Процедура

умножения

кодовой

комбинации

на

матрицу

W{n,k)

сводится

к сложению тех строк

матрицы

Н{п,*>,

которым

соответствуют

единицы

комбинации

Vt.

 

 

 

 

Так как в результате

умножения

кодовой

комбинации

на

матрицу

H(n.k)

должен быть

получен

нулевой

(п —

k)-разряд­

ный

вектор, то, следовательно, суммируемые

строки

матрицы

Н^, k)

являются

линейно-зависимыми. Значит, каждой

кодовой

комбинации веса w соответствует

w линейно-зависимых

столб­

цов матрицы проверок, а комбинации минимального веса со ­ ответствует минимальное число линейно-зависимых столбцов матрицы Н(Л ,ft),т. е . справедлива следующая теорема.

Теорема 6.4. Минимальное кодовое расстояние группового кода равно минимальному числу линейно-зависимых столбцов

.матрицы проверок.

Для того чтобы использовать эту теорему для определения djMH, необходимо в первую очередь проверить, имеются ли в мат-

рице Н д в а ' одинаковых столбца. Если имеются, то минималь­ ное кодовое расстояние равно двум, если нет, то больше двух и анализ продолжается. Далее следует проверить, имеются ли три столбца, которые бы в сумме дали чисто нулевой столбец. Если имеются, то минимальное кодовое расстояние равно трем, если нет, то более трех и т. д. Например, в проверочной матрице (5,3)-кода столбцы первый и четвертый, третий и пятый одина-. ковы. Следовательно, этот код имеет минимальное кодовое рас­ стояние, равное двум.

6.3.2. Декодирование

группового

кода

Для групповых кодов декодирование удобно производить на основе таблицы декодирования, которая строится следующим образом. Выписываются в строку все разрешенные кодовые ком­ бинации, начиная с нулевой. Затем выбирается запрещенная комбинация минимального веса и записывается в начале второй строки под нулевой комбинацией. Остальные комбинации второй строки получаются путем сложения комбинации, стоящей в на­ чале строки, с каждой кодовой комбинацией первой строки. Таким образом, во второй строке будут записаны 2h запрещен­ ных комбинаций. Для формирования третьей строки выбирается запрещенная комбинация минимального веса из числа не вошед­ ших во вторую строку, а остальные комбинации получаются сло­ жением этой запрещенной комбинации со всеми комбинациями первой строки.

Построение таблицы продолжается аналогичным образом дотех пор, пока все запрещенные комбинации не будут перечис­ лены в таблице. Всего такая таблица будет иметь 2™-ft строк и 2 й столбцов. Комбинации первого столбца могут рассматри­

ваться как варианты ошибок

воздействующие

на кодовые

комбинации

У І в процессе передачи, которые могут быть исправ­

лены кодом,

а комбинации в

остальных столбцах

Vi + Ei — как

результат воздействия варианта ошибок, находящегося в начале

.строки, которой принадлежит рассматриваемая комбинация, на кодовую комбинацию, расположенную в верху столбца. Каждый из столбцов таблицы декодирования представляет защитную зону для кодовой комбинации, стоящей во главе столбца. Таб­ лица декодирования имеет следующий вид:

Е,

, Et+Vt

,• E,+ V 2 t . . . ,

£ , / + 7 2 * - i

Для исправления ошибок с помощью таблицы декодирования необходимо предусмотреть, чтобы в первом столбце были зали^ саны все наиболее вероятные варианты ошибок, встречающиеся в используемом канале. В этом случае каждый столбец таблицы содержит трансформацию кодовой комбинации при воздействии на нее наиболее вероятных ошибок.

Предположим, что приемник зарегистрировал комбинацию V/, которая не принадлежит коду. По таблице декодирования находим эту комбинацию и определяем кодовую комбинацию Vj, наиболее близкую к принятой (в начале столбца, где располо­ жена Vi), а также наиболее вероятный вариант ошибок

(в начале строки), под воздействием которого кодовая

комбина­

ция Vi

трансформировалась

в принятую Vi.

Инвертируя эле­

менты

V/, соответствующие

единицам в

получаем

передан­

ную комбинацию Vi.

Таким образом, для исправления ошибок при помощи таб­ лицы декодирования необходимо уметь определять номер

строки, которой принадлежит принятая комбинация. Эта

зада­

ча решается

вычислением

произведения VI Н[„, *}

= SL, называ­

емого синдромом.

Покажем, что каждой

строке

таблицы

де­

кодирования

соответствует

свой

синдром:

 

 

 

 

Si

= V/Hln,k)

=

(Vl + Ei)^{n,k)

=

 

 

=V, Н(л, к) + Et Н(^, к) ~ ^ Н ( я , к)-

Так как

варианты ошибок Et в первом

столбце

различны,

то и произведение

EiH[n,k),

являющееся (я—&)-разрядным век­

тором, для

различных Et различно и может

принимать всего

2"~* различных значений,

т. е. для каждой строки таблицы

существует

свой

синдром,

определяемый

видом

варианта

ошибок.

 

 

 

 

 

Итак, процедура исправления ошибок с использованием таб­ лицы декодирования сводится к следующему:

1. Для принятой комбинации вычисляют синдром и по нему определяют предполагаемый вариант ошибок, содержащийся в

принятой

комбинации.

 

 

 

 

 

2.

Суммируя

по модулю 2

предполагаемый

вариант

ошибок

с принятой комбинацией, получают переданную комбинацию.

При данной процедуре декодирования количество исправляе­

мых

вариантов

ошибок

определяется числом

строк

таблицы

декодирования

 

и равно

2 П _ Й — 1 .

 

 

 

Для того чтобы код исправлял все варианты ошибок крат­

кости

до

t

включительно,

необходимо

выполнить

условие

 

t

 

 

 

 

 

 

 

 

2 ™ *

> 2

Сп,

известное

под

названием

границы Хемминга.

1 - 0

Код, который исправляет все ошибки кратности до і включи-

тельно и не исправляет никаких ошибок большей кратности,

называется

совершенным.

В случае

обнаружения ошибок процедура декодирования

упрощается. Если вычисленный синдром St ф 0, то выдается сиг­ нал «Ошибка» или «Стирание». При этом вид синдрома не имеет значения. При частичном исправлении и обнаружении ошибок задают кратности ошибок І', для которых осуществляется ис­ правление, а ошибки высших кратностей только обнаруживают. В этом случае в памяти декодирующего устройства фикси-

руется 2 С1п синдромов, по которым происходит исправление.

1—1

При любом другом значении синдрома фиксируют обнаруже­ ние ошибки.

 

6.3.3. Укорочение

групповых

 

кодов

 

На основе группового (я, &)-кода можно

построить также

групповой (п — і,

& —/)-код,

если в каждой кодовой комбина­

ции исходного (я, &)-кода исключить /

информационных эле­

ментов.

Коды,

полученные

указанным

методом,

называют

укороченными.

 

 

 

(п — i,

k — г')-кода

Порождающая

матрица

укороченного

получается из канонической

формы матрицы G<n . s> вычерки­

ванием

і нижних

строк и і образовавшихся

нулевых столбцов.

Проверочная матрица укороченного (я — i , k — і) -кода получается из канонической формы Н ( я , *> вычеркиванием і

первых столбцов. Поскольку

при этом число

линейно-зависи­

мых

столбцов

матрицы

проверок уменьшиться

не может,

то

^мин укороченного

кода

и

его

корректирующие

свойства

не

х у ж е , чем

у

исходного

кода.

Например,

укорочением (5,3)-

кода

можно

получить

(4,2)-код

с

 

 

 

 

 

 

 

 

 

1

0

 

1

0

и

Н(4,2)

1

0

 

1

1

 

 

«(4,2)

1

1

0

 

1

0

1

0

 

1

 

 

 

 

 

 

 

 

 

Минимальное

кодовое

расстояние

укороченного (4,2)-кода,

как

и у исходного, равно

двум.

 

 

 

 

 

 

 

 

6.3.4.

Оценка

 

эффективности

групповых

 

 

кодов

 

Вкачестве оценки помехозащищенности корректирующего

кода используют вероятность поступления кодовой комбинации с ошибками к потребителю после выполнения процедуры деко­ дирования. Для вычисления этой оценки должны быть известны следующие характеристики:

b{ (і) — функция ошибок, принимающая

значения

«0» и

«1»*

указывающая, выявляется

или не выявляется данным кодом

у'-й образец /-кратной

ошибки; у принимает

значения

от 1

до

С'„; і изменяется от 1

до

я ;

 

 

 

Р'п (і) — вероятность появления у'-го образца /-кратной ошиб­ ки в дискретном канале; определяется либо в результате ста­ тистических испытаний, либо вычисляется аналитически, если известен математический закон распределения ошибок.

Вероятность появления комбинации с ошибками на выходе декодирующего устройства равна

В большинстве практических случаев расчеты по данной фор­ муле затруднительны. В тех случаях, когда вероятности появле­ ния образцов ошибок кратности і можно считать равными, фор­ мула упрощается и принимает вид

 

 

р

_ V

о' p v > п )

 

где

В'„— 2 ^ я ( і ) число невыявляемых

кодом образцов

ошибок

 

і

Р(і, п) — _]

Р'п (і)

 

 

 

кратности і;

— вероятность появления

г'-крат-

 

 

і

комбинации длины п.

 

ной

ошибки

в кодовой

 

 

Если код

исправляет

все

образцы

ошибок кратности до t

включительно и не исправляет ошибок более высоких кратно­

стей, то

В'п = 0 при

i^t

и В1п =

С'п при 1 > ^ + 1 , т . е .

веро­

ятность

ошибки при

исправлении

равна

 

 

 

 

i = t + l

 

 

Если

(п, &)-код с

минимальным

кодовым расстоянием,

рав­

ным d, используется для обнаружения ошибок, то он обнаружи­ вает все образцы ошибок кратности до d—l включительно и не обнаруживает те образцы ошибок кратности d и более, которые трансформируют переданную комбинацию в другие разрешен­

ные

комбинации, т.

е. Вп1 = 0

при i^d—

1 и

= A t при

і >

d, где Л г — ч и с л о

кодовых

комбинаций

веса

/.

Таким образом, вероятность поступления к потребителю ком­ бинации с ошибками при обнаружении равна

п.

i= d

Можно найти приближенное выражение для отношения А,1С'„, являющегося долей необнаруживаемых ошибок кратности /. Предположим, что образцы ошибок кратности / > d равномер­ но распределены по строкам таблицы декодирования. Всего

15 Зак. 169.

225

S3

СП

Режим использования кода

Исправление оши­ бок

Обнаружение оши­ бок

Исправление и об­ наружение ошибок

 

 

 

 

 

 

Т а б л и ц а 6.2

 

Вероятность

наличия ошибок в комбинации после декодирования

 

 

 

Общее

выражение

Независимые ошибки

Зависимые

ошибки

2

p(i. п)

2

cnPl{\~Pf-1

 

 

 

 

 

 

 

п

р

1 п

 

 

 

 

г

i-d

 

 

2п ~ к

[

d

)

 

 

 

 

 

 

t

 

2 с{

 

 

 

 

 

2

п

п

 

 

 

 

 

 

 

 

2n-k

\

d

- t j

l=d-t

 

i^d—t

 

 

 

 

 

 

 

 

 

 

 

в

,n—k

различных

значений синдромов,

этом случае возможно 2'

из

которых лишь одно значение (нулевой

синдром) приводит

к необнаруженной ошибке. Таким образом, для каждой крат­ ности і >d доля необнаруживаемых образцов ошибок соста­ вляет 1/2"~* от общего числа возможных. Окончательно

При частичном исправлении ошибок кратности до t включи­ тельно и гарантийном обнаружении ошибок кратности до d—t— 1 вероятность наличия ошибок в кодовой комбинации на выходе декодирующего устройства равна

і = d-t

Приведем

сводку расчетных формул для случая независимых

и зависимых

ошибок при различных режимах использования

корректирующего кода (табл. 6.2). Здесь р — вероятность

ошиб­

ки в элементе

сообщения, а — показатель

группирования

оши­

бок.

 

 

 

§ 6.4.

Коды с одним избыточным

элементом

 

Простейший корректирующий код можно получить введением в кодовой комбинации простого кода проверки на четность по всем элементам комбинации. В этом случае к комбинации про­ стого кода добавляется еще один разряд, являющийся результа­ том суммирования всех элементов комбинации простого кода по модулю 2. Полученный код является систематическим и может быть обозначен (я, п— 1)-код. Проверочная матрица (п, п — А)- кода содержит одну строку, состоящую из я единиц, так как про­

веркой охвачены все элементы

комбинации:

 

 

 

 

^ „ , „ - 1 ) =

[ 1 1 1 . . . 11].

 

 

Все столбцы данной проверочной матрицы одинаковы, по­

этому

минимальное

кодовое

расстояние (я, я — 1)-кода

равно

двум, т. е. код обнаруживает все однократные

ошибки. Если при

декодировании учесть, что в каждой кодовой комбинации

должно

быть

четное число

единиц, то дополнительно

обнаруживаются

все ошибки нечетных кратностей. Следовательно, код не обнару­ живает только ошибки четных кратностей. Из (я, я—1)-кодов

наибольшее распространение получили

(6,5)-код, построенный

на базе международного кода № 2,

и (8,7)-код (ГОСТ

13052—67).

 

15*

227

 

Принцип построения кодирующего устройства и устройства обнаружения ошибок рассмотрим на примере (6,5)-кода. Форми­ рование избыточного элемента в кодирующем устройстве (рис. 6.5а) осуществляется при помощи сумматора по модулю 2 на пять входов. Обнаружение ошибок осуществляется сложением всех элементов кодовой комбинации по модулю 2 (рис. 6.56). Если на выхсде сумматора по модулю 2 при этом появляется «О», то считают, что ошибок в принятой комбинации нет; если на выходе сумматора появляется «1», то фиксируют обнаружение ошибок.

1__ __

.

.

Сигнсщ ои/ид~Хі/

Рис.

6.5.

 

 

 

Более целесообразным является построение кодирующего и

декодирующего устройств для

(я,

я — 1)-кодов

в

виде цикличе­

ских кодов с порождающим многочленом g(x)

=

1+х.

Кроме проверки .на четность в

(п, я — 1)-кодах может быть

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

Эффективность применения (я, п— 1)-кодов для повышения достоверности передачи оценим по уменьшению вероятности ошибок в комбинации после декодирования, обеспечиваемому данными кодами в канале с зависимыми ошибками, по сравне­

нию с простыми кодами

той же длины:

 

 

R _ P O U ) _

я 1 - у

~

,

2п~к\ d

т. е. (я, я — I) - коды обеспечивают выигрыш по достоверности по сравнению с простыми кодами в 2—4 раза.

 

§ 6.5.

Коды Хэмминга

 

6.51.

Коды

Хэмминга

с dM\m = 3

 

Кодом Хэмминга называют групповой (п, &)-код, матрица

проверок которого имеет r = n — k строк и 2Г —1 столбцов,

причем

столбцами Н(„,я ) являются

все

различные ненулевые /--разряд­

ные числа в двоичной системе

счисления от 1 до 2 r — 1 .

 

Из определения

ясно, что длина

кодовой комбинации

равна

п — 2т 1, а число информационных элементов k = 2r r—\. Итак, код Хэмминга полностью определяется числом избыточных эле­

ментов в кодовой

комбинации

n — k. По виду матрицы

H ( n , f t )

легко определить

минимальное

кодовое расстояние кода

Хэм­

минга. Так как все столбцы матрицы проверок различны, то ми­ нимальное кодовое расстояние больше двух. Для любого числа г можно указать три столбца матрицы Н( п ,ь) (например, столбцы, соответствующие числам 1, 2, 3), являющиеся линейно-зависи­ мыми.

Следовательно, у любого кода Хэмминга минимальное кодо­ вое расстояние равно трем, т. е. код Хэмминга способен исправ­ лять все однократные ошибки. Полное число вариантов одно­

кратных ошибок Cnl

— n=2n-h—l,

т. е. равно числу строк таб­

лицы декодирования

с ненулевыми

синдромами. Это означает,

что код Хэмминга является совершенным. На основании опреде­ ления кодов Хэмминга можно построить следующие коды: (7,4)

при

г = 3,

(!5,11) при г = 4, (31,26) при г = 5,

(63,57) при г = 6,

(127,

120)

при г = 7 и т. д. Путем укорочения

этих кодов можно

построить коды Хэмминга любой длины. В силу этого любой групповой код, исправляющий одиночные ошибки, принято на­ зывать кодом Хэмминга.

Коды Хэмминга обладают важным свойством. Если столбцы

матрицы проверок

представляют

собой

упорядоченную запись

(га — &)-разрядных

двоичных чисел, то при однократной ошиб­

ке синдром равен

порядковому

номеру

элемента кодовой ком­

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

синдрома

/?,Н^( *) все строки

матрицы \i[n,k),

соответствующие

нулям

в

Eh

обращаются

в нулевые

последовательности

и лишь

строка

Н(л. й), соответствующая

«1»

в Еь

определяет вид син­

дрома, т. е. порядковый

 

номер

элемента

в двоичной

записи.

Например, если в системе передачи используется

(7,4)-код

Хэмминга

с

проверочной

 

матрицей

 

 

 

 

 

 

 

 

"1

1

1

1

0

0

0"

 

 

 

 

Н(7,4) =

1

1

0

0

1

1

0

 

 

 

 

 

.1

0

1

0

1

0

1_

 

и переданная комбинация (1 1 0 1 0 0 1) под воздействием

229