Главная > Помехоустойчивое кодирование > Кодирование с исправлением ошибок в системах цифровой связи
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

6.3. Сверточные коды со скоростью m/n

Обобщения на случаи скоростей, отличных от 1/2, проводятся непосредственно. Случай наиболее прост, поскольку структура кодера остается неизменной, но два сумматора по модулю 2 заменяются на сумматоров по модулю 2, образующих символов канала для каждого информационного символа, поступающего в кодер. Единственное изменение решетчатой структуры состоит в том, что каждому ребру соответствует символов канала, а не два символа, как ранее. Соответствующие абсолютно ясные изменения алгоритма Витерби состоят в том, что метрики на ребрах вычисляются теперь из расчета символов на ребре. Остальные операции при декодировании не меняются.

При скоростях где ситуация становится более запутанной. Типичным является пример, показанный на рис. 6.6 для кода с В соответствии с каждым ребром в кодер вводятся два символа [один для , другой для ] и сумматоры по модулю 2 вычисляют три символа для канала [по одному для ]. Код описывается шестью порождающими многочленами, задающими шесть наборов связей между двумя регистрами и тремя сумматорами. Связь между входными

Рис. 6.6. Кодер для кода с

Рис. 6.7. Решетчатая структура для кода с

символами и выходными последовательностями может быть представлена в следующей матричной форме:

В данном случае порождающая матрица многочленов имеет вид

Решетчатая структура этого кода показана на рис. 6.7. Заметим, что число состояний по-прежнему равно 4, как и в случае кода с однако теперь в каждую вершину входит не два пути, а четыре. Алгоритм Витерби осуществляется, как и ранее, с тем единственным отличием, что теперь в каждой вершине нужно выбрать один лучший путь из четырех, т. е. произвести четверичное сравнение вместо двоичного. В общем случае при нужно произвести -ичное сравнение. Оказывается, что это приводит к существенным сложностям при практической реализации, особенно в случае больших скоростей данных (несколько мегабит в секунду). К счастью, можно выбрать некоторые коды, при которых эта трудность устраняется.

Ключ к упрощению алгоритма состоит в выборе кода с и выкалывании или удалении некоторых символов канала [55] для получения кода с Рассмотрим, например, код с и предположим, что каждый четвертый символ на выходе декодера удаляется. Полученный код будет иметь три символа канала для каждых двух информационных символов, т. е. его скорость будет равна действительности, удаляя каждый второй символ, соответствующий генератору получаем код, идентичный коду с из предыдущего примера. На решетчатой диаграмме этого кода (рис 6.8) X обозначает удаленный символ. Заметим, что переходы между состояниями и

Рис. 6.8. Решетчатая диаграмма для кода с полученная удалением символов из кода с

соответствующие переданные символы на рис. 6.7 и 6.8 совпадают, однако согласно рис. 6.8 такой переход совершается через множество промежуточных состояний, поскольку символы поступают в декодер по одному, а не по два. Ясно, что получен тот же код другим способом. Было показано, что выколотые коды имеют почти те же характеристики, что и наилучшие известные ранее коды, поэтому из-за своей простоты в большинстве случаев они более предпочтительны [55]. Так, в рассмотренном примере при прямом методе требуются четыре четверичных сравнения (каждое из которых эквивалентно трем двоичным сравнениям) для каждых трех символов канала, в то время как при выколотом коде — два уровня по четыре двоичных сравнения на каждом. Таким образом, двоичный код приводит к выигрышу, определяемому отношением 3: 2.

Заметим, что коды с характеризуются одним и тем же числом состояний. Часто длина кодового ограничения определяется по-другому: как логарифм по основанию 2 от числа состояний, т. е. число состояний равно Для кодов с значение всегда на 1 меньше числа ячеек памяти. Для кодов с значение может быть даже меньше; это зависит от схемы реализации кода. В обоих рассмотренных примерах Позднее параметр будем использовать, чтобы облегчить сравнение кодов с разными скоростями.

<< Предыдущий параграф Следующий параграф >>
Оглавление