Файл: Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования.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 о3—a, 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, |
так как |
количество запоминающих |
ячеек |
в де |
||||||||||
кодере |
равно 2г |
(рис. 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 |