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

книги из ГПНТБ / Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования

.pdf
Скачиваний:
4
Добавлен:
21.10.2023
Размер:
8.92 Mб
Скачать

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

3-3

Порождающий

 

Система

контрольных соотношении

(номера

 

полином

 

 

символов, входящих в

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

 

1 + Х 2 + Х 3

0124

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0136

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 + Х * + Х 6 + 0 1

2

5 11 18 19

 

 

 

 

 

 

 

0

 

3

9

 

16

17

 

29

30

 

 

 

 

 

 

+ Х , г + Х ' 5 - 1 - 0 4 10 12 15

 

23 24

 

 

 

 

 

 

+ Х 1 в

0

 

6

13

 

14

26

 

27

28

 

 

 

 

 

 

 

0

 

7

8

 

20

21

 

22

25

 

 

 

 

 

 

1 + х 2 + х « +

0

1

2

6

 

7

12

26

3

 

8

13

18

27

32 35 48

-г-х4 -(-х7 +

0

1

2

6

 

7

12

26

4

 

14

16

24

33

36 52 54

-f-XI 3 +X, 5 -f

0

1 2

6

 

7

12

5

 

11

17

25

31

34 47 62

H - x ^ - f x 1 8 - ) -

0

1

2

6

 

7

12

26

9

 

19

28

38

41

45 49

56

0

1

2

6

 

7

12

26

10

22

30

39

43

46 50 61

+ х , а + х 2 , +

.0

1

2

6

 

7

12

26

15

23

37

40

44

51 53 55

+.V22

0

1 '2

6

 

7

12

26

20

21

29

42

57

58 59

60

 

 

1 + х а 4 - х в + 0 1 4 16 21 23 29 53

 

 

 

 

 

+ х , » + х , 2 + 0 2 8 32 42 43 46 58

 

 

 

 

 

- f x , 3 + x u +

0

 

3

15

 

20

22

 

28

52

 

62

 

 

 

 

 

+ х 1 6 + х , 6 + О 5 7 13 37 47 48 51

 

 

 

 

 

+ х г 4 + х ! "

О

 

6

30 40 41 44 56 61

 

 

 

 

 

 

О

10

11

 

14

26

 

31

33

 

39

 

 

 

 

 

 

О

12

17

 

19

25

 

49

59

 

60

 

 

 

 

 

 

О 24

34

 

35

38

 

50

55

 

57

 

 

 

 

 

10 1 + х 2 + х в , +

 

 

 

3

7

15 31

36

54

63

 

 

 

+ х 9 + х , » - г -

 

 

 

6

14

30 35

53

62

72

 

 

 

и+х"+

 

 

 

12

28

33 51

60

70

71

 

 

 

 

+ х , 5 + х , 6 +

 

 

 

23

 

32

42

43

45 49

57

 

 

 

+ х , 9 + х г » +

 

 

8

24

29

47 56

66

67

69

 

 

 

+ х г » - Ь х г + +

 

 

9

19

20

22 26

34

50

55

 

 

 

+ х а 6 + х " +

 

10

11

13

17 25 41 46 64

 

 

 

+ х 2 8

 

16

21

39

48

58

59 61

65

 

 

 

 

 

18

27

37

38

40

44

52

68

 

 

 

где F(x) —полином степени /г', который должен делить­ ся на G(x). Вообще говоря, в качестве многочлена F(x) можно выбрать любой полином степени я' с ненулевым свободным членом, который делится на G(x). Однако обычно этот полином отыскивается в виде

F(x) =

l+xk'+,R(x),

где k' — количество информационных символов в уко­ роченном коде,

90

Учитывая, что 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

Т а б л и ц а 4-2

Реализуемое

 

 

Порождающий полином

 

т*

т

расстояние

 

 

(

« 1 , »j

«/V }

 

 

b=N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

0,

1

 

 

 

 

 

 

 

4

4

3

0,

1,

3

 

 

 

 

 

 

7

8

4

0,

1,

3,

7

 

 

 

 

 

11

16

5

0,

1,

3,

7,

12

 

 

 

 

16

26

6

0,

1,

3,

7,

12,

20

 

 

 

22

42

7

0,

1,

3,

7,

12,

20,

30

 

 

29

62

8

0,

1,

3,

7,

12,

20,

30,

44

 

37

90

9

0,

1,

3,

7,

12,

20,

30,

44,

65

46

132

т * ~ т [Л. 30]. Эти коды были найдены вручную Месси, который для построения разделенных проверочных со­ отношений вычислял линейные комбинации строк мат­ рицы (4-5). Найденные им коды, соответствующие 1г/п = = 1/2, приведены в табл. 4: 3. •

 

 

 

Т а б л и ц а

4-3

Реализу­

Порождающий

Система разделенных проверочных

 

 

емое рас­

полином { а , ,

т*

т

стояние

соотношений

 

l=N

Oa,...a^=rJ

 

 

 

 

 

 

 

 

 

4

6

8

10

0,

3,

4,

5

(0),

(3),

(4),

(1,5)

 

 

11

12

0,

6,

7,

9,

(0),

(6),

(7), (9), (1, 3,

10),

22

24

 

10,

11

 

(4,

 

8,

11)

 

 

 

 

 

 

 

 

0,

11, 13,

(0);

 

(11),

(13),

(16),

 

(17),

37

44

16,

17,

19,

(2,

 

3, 6, 19) , (4,

14, 20), (1,

 

20,

21

 

5,

8,

15, 21)

 

 

 

 

 

 

0,

18,

19,

(0),

(18),

 

(19),

(27),

(1, 9,

56

72

27,

28, 29,

28) , (10, 20, 29) ,

(11, 30, 31),

30,

32, 35,

(13,

21, 23, 32) ,

(14, 33, 34) ,

 

 

38(2, 3, 16, 24, 26, 35)

Вкачестве примера построим схему декодера для свергочного кода с реализуемым кодовым расстоянием 8=N=A. Из табл. 4-3 на­

ходим порождающий полином G(x) = l+x3+xi+xs. При этом значе­

ние

ошибочного

символа

е>"о определяется по правилу большинства

по

значениям к0,

k3, 4

и k\-Vkb. В соответствии с этими данными

получаем схему КУ (рис. 4-4).

Для конструирования сверточных кодов с разделен­ ными проверками может быть использовано понятие со­ вершенного разностного множества [Л. 31]. Совокуп­ ность вычетов {cti, аг, . . . , ая) по модулю А называют 98

совершенным разностным мнооюеством, если всякое чис­ ло аФО по модулю А может быть выражено % спосо­ бами в виде разности

•а,—а;=,а по модулю А,

где си, а, — элементы разностного множества.

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

Вхад инфор­ мационных символов

DUO

т2

Выход информацион­

 

т2

ных символов

 

 

Вход контроль­

пни

0]Цт2\

D

D

ных символов

 

 

2

3

4

 

 

 

 

 

Цт2

 

 

 

 

 

«5

Рис. 4-4. Схема

КУ для сверточного

кода, порождаемого полиномом

 

G(x) =

l+x3+xl+x5.

 

 

ным числом

элементов. Нас будут интересовать так на­

зываемые плоские (или

планарные)

 

разностные мно­

жества, для которых А,= 1, ибо только в этом случае, как

следует из системы

(4-6), проверки будут

разделенны­

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

используются

плоские разностные

множества с ai = 0.

Таким

образом,

для получения наиболее экономичных

кодов

необходи­

мо уметь строить разностные множества с максимально возможным для данного А числом членов (число членов

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

проверок N)

и ми­

нимальным значением а« = г.

 

 

Пусть М={аи аг,

ajv} — плоское разностное

мно­

жество, тогда полином

 

 

 

G(x)

= £ х*

(4-7)

называется ассоциированным с М полиномом и являет­ ся порождающим полиномом сверточного кода с разде-

99

Соседние файлы в папке книги из ГПНТБ