передаточную функцию T(D) использовать нельзя, поскольку сложность T(D) экспоненциально растет с увеличением длины кодового ограничения.
С помощью передаточной функции кода можно получить более подробную информацию, чем при использовании лишь расстояния между различными путями. В каждую ветвь диаграммы состояний введем множитель L так, чтобы показатель L мог служить счетчиком ветвей в любом пути из состояния а = 00 в состояние е = 00.
Более того, мы можем ввести множитель N во все ветви переходов, порожденных входной двоичной единицей. Таким образом, после прохождения ветви суммарный множитель N возрастает на единицу, только если этот переход ветви вызван входной битовой единицей. Для сверточного кода, приведенного на рис. 5.2,а на перестроенной диаграмме состояний (рис. 5.16) показаны дополнительные множители L и N. Уравнения (3.13) теперь можно переписать следующим образом
Xb D2 LNX a LNX c ,
X c DLXb DLX d ,
(5.15)
X d DLNXb DLNX d ,
X e D2 LX c .
Передаточная функция кода такой доработанной диаграммы состояний будет следующей
T (D, L, N ) |
|
D5 L3 N |
|
|
1 DL(1 L)N |
||||
|
||||
|
(5.16) |
|||
|
D5 L3 N D6 L4 (1 L)N 2 D7 L5 (1 L2 )N 3 ... Dl 5Ll 3nl 1 ... |
|||
Таким образом, мы можем проверить некоторые свойства путей, показанные на рис. 5.14. Существует один путь с расстоянием 5 и длиной 3, который отличается от нулевого пути одним входным битом. Имеется два пути с расстоянием 6, один из них имеет длину 4, другой – длину 5, и оба отличаются от нулевого пути двумя входными битами. Также есть пути с расстоянием 7, из которых один имеет длину 5, два - длину 6 и один – длину 7; все четыре пути соответствуют входной последовательности, которая отличается от нулевого пути тремя входными битами. Следовательно, если нулевой путь является правильным и шум приводит к тому, что мы выбираем один из неправильных путей с расстоянием 7, то в итоге получится три битовые ошибки.
Возможности сверточного кода в коррекции ошибок
В главе 4 при изучении блочных кодов говорилось, что способность кода к коррекции ошибок, t, представляет собой количество ошибочных кодовых
181
символов, которые можно исправить в каждом блоке кода путем декодирования по методу максимального правдоподобия.
00
LN
a = 00 |
11 |
b = 10 |
|
10 |
|
|
c = 01 |
11 |
|
e = 00 |
D2LN |
|
DL |
|
|
D2L |
|||||
|
|
|
|
|
|
|
||||
|
|
DLN 01 |
|
01 DL |
|
|
|
|||
|
|
|
|
d = 11 |
|
|
|
|
|
|
|
|
10 |
|
DLN |
|
|
|
|||
|
|
|
|
|
|
|||||
Рис. 5.16 Диаграмма состояний с обозначением расстояния, длины и числа входных единиц
В то же время при декодировании сверточных кодов способность кода к коррекции ошибок нельзя сформулировать так лаконично. Из уравнения (5.12) можно сказать, что при декодировании по принципу максимального правдоподобия код способен исправить t ошибок в пределах нескольких длин кодового ограничения, причем "несколько" – это где-то от 3 до 5. Точное значение длины зависит от распределения ошибок. Для конкретного кода и модели ошибки длину можно ограничить с использованием методов передаточной функции кода.
5.10 Систематические и несистематические сверточные коды
Систематический сверточный код – это код, в котором входные данные фигурируют как часть выходного кодового слова, соответствующего этим входным данным. На рис. 5.17 показан двоичный систематический кодер со скоростью кодирования 1/2 и К = 3. Для линейных блочных кодов любой несистематический код можно преобразовать в систематический с такими же пространственными характеристиками блоков. При использовании сверточных кодов это не так. Причина в том, что сверточные коды сильно зависят от свободного расстояния. При построении сверточного кода в систематической форме при данной длине кодового ограничения и степени кодирования максимально возможное значение свободного расстояния снижается.
182
В табл. 5.1 показан максимальный просвет при степени кодирования 1/2 для систематического и несистематического кодов с К от 2 до 8. При большой длине кодового ограничения результаты отличаются еще сильнее.
Вход |
Выход |
1 2 3
а)
Рис. 5.17 Систематический сверточный кодер (степень кодирования ½, К = 3)
Таблица 5.1. Сравнение систематического и несистематического свободных расстояний, степень кодирования ½
Длина кодового ограничения |
Свободное расстояние |
Свободное расстояние |
|
систематического кода |
несистематического кода |
2 |
3 |
3 |
3 |
4 |
5 |
4 |
4 |
6 |
5 |
5 |
7 |
6 |
6 |
8 |
7 |
6 |
10 |
8 |
7 |
10 |
Распространение катастрофических ошибок в сверточных кодах.
Катастрофическая ошибка возникает, когда конечное число ошибок в кодовых символах вызывает бесконечное число битовых ошибок в декодированных данных. Условием распространения катастрофических ошибок для кода со степенью кодирования 1/2 , реализованного на полиномиальных генераторах описанных в разделе 3.3.1.1, будет наличие у генераторов общего полиномиального множителя (степени не менее единицы). Например, если взять несистематический кодер со скоростью кодирования 1/2, величиной кодового ограничения К = 3 со старшим полиномом g1(x) и младшим – g2(x) (см. уравнение (5.1))
183
g1 (x) 1 X
(5.17)
g2 (x) 1 X 2.
Генераторы g1(x) и g2(x) имеют общий полиномиальный множитель 1+Х , поскольку
1 X 2 (1 X )(1 X ).
Следовательно, в таком кодере может происходить распространение катастрофической ошибки.
Единственное преимущество описанного ранее систематического кода заключается в том, что он никогда не будет катастрофическим. Однако, исследования несистематических кодов показало, что только небольшая их часть (исключая те, в которых все сумматоры имеют четное количество соединений) является катастрофической.
5.11 Наиболее известные сверточные коды
Векторы связи или полиноминальные генераторы сверточного кода обычно выбираются исходя из свойств свободного расстояния кода. Главным критерием при выборе кода является требование, чтобы код не допускал катастрофического распространения ошибок и имел максимальное свободное расстояние при данной степени кодирования и длине кодового ограничения.
Затем при данном свободном расстоянии df минимизируется число путей или число ошибочных битов данных, которые представляют путь. Процедуру выбора можно усовершенствовать, рассматривая количество путей или ошибочных битов при df+l, df + 2 и т.д., пока не останется только один код или класс кодов. Список наиболее известных кодов со скоростью кодирования 1/2 при К, равном от 3 до 9, и со степенью кодирования 1/3 при К, равном от 3 до 8, соответствующих этому критерию приводится в табл. 5.2. Векторы связи в этой таблице представляют наличие или отсутствие (1 или 0) соединения между соответствующими регистрами сверточного кодера, причем крайний левый элемент соответствует крайнему левому разряду регистра кодера. Интересно, что эти соединения можно обратить (заменить в указанной выше схеме крайние левые на крайние правые). При декодировании по алгоритму Витерби обратные соединения приведут к кодам с точно такими же пространственными характеристиками, а значит, и с такими же рабочими характеристиками, как показаны в табл. 5.2 – 5.7.
184
Таблица 5.2 Максимальное свободное расстояние кодов со скоростью кодирования 1/2
Длина кодового |
Порождающие полиномы |
|
dсв |
|
|||
ограничения K |
(в восьмеричной записи) |
|
|
|
|||
3 |
5 |
|
7 |
|
5 |
|
|
4 |
15 |
|
17 |
|
6 |
|
|
5 |
23 |
|
35 |
|
7 |
|
|
6 |
53 |
|
75 |
|
8 |
|
|
Таблица 5.3 Максимальное свободное расстояние кодов со скоростью |
|||||||
кодирования 1/3 |
|
|
|
|
|
|
|
Длина кодового |
Порождающие полиномы |
|
dсв |
|
|||
ограничения K |
(в восьмеричной записи) |
|
|
|
|||
3 |
5 |
7 |
|
7 |
8 |
|
|
4 |
13 |
15 |
|
17 |
10 |
|
|
5 |
25 |
33 |
|
37 |
12 |
|
|
6 |
47 |
53 |
|
75 |
13 |
|
|
7 |
133 |
145 |
|
175 |
15 |
|
|
8 |
225 |
331 |
|
367 |
16 |
|
|
9 |
557 |
663 |
|
711 |
18 |
|
|
Таблица 5.4 Максимальное свободное расстояние кодов со скоростью |
|||||||
кодирования 2/3 |
|
|
|
|
|
|
|
Длина кодового |
Порождающие полиномы |
|
dсв |
|
|||
ограничения K |
(в восьмеричной записи) |
|
|
|
|||
2 |
17 |
06 |
|
15 |
3 |
|
|
3 |
27 |
75 |
|
72 |
5 |
|
|
4 |
236 |
155 |
|
337 |
7 |
|
|
Таблица 5.5 Максимальное свободное расстояние кодов со скоростью кодирования k/5
Скорость |
Длина |
|
Порождающие полиномы |
|
dсв |
||
|
кодового |
|
(в восьмеричной записи) |
|
|
||
|
ограничения |
|
|
|
|
|
|
|
K |
|
|
|
|
|
|
|
2 |
17 |
07 |
11 |
12 |
04 |
6 |
2/5 |
3 |
27 |
71 |
52 |
65 |
57 |
10 |
|
4 |
247 |
366 |
171 |
266 |
373 |
12 |
3/5 |
2 |
35 |
23 |
75 |
61 |
47 |
5 |
4/5 |
2 |
234 |
274 |
156 |
255 |
337 |
3 |
185