Файл: Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.10.2024

Просмотров: 167

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Учитывая, что F(x) должен делиться на й(х), по­ лучаем:

R(х) = — х ' г _ ( 4 ' + 1 ) по модулю G(x),

где п — длина исходного циклического кода. Таким об­ разом, F(x) является полиномом обратной связи и при операции сдвига содержимого регистра кодовое слово (псевдоциклического кода) переходит в кодовое слово.

Например, в результате укорачивания на один разряд цикличе­ ского кода (7,4), порождаемого полиномом G(x) = l+xz+x3 (см. табл. 3-3), получаем систему разделенных контрольных соот­ ношений

Si=s 2 +s 4 ;

 

Sl=S3 + So.

 

При этом полином

обратной связи F(x) = l+x'1(l+xz) =

l+xi+xe.

Схема мажоритарного

декодирования полученного таким

образом

Рис. 3-11. Схема

КУ для укороченного (6,3)-кода.

укороченного (6, 3)-кода

показана на рис. 3-11. Обратная связь

в регистре воздействует только на контрольные символы, не изменяя Л'=3 информационных символов. Поэтому при выполнении /г'=3 сдвигов на выходе мажоритарного элемента будут получены к' ин­ формационных СИМВОЛОВ S\, So, s3.

Г л а в а ч е т в е р т а я

НЕКОТОРЫЕ СПЕЦИАЛЬНЫЕ СПОСОБЫ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ

4-1. СВЕРТОЧНЫЕ К О Д Ы 1

Изучение сверточного кодирования и декодирования целесообразно начать с рассмотрения наиболее просто­ го случая, соответствующего скорости передачи £/«=1/2

1 Иногда их называют рекуррентными или непрерывными.

91

Двоичных единиц на выходной символ. В рассматривае­ мом случае кодер содержит один' вход и два выхода (рис. 4-1). В каждый дискретный момент времени на вход поступает информационный символ s, а с выходов

считываются закодированные

символы.

Будем

предпо­

 

 

 

лагать,

что код

раздели­

Вход I

 

мый, т. е. значения симво­

 

лов на 1-м выходе совпа­

 

 

 

 

 

 

дают

со значением

сим­

 

 

 

волов на входе,

а значе­

 

 

 

ния

символов

на 2-м вы­

Рис.

4-1. Схема кодера для скоро­

 

ходе

являются

линейной

сти

'/в двоичных единиц на выход­

 

комбинацией

 

символов

 

ной символ.

 

входной

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

 

 

 

сти.

В

этом

случае

при

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

s0,

si, sz ..

на

выходе кодера получим:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 " -

 

 

 

 

 

 

 

Л*)

4 2

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где с " — символ, считываемый со 2-го выхода в момент времени /.

Входную и выходные последовательности можно представить в виде полиномов

S W

=

s ' l ! + ^ ) *

+ 4 V - +

...;

C(x)

=

c{02>+c?)x+Jl)

-*2 +

-...

причем по условию С (х) = G (х) S (х). Полином G(x) на­

зывают

порождающим

(генераторным).

Если

степень

полинома

G(x) = g o + g i X +

. . . +gTxT

равна

г,

то

любой

фиксированный информационный

символ

sWj

может

оказывать влияние на выходную контрольную последо­

вательность

С(х)

в продолжении

не более г + 1

тактов

и за это

время

с выхода

кодера

будет

считано

пг —

= 2(г+1)

символов.

Величину

m

называют

кодовым

ограничением

кода.

 

 

 

 

 

 

G(x)S(х),

Кодирование, т.е. вычисление произведения

осуществляется

с помощью

линейных

фильтров

без

обратных

связей

(рис. 3-1). При этом значения

прове­

рочных символов определяются

выражением

 

 

 

 

c j =

goSj

+ giSj-i

+

. . . +

grSj-r.

 

 

(4-1)

92


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

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

 

I

80

0 81

0

82

• 0

gr

 

 

 

G =

0 0

 

1 g0

о 8 l ,

• 0 gr-x

0

gr

 

0

0

0 0

1

g t .

0

g P _ 2

0

gr-t

0 gr

 

0

0

0 0

0

0 .

0

g r - з

0

g r _ 2

0 g r _ , 0 g,

 

 

 

 

 

 

 

 

(4-2)

 

Если вычислить скалярное произведение входной по­

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

(SQ,

SI,

S2, ...)

на данную

матрицу G,

то

получим выходную

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

So,

Со,

S i ,

S2,

Сг, ..., где с,,

как легко

проверить, вычисляется

в со­

ответствии с (4-1).

 

 

 

 

 

 

 

Древовидная

структура

кода, описываемого

матри­

цей (4-2), показана на рис. 4-2. Под каждой ветвью

дерева стоит двухзначное

двоичное

число,

являющееся

линейной комбинацией соответствующих столбцов мат­

рицы G. Любой

заданной последовательности двоичных

Рис. 4-2. Древовидная структура сверточного кода, описываемого матрицей (4-2).

93


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

символов

(s0,

si,

« 2 , • • •)

однозначно

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

считывать

подряд

символы,

стоящие

снизу

ветвей, находящихся

на этом пути, то получим

закодированную

последова­

тельность.

Например,

при

входной

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

101...

(на

рис. 4-2 этот путь

отмечен звездочками) на

выходе получим

1, g0, 0, gu

1, g0+g2,

...

 

Рассмотрим

теперь

задачу

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

ных кодов. Вследствие помех принятые последователь­ ности отличаются от переданных, т. е.

S"{x)=S{x)+Bl)(x)\

C*{x)=C{x)+EW(x),

где

£<1 > (х) = е <'> +

е\' ]х -|- 4 ' >л-2 + . . . ,

&*Цх) = е™+е™х

+ е™х' + ...

— шумовые последовательности, наложенные на ин­ формационную и контрольную последовательности. Если принятую информационную последовательность (воз­ можно искаженную) S*(x) закодировать и сложить (по модулю 2) с принятой контрольной последователь­ ностью, то получим корректирующую последователь­ ность (аналог синдрома или корректора в случае бло­ ковых кодов):

К(х) = S* (х) G(x) + С* (х) =S(x)

G (х) +

 

+ £<•> (х) 6(х)+С(х)+

В2> (х) = EW {х) G(x)+ £<2> (х).

 

 

 

(4-3)

Таким образом, значение К(х) = k a

+ kiX+kzX2+

. . .

определяется исключительно шумами.

Схема КУ для сверточного кода, порождаемого по­ линомом G(x)*=g0+gix+ ... +grxr, показана на рис.4-3. После поступления на вход декодера г информационных символов (s*o, s*t, ...., s*r_i) содержимое ячеек нижнего регистра будет равно (k,—i, ..., k u k 0 ) . В следующем такте на информационный вход поступает символ s*r и вычисляется значение k r .

Предполагаем, что

известен алгоритм, позволяющий

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

k r , г _,,..., /г,, k 0 вычислить шу-

94


новой символ fig1' . Этот алгоритм реализуется с помощыо ЛС. Если бд1 '. 1,, то значение о0s0* инверти-

руется, т. е. So = s*o+e(1)o, и одновременно с помощью обратной связи производится коррекция содержимого нижнего регистра для исключения влияния е<-% Необхо­ димость коррекции легко усмотреть из выражения

К(х) = (x)G(х) + £<3Г(л-) = е{0]) G(х) +

О ,

+ e\])xG(х) + . . . + e'"jcr G (х) + £<=> (х).

Таким образом, если значение е^'о было определено правильно, то влияние этого символа на корректирую­ щую последовательность устраняется и с помощью того же алгоритма вычисляется e^i и т. д.

Рассмотренная схема декодирования имеет два су­ щественных недостатка: 1) в общем случае реализация

. S2, Si, SO

SJ. Si, Sg

Рис. 4-3. Схема КУ для сверточного кода, порождаемого полино­

мом G(x) =g0+giX+

. . . +grxr.

ЛС требует больших затрат оборудования; 2) если при декодировании произошла ошибка (значение e^k опре­ делено неверно), то из-за наличия обратной связи в ниж­ нем регистре возникает так называемый «эффект раз­ множения ошибок», вследствие которого информацион­ ные символы Si+i, S j + 2 , .. . будут декодированы неверно.

Для устранения первого недостатка используются сверточные коды, допускающие мажоритарное декоди-

95

рование. Другими словами, порождающий полином G(x) должен быть выбран таким образом, чтобы получить систему разделенных относительно символа е^о кон-, трольных соотношений (см. § 3-4).

В соответствии с выражением (4-3) значения симво­ лов корректирующей последовательности могут быть вычислены с помощью следующего матричного урав­ нения:

I M . . . .

M = l K , , e i ^ . . < , W ) . . . < ' ) | | H l . (4-4)

где Н( транспонированная контрольная матрица, ко­ торая описывается коэффициентами порождающего по­ линома,

go

0

0

. . 0

0

1 0 0 .

. 0

 

gi go

0

. . 0

0

0

1 0 .

. 0

(4-5)

82

gl

go

. . 0

0

0

0

1 .

. 0

gr

g r - ,

g r - 2 • -gt

go 0

0

0 .

. 1

 

Пусть gai,

g^,.

. ., gaN

( 0 < a, <

o , < . .'.<%=

r) -

ненулевые коэффициенты полинома G(x), расположен­ ные в порядке возрастания индексов. Тогда из уравне­ ния (4-4) с учетом (4-5) следует, что шумовой символ е^'о будет входить в контрольные соотношения, с помощью которых вычисляются символы kQ, ka^, kr корректи­ рующей последовательности К(х), причем

(2)

' О

1 о3a, I o3

'

 

 

(4-0

k = e™+e{,)

+...4-e0)

4-e{2),

где a,—aj означает арифметическую разность индексов. Из системы уравнений (4-6) следует, что задача построения сверточного кода zN разделенными контроль­

ными

соотношениями

(при скорости передачи

1/2)

сво­

дится

к выбору

таких

значений <ai, az, .. •, rajv, при кото­

рых все разности си — щ, где £>'/, i, / = 1 , 2,

N

раз­

личны. Причем

желательно минимизировать

величину

96

 

 

 

 

 


a.N = r,

так как

количество запоминающих

ячеек

в де­

кодере

равно

(рис. 4-3). Значение

N

эквивалентно

понятию

реализуемого

 

кодового расстояния б (§ 3-4).

В табл. 4-1

представлены

некоторые

значения сц,

а.2, ..., выбранные таким

образом, что все разности

вида

щ—a,j при i>j различны.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

4-1

Значение

at

 

 

 

Значение разности а 4 п р и

( > /

 

('=1,

2,

• •

•)

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I

 

 

2,

3

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4,

6,

7

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

12

 

 

5,

9,

11,

12

 

 

 

 

 

 

 

20

 

 

8,

13,

17,

19,

20

 

 

 

 

 

 

30

 

 

10,

18,

23,

27,

29,

30

 

 

 

 

 

44

 

 

14,

24,

 

32,

37,

41,

43,

44

 

 

 

 

65

 

 

21,

35,

 

45,

53,

58,

62,

64,

65

 

 

Помимо введенного ранее понятия кодового ограни­

чения т для сверточных

кодов вводится понятие эффек­

тивного

кодового

ограничения

пг*, которое

определяется

как число

различных

 

шумовых

символов,

входящих

в систему контрольных соотношений. Имеет место оче­ видное неравенство m*<m. Для кодов с разделенными проверками при скорости 1/2 из (4-6) непосредственно следует, что

m*=N{N+\)l2 + \.

Смысл введенного понятия эффективного кодового ограничения становится совершенно ясным из утвержде­ ния: если количество возникших ошибок на длине пг* разрядов не превосходит [N/2], то символ е<-% может быть правильно декодирован с помощью мажоритарного элемента.

В табл. 4-2 представлены параметры сверточных ко­ дов при скорости передачи 1/2, полученных в соответст­ вии с табл. 4-1.

Неравенство m*<^m является нежелательным, так как в этом случае уменьшается эффективность исполь­ зования аппаратуры кодера и декодера. Поэтому были предприняты попытки найти такие сверточные коды, допускающие мажоритарное декодирование, чтобы

7—236

97