Таблица 5.6 Максимальное свободное расстояние кодов со скоростью кодирования k/7
Скорость |
Длина |
|
Порождающие полиномы |
|
dсв |
||||
|
кодового |
|
(в восьмеричной записи) |
|
|
||||
|
ограничения |
|
|
|
|
|
|
|
|
|
K |
|
|
|
|
|
|
|
|
|
2 |
05 |
06 |
12 |
15 |
15 |
13 |
17 |
9 |
2/7 |
3 |
33 |
55 |
72 |
47 |
25 |
53 |
75 |
14 |
|
4 |
312 |
125 |
247 |
366 |
171 |
266 |
373 |
18 |
3/7 |
2 |
45 |
21 |
36 |
62 |
57 |
43 |
71 |
8 |
4/7 |
2 |
130 |
067 |
237 |
274 |
156 |
255 |
337 |
6 |
Таблица 5.7 Максимальное свободное расстояние кодов со скоростью кодирования 3/4 и 3/8
Скорость |
Длина |
|
Порождающие полиномы |
|
dсв |
|||
|
кодового |
|
|
(в восьмеричной записи) |
|
|
||
|
ограничения |
|
|
|
|
|
|
|
|
K |
|
|
|
|
|
|
|
3/4 |
2 |
13 |
|
25 |
61 |
|
47 |
4 |
3/8 |
2 |
15 |
|
42 |
23 |
|
61 |
8 |
|
|
51 |
|
36 |
75 |
|
47 |
|
5.12 Мягкое декодирование по алгоритму Витерби
Для двоичной кодовой системы со степенью кодирования 1/2, демодулятор подает на декодер два кодовых символа за раз. Для жесткого (двухуровневого) декодирования каждую пару принятых кодовых символов можно изобразить на плоскости в виде одного из углов квадрата, как показано на рис. 5.18, а. Углы помечены двоичными числами (0, 0), (0, 1), (1, 0) и (1, 1), представляющими четыре возможных значения, которые могут принимать два кодовых символа в жесткой схеме принятия решений. Аналогично для 8- уровневого мягкого декодирования каждую пару кодовых символов можно отобразить на плоскости в виде квадрата размером 8 8, состоящего из 64 точек, как показано на рис. 5.18, б. В этом случае демодулятор больше не выдает жестких решений; он выдает квантованные сигналы с шумом (мягкая схема принятия решений).
Основное различие между мягким и жестким декодированием по алгоритму Витерби состоит в том, что в мягкой схеме не используется метрика расстояния Хэмминга, поскольку она имеет ограниченное разрешение. Метрика расстояний, которая имеет нужное разрешение, называется эвклидовым кодовым расстоянием, поэтому далее, чтобы облегчить ее применение, соответствующим образом преобразуем двоичные числа из единиц и нулей в восьмеричные числа от 0 до 7. Это можно увидеть на рис. 5.18, в, где соответствующим образом обозначены углы квадрата; теперь для описания любой из 64 точек мы будем
186
собой евклидово кодовое расстояние между поступившим кодовым символом 5,4 и кодовым символом 7,7; это расстояние показано пунктирной линией. Оставшаяся часть задачи декодирования, которая сводится к отсечению решетки и поиску полной ветви, осуществляется аналогично схеме жесткого декодирования. Заметим, что в реальных микросхемах, предназначенных для сверточного декодирования, евклидово кодовое расстояние в действительности не применяется, вместо него используется монотонная метрика, которая обладает сходными свойствами, но значительно проще в реализации. Примером такой метрики является квадрат евклидова кодового расстояния, в этом случае исключается рассмотренная выше операция взятия квадратного корня. Более того, если двоичные кодовые символы представлены биполярными величинами, тогда можно использовать метрику скалярного произведения, определяемую уравнением (5.10). При такой метрике вместо минимального расстояния мы должны будем рассматривать максимальные корреляции.
Выводы.
В течение последних десяти лет наиболее популярной схемой кодирования являлась сверточная, поскольку почти во всех приложениях сверточные коды лучше блочных при той же конструктивной сложности кодера и декодера. Для каналов спутниковой связи схемы прямого исправления ошибок позволяют легко понизить на 5-6 дБ требуемое значение SNR для заданной достоверности передачи. Из этой эффективности кодирования непосредственно вытекает снижение эффективной изотропной излучаемой мощности спутника (effective isotropic radiated power — EIRP), что, соответственно, приводит к снижению веса
истоимости спутника.
Вэтой главе мы описали значительную структурную разницу между блочными и сверточными кодами – сверточные коды со степенью кодирования 1/п сохраняют в памяти предыдущие К - 1 бит, где К означает длину кодового ограничения. С такой памятью кодирование каждого входного бита данных зависит не только от значения этого бита, но и от предшествующих ему К- 1 бит. Задача описывалась в контексте алгоритма максимального правдоподобия. При его использовании изучаются все возможные последовательности кодовых слов, которые могли быть созданы кодером, и выбирается та, которая выглядит статистически наиболее вероятной. Решение опирается на метрику расстояния принятых кодовых символов. Анализ безошибочной работы сверточных кодов является более сложным, чем простое биномиальное разложение, описывающее работу без ошибок многих блочных кодов.
Втаблице 5.8 приведены значения ЭВК для сверточного кода с Rc = ½ , 32-битовой памятью путей при использовании в гауссовом канале модуляции BPSK, вероятности ошибки 10-4 при отношении Eb/N0.= 8,2 дБ без использования кодирования.
188
Таблица 5.8 Значения ЭВК сверточного кода
Глубина |
3 |
4 |
5 |
6 |
7 |
8 |
кодирова |
|
|
|
|
|
|
ния, K |
|
|
|
|
|
|
ЭВК |
1.1 |
1.4 |
1.9 |
2.2 |
2.6 |
3.0 |
189
6 КАСКАДНЫЕ КОДЫ
Каскадный код состоит из двух отдельных кодов, которые объединяются для образования большего кода. Обычно один из кодов выбирается недвоичным, а второй двоичным. Они соединяются каскадно, как показано на рис. 6.1.
Недвоичный (N, К) код образует внешний код, а двоичный - внутренний код. Кодовые слова формируются путѐм подразделения блока на Kk информационных бита по К группам, называемым символами, причѐм каждый такой символ состоит из k бит. К символов (с k битами каждый) кодируются в N символов внешним кодом, как это обычно делается при недвоичном кодировании. Внутренний кодер берет каждый k –битовый символ и кодирует его в двоичный блоковый код длины п. Таким образом, мы получаем каскадный блоковый код, имеющий длину Nn бита и содержащий Kk информационных бита. Это значит, мы создали эквивалентный (Nn.Kk) длинный двоичный код. Биты в каждом кодовом слове передаются по каналу посредствам ФМ или, возможно, ЧМ.
Входные
данные
Внешнее |
|
|
|
Внешнее |
|
|
|
Внутреннее |
|
|
|
Внутреннее |
|
|
кодирование |
|
|
|
перемежение |
|
|
|
кодирование |
|
|
|
перемежение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Выход |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
кодера |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вход |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
декодера |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Внешнее |
|
|
|
Внешнее |
|
|
|
Внутреннее |
|
|
|
Внутреннее |
|
|
декодирование |
|
|
|
деперемежение |
|
|
|
декодирование |
|
|
|
деперемежение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Декодированные
даные
Рис. 6.1 Структурная схема каскадной системы кодирования
Также укажем, что минимальное расстояние для каскадного кода равно
dmimDmim, где Dmim – это минимальное расстояние для внешнего кода, a dmim – минимальное расстояние для внутреннего кода. Далее, скорость каскадного
кода равна Kk/Nn, что равно произведению скоростей двух кодов.
Декодер жѐстких решений для каскадного кода удобно разделить на внутренний декодер и внешний декодер. Внутренний декодер выполняет жѐсткое решение по каждой группе из п бит, соответствующие кодовому слову
190