Общие понятия о сверточном кодировании
Стр 1 из 2Следующая ⇒ СВЁРТОЧНЫЕ КОДЫ и описание работы сверточного кодера. В течение последнего десятилетия наиболее популярным видом кодирования было свёрточное кодирование, поскольку во многих приложениях свёрточные коды лучше блочных при той же конструктивной сложности кодера и декодера. В разработку сверточных кодов большой вклад внесли американские ученые. Сверточные коды были впервые введены Т.П.Элайсом в 1955году. В отличие от рассмотренных ранее блочных кодов, сверточные коды являются непрерывными. Их кодирование и декодирование осуществляются непрерывно, то есть без деления информационных символов на блоки. Название метода кодирования означает, что последовательность символов на выходе кодера можно рассматривать как свертку импульсной характеристики кодера с входной последовательностью информационных символов. В 1957 году Дж.Возенкрафтом был разработан метод последовательного декодирования для этих кодов, который впоследствии был усовершенствован А.М.Фано Основным рабочим инструментом при разработке кодирующих и декодирующих устройств в то время для сверточных кодов было так называемое кодовое дерево. В 1967 году Д.Форни вместо кодового дерева ввел эквивалентную, но более экономичную (с точки зрения объема вычислений) структуру, получившую название - решетчатая структура. И в том же 1967 году известный американский ученый А.Д. Витерби предложил новый метод декодирования сверточных кодов в виде простой итеративной процедуры, названный его именем – алгоритм декодирования Витерби. В этом методе декодирования вместо кодового дерева используется решетчатая структура. Было установлено, что алгоритм Витерби является методом динамического программирования (которое уже было известно в то время), примененным к сверточным кодам. Сверточное кодирование, применяемое вместе с декодированием Витерби, в настоящее время стало одним из наиболее широко используемых на практике методов исправления ошибок.
При каждом поступлении информационного символа в первую ячейку регистра символы в регистре смещаются на одну позицию вправо. Коммутатор вначале находится в верхнем положении и считывает на выход кодовый символ из верхнего сумматора, а затем переключается в нижнее положение и считывает на выход кодовый символ из нижнего сумматора. После этого на вход регистра поступает следующий информационный символ, происходит новое смещение символов в регистре сдвига и снова коммутатор считывает кодовые символы сначала с верхнего сумматора, а затем с нижнего и так далее. Естественно, что скорость переключения коммутатора должна быть вдвое больше скорости поступления Блочные коды
Отношение
Сверточный код описывается тремя целыми числами: - если на вход кодера поступит -если На рис. 2 изображен кодер, для которого параметры
Рис. 2. Сверточный кодер.
На рис. 3 изображен кодер, для которого параметры
Рис. 3. Сверточный кодер.
Третий параметр – целое число Для кодера на рис. 1 величина Существует несколько способов описания связей между разрядами в регистре сдвига и сумматорами по модулю 2: 1. Один из этих способов заключается в определении
Единица (1) на
Для кодера на рис. 2 получим векторы связи:
2. Второй способ позволяет представить связи между разрядами регистра и сумматорами в виде набора из Полиномиальные генераторы (или просто полиномы)
Сравнивая (1) с (3), заключаем, что составляющие векторов связи в (1) соответствуют коэффициентам полиномов в (3). С помощью полиномиальных генераторов легко определить кодовые символы на выходе кодера, когда на его вход поступает заданная последовательность информационных символов. Пусть, например, на вход кодера поступает последовательность информационных символов: Этой последовательности соответствует полином
Полином
(значения сумм в круглых скобках определяем по модулю 2).
Полином (здесь сложение не по модулю 2)
Последовательность
Избыточность, которая вводится при сверточном кодировании, позволяет, как и в случае блочных кодов, исправлять определенное количество ошибок, которые появляются на выходе демодулятора из-за действия сигнала помехи. Подробно вопрос декодирования свёрточного кода будет рассмотрен ниже. Отметим, что в определенных случаях при сверточном декодировании возможно возникновение такого явления, как «катастрофическая ошибка». Эта ошибка возникает, когда конечное число ошибок на выходе демодулятора вызывает бесконечное число ошибок на выходе декодера.
Исследования показали, что необходимым и достаточным условием для возможного распространения катастрофических ошибок является наличие у полиномиальных генераторов Например, сверточному кодеру, изображенному на рис. 4 соответствуют следующие полиномиальные генераторы:
Рис. 4 Сверточный кодер
Эти генераторы
следовательно, в кодере на рис. 4 может происходить распространение катастрофической ошибки при декодировании. Кодеру рис. 1, как уже отмечалось, соответствуют полиномиальные генераторы
которые не имеют общего полиномиального множителя степени не менее единицы, поэтому в этом кодере невозможно распространение катастрофической ошибки при декодировании. Рассмотрим работу кодера рис. 1 на двух примерах, при поступлении на его вход двух последовательностей информационных символов. 1. В этом примере на вход кодера подана последовательность информационных символов: 10000. Реакция кодера на этот входной сигнал является важной характеристикой, которая называется импульсной характеристикой кодера (по аналогии с названием «импульсная характеристика Предположим, что к моменту поступления этой входной последовательности все ячейки регистра сдвига кодера находились в состоянии 0. Тогда, после поступления 1 в первую ячейку регистра на выход кодера через коммутатор будет считана кодовая последовательность 11. Затем, в первую ячейку регистра записывается второй информационный символ входной последовательности, т.е.0, а ее первый символ 1 перейдет во вторую ячейку регистра, в результате чего через коммутатор на выход поступит вторая кодовая последовательность 10. После поступления на вход кодера третьего информационного символа 0 в ячейках регистра будет записана последовательность 001 и на выходе
Таблица 1
коммутатора появится третья кодовая последовательность 11. После поступления на вход кодера четвертого информационного символа 0 в ячейках регистра будет записана последовательность 000 и на выход через коммутатор поступит четвертая кодовая последовательность 00. Рассмотренный пример характеризует таблица 1 и рис. 5.
Рис.5 а) Сигнал на входе кодера, изображенного на рис. 1; б) Напряжение на выходе первой ячейки регистра; в) Сигнал на выходе: импульсная характеристика свёрточного кодера. На рис. 5 введены следующие обозначения:
На рис.5б стрелками показаны моменты переключения коммутатора. Для кодера рис. 1 каждому входному информационному символу соответствуют два кодовых символа на выходе. Поэтому длительность тактового интервала На рис. 5а входной сигнал, соответствующий символу 1, имеет длительность Форму сигнала, соответствующего символу 1, можно изменять, т.е. длительность прямоугольного импульса с амплитудой 1 может быть меньше длительности интервала 2. Рассмотрим работу кодера при поступлении на его вход произвольной последовательности информационных символов, например: 1110000….. На этом примере поясним, почему рассматриваемый метод кодирования называется сверточным. Построив для заданной входной последовательности таблицу, аналогичную таблице 1, найдем, что соответствующая кодовая последовательность на выходе кодера будет иметь вид 11 01 10 01 11 00 00 00 (4). Эту выходную последовательность (4) можно также определить и другим способом, а именно на основе следующей формулы
формула (5) является дискретным аналогом известной формулы
представляющей сигнал В отличие от (6) в (5) сигналы на выходе и входе кодера рассматриваются не при непрерывном изменении времени В (5) используются такие обозначения:
Рис. 6 а) импульсная характеристика свёрточного кодера; б) входной сигнал; в) сигнал г) сигнал
график функции график функции
На рис. 6, а изображена импульсная характеристика На рис. 6, б изображен входной сигнал На рис. 6, в изображен сигнал Аналогично, график сигнала
По формуле (7) найдем значения сигнала При вычислении значений вначале определяем обычную сумму для (5), а затем - значение этой суммы по модулю 2. Так,
где функция Из этих рисунков видно, что обе функции
для Теперь нужно определить значение этой суммы по модулю 2 1 (mod 2)=1. Итак, окончательное значение Значение
Кривая При значении Таблица 2.
В таблице 2 представлены кодовые символы, когда на вход кодера поступает информационная последовательность 111000. Сравнивая кодовую последовательность, представленную этой таблицей с последовательностью (4) видим, что они идентичны. Но кодовая последовательность в таблице 2 получена на основе формулы (5), которая является дискретной сверткой импульсной характеристики кодера с входной последовательностью информационных символов. Отсюда и появилось название «сверточный кодер» для кодера, изображенного на рис. 1; а по названию кодера стали называть и сам метод кодирования- «cверточное кодирование».
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|