8.2. СВЁРТОЧНЫЕ КОДЫСвёрточный код создаётся прохождением передаваемой информационной последовательности через линейный сдвиговый регистр с конечным числом состояний. В общем, регистр сдвига состоит из Входные данные к кодеру, которые считаются двоичными, продвигаются вдоль регистра сдвига по Рис. 8.2.1. Свёрточный кодер Один метод для описания свёрточного кода сводится к заданию его порождающей матрицы, так же, как мы это делали для блоковых кодов. В общем, порождающая матрица для свёрточного кода полубесконечная, поскольку входная последовательность полубесконечная. Можно использовать эквивалентное представление кода, в котором мы определяем набор из Для конкретности рассмотрим двоичный свёрточный кодер с кодовым ограничением Рис. 8.2.2. Сверточный кодер с Считается, что первоначально все ячейки регистра сдвига находятся в нулевом состоянии. Допустим, что первый входной бит «1». Он без задержки появляется на выходе первой (левой) ячейки регистра и, соответственно, на всех трёх входах выходного ключа (мультиплексора). Ключ поочерёдно выдаёт содержимое входов, и выходная последовательность из 3 бит 111. Допустим, что второй входной бит «0». Он записывается в первую ячейку регистра, проталкивает предыдущий бит («1») во вторую ячейку - и на входах мультиплексора (сверху вниз) появляются 0, 0 и 1. Тогда вторая выходная последовательность 001. Если третий входной бит 1, выходная последовательность 100 – и так далее. Таким образом, в ответ на каждый входной бит
Второй функциональный генератор соединен с ячейками 1 и 3. Следовательно,
Наконец,
Генераторы (порождающие полиномы) для этого кода обычно дают в восьмеричной форме как В общем случае при Пример 8.2.1. Рассмотрим свёрточный кодер со скоростью кода 2/3, показанный на рис. 8.2.3. В этом кодере каждый раз два бита поступают на вход регистров сдвига, а на выходе генерируется три бита. Рис. 8.2.3. Свёрточный кодер с Генераторы определяются векторами
В восьмеричной форме Имеются три альтернативных метода, которые часто используются для описания свёрточного кода. Это древовидная диаграмма, решетчатая диаграмма и диаграммд состояний. Для примера, древовидная диаграмма для свёрточного кодера, показанного на рис. 8.2.2, иллюстрируется на рис. 8.2.4. Предположим, что кодер находится первоначально в нулевом состоянии (во всех ячейках нули). Диаграмма показывает, что, если первый вход 0 - выходная последовательность 000, а если первый вход 1 - выходная последовательность 111. Теперь, если первый вход 1, а второй 0 - второй набор выходных битов 001. Продвигаясь по дереву видим, что если третий входной бит 0, тогда выходной 011, если же третий выходной бит 1, то выход 100. Видим, что частная последовательность обуславливает выбор узла дерева, а правило движения по ветвям дерева такое – надо двигаться к верхней ветви, если следующий бит 0 и к нижней, если следующий бит 1. Таким образом, траектория частного пути по дереву определяется входной последовательностью. Рис. 8.2.4. Древовидная диаграмма для сверточного кода, имеющего скорость Внимательное наблюдение за деревом, показанном на рис. 8.2.4, обнаруживает, что структура повторяет себя после третьего такта. Правый столбец выходных «троек» бит распадается на две одинаковые совокупности по 8 «троек». Это поведение согласуется с тем фактом, что кодовое ограничение Чтобы изучить эту диаграмму, договоримся о том, что сплошные линии означают выходы, генеририруемые входом 0, а пунктирные – выходы, генеририруемые входом 1. В примере, который мы рассматриваем, видим, что после начального состояния решётка содержит четыре узла на каждом шаге, соответствующие четырем состояниям регистра сдвига Рис. 8.2.5. Решётчатая диаграмма для свёрточного кода, имеющего скорость Поскольку выход кодера определяется входом и состоянием кодера, ещё более компактной, чем решётка, является диаграмма состояний. Диаграмма состояний — это просто граф возможных состояний кодера и возможных переходов из одного состояния в другое. Для примера на рис. 8.2.6 показана диаграмма состояний для кодера, показанного на рис. 8.2.2. Рис. 8.2.6. Диаграмма состояний для свёрточного кода, имеющего скорость Эта диаграмма показывает, что возможные переходы таковы
где указывает, что входной бит 0. Пример 8.2.2. Рассмотрим свёрточный код со скоростью Рис. 8.2.7. Древовидная диаграмма для свёрточного кода, имеющего параметры Поскольку кодовое ограничение кодера Для обобщения отметим, что свёрточный код со скоростью Рис. 8.2.8. Решётчатая диаграмма для сверточного кода, имеющего параметры Три типа диаграмм, описанных выше, используются также для представления недвоичных свёрточных кодов. Если число символов в алфавите равно Рис. 8.2.9. Диаграмма состояний для свёрточного кода, имеющего параметры Пример 8.2.3. Рассмотрим свёрточный код, генерируемый кодером, показанный на рис. 8.2.10. Этот код можно описать как двоичный свёрточный код с параметрами
Рис. 8.2.10. Свёрточный кодер с За исключением различия в скорости, этот код похож по форме на свёрточный код со скоростью Альтернативно, код, генерируемый кодером рис. 8.2.10, можно описать как не двоичный В любом случае, древовидные, решётчатые диаграммы и диаграммы состояний независимы от того, как мы смотрим на код. Это значит, что этот частный код, характеризуется деревом с четырьмя ветвями, исходящими от каждого узла, или решёткой с четырьмя возможными состояниями и четырьмя ветвями, входящими и покидающими каждое состояние, или, что эквивалентно, посредством диаграммы состояний, имеющей те же параметры, что и решётка.
|