Сверточное кодирование

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



? ли связь между регистром сдвига и сумматором по модулю 2. Для кодера на рис 2.6 можно записать полиномиальный генератор для верхних связей и - для нижних.

Здесь слагаемое самого нижнего порядка в полиноме соответствует входному разряду регистра. Выходная последовательность находится следующим образом:

чередуется с

Прежде всего, выразим вектор сообщения m = 1 0 1 в виде полинома, т.е. . Для очистки регистра мы снова будем предполагать использование нулей, следующих за битами сообщения. Тогда выходящий полином U(X), или выходящая последовательность U кодера (рис. 2.6) для входного сообщения m может быть найдена следующим образом:

Рис.

В этом примере мы начали обсуждение с того, что сверточный кодер можно трактовать как набор регистров сдвига циклического кода. Мы представили кодер в виде полиномиальных генераторов, с помощью которых описываются циклические коды. Однако мы пришли к той же последовательности на выходе, что и на рис. 2.7, и к той же, что и в предыдущем разделе, полученной при описании реакции на импульсное возмущение.

2.5.5 Представление состояния и диаграмма состояний

Сверточный кодер принадлежит классу устройств, известных как конечный авто мат. Для сверточного кода со степенью кодирования 1/n состояние представлено содержимым K - 1 крайних правых разрядов (рис. 2.7). Знание состояния плюс знание следующих данных на входе является необходимым и достаточным условием для определения данных на выходе. Итак, пусть состояние кодера в момент времени , определяется как . i-я ветвь кодовых слов U, полностью определяется состоянием X, и введенными в настоящее время битами ; таким образом, состояние X, описывает предысторию кодера для определения данных на его выходе. Состояния кодера считаются Марковскими в том смысле, что вероятность нахождения в состоянии , определяемая всеми предыдущими состояниями, зависит только от самого последнего состояния , т.е. она равна .

Одним из способов представления простых кодирующих устройств является диаграмма состояния (state diagram); такое представление кодера, изображенного на рис. 2.6, показано на рис. 2.8. Состояния, показанные в рамках диаграммы, представляют собой возможное содержимое К - 1 крайних правых разрядов регистра, а пути между состояниями - кодовые слова ветвей на выходе, являющиеся результатом переходов между такими состояниями. Состояния регистра выбраны следующими: а = 00, b = 10, с = 01 и d = 11; диаграмма, показанная на рис. 2.8, иллюстрирует все возможные смены состояний для кодера, показанного на рис. 2.6. Существует всего два исходящих из каждого состояния перехода, соответствующие двум возможным входным битам. Далее для каждого пути между со стояниями записано кодовое слово на выходе, связанное с переходами между со стояниями. При изображении путей, сплошной линией принято обозначать путь, связанный с нулевым входным битом, а пунктирной линией - путь, связанный с единичным входным битом. Отметим, что за один переход невозможно перейти из данного состояния в любое произвольное. Так как за единицу времени перемещается только один бит, существует только два возможных перехода между состояниями, в которые регистр может переходить за время прохождения каждого бита.

Рисунок 2.8 - Диаграмма состояний кодера (степень кодирования 1/2, К= 3)

2.5.6 Древовидные диаграммы

Несмотря на то, что диаграммы состояний полностью описывают кодер, по сути, их нельзя использовать для легкого отслеживания переходов кодера в зависимости от времени, поскольку диаграмма не представляет динамики изменений. Древовидная диаграмма (tree diagram) прибавляет к диаграмме состояния временное измерение.

Древовидная диаграмма сверточного кодера, показанного на рис. 2.6, изображена на рис. 2.9. В каждый последующий момент прохождения входного бита процедура кодирования может быть описана с помощью перемещения по диаграмме слева направо, причем каждая ветвь дерева описывает кодовое слово на выходе. Правило ветвления для нахождения последовательности кодовых слов следующее: если входным битом является нуль, то он связывается со словом, которое находится путем перемещения в следующую (по направлению вверх) правую ветвь; если входной бит - это единица, то кодовое слово находится путем перемещения в следующую (по направлению вниз) правую ветвь.

Предполагается, что первоначально кодер содержал одни нули. Диаграмма показывает, что если первым входным битом был нуль, то кодовым словом ветви на выходе будет 00, а если первым входным битом была единица, то кодовым словом на выходе будет 11. Аналогично, если первым входным битом была единица, а вторым - нуль, на выходе вторым словом ветви будет 10. Если первым входным битом была единица и вторым входным битом была единица, вторым кодовым словом на выходе будет 01. Следуя этой процедуре, видим, что входная последовательность 110 11 представляется жирной линией, нарисованной на древовидной диаграмме (рис. 2.9). Этот путь соответствует выходной последовательности кодовых слов 1 1 0 1 0 1 0 0 0 1.

Добавленное измерение времени в древовидной диаграмме (по сравнению с диаграммой состояния) допускает динамическое описание кодера как функции конкретной входной последовательности. Однако при попытке описания с помощью древовидной диаграммы последовательности произвольной длины возникает проблема: число ответвлений растет как 2L, где L - это количество кодовых слов ветвей в послед