Материал: Лекция 9

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

8.2. Двоичные сверточные коды

Сверточные коды получили свое название из-за того, что последовательность символов на выходе кодера можно рассматривать как свертку его импульсной характеристики со входной последовательностью этих символов.

Сверточное кодирование удобнее всего описывать, характеризуя действие соответствующего кодирующего устройства.

Основными элементами сверточного кодера являются: регистр сдвига, сумматоры по модулю 2 и коммутатор. Регистр сдвига является динамическим запоминающим устройством (рис 8.1), в котором хранятся двоичные символы 0 или 1.

Рис. 8.1. Регистр сдвига

Сумматор по модулю 2 осуществляет сложение поступающих на его входы символов 0 и 1.

Рис. 15.2. Варианты изображений схем суммирования по модулю 2

Изображение схем может быть таким, как показано на рис. 8.2.

К

а - кольцевая схема коммутатора, б – линейная, в – в виде регистра сдвига

Рис. 15.3. Варианты изображений коммутаторов

оммутатор осуществляет последовательное считывание поступающих на его входы (контакты) символов и устанавливает на выходе очередность посылки кодовых символов в канал связи. Встречаются 3 варианта изображений коммутаторов в схемах кодеров (рис. 16.3)

На рис. 16.3, а представлена кольцевая схема коммутатора, на рис. 16.3, б – линейная, на рис. 16.3, в – в виде регистра сдвига.

Сверточный кодер представляет собой устройство, воспринимающее за каждый такт работы в общем случае входных информационных символов, и выдающее на выход за тот же такт выходных символов, подлежащих передаче по каналу связи.

Отношение

(8.3)

называют относительной скоростью кода.

Выходные символы, создаваемые кодером на данном такте, зависят от информационных символов, поступивших на этом и предыдущем тактах. Таким образом, выходные символы сверточного кодера однозначно определяются его входным сигналом и состоянием, зависящим от предыдущих информационных символов. Обратим внимание на то, что в коде Финка выходные символы кодера зависят как от предыдущих, так и от последующих информационных символов, в соответствии с алгоритмом (8.1), поскольку шаг кода ± – двузначный.

Число триггерных ячеек в регистре сдвига и определяет память кода. В момент поступления на вход регистра нового информационного символа символ, хранящийся в крайнем правом разряде, выводится из регистра и сбрасывается. Каждый из остальных, хранящихся в регистре символов перемещается на один разряд вправо, освобождая тем самым крайний левый разряд, куда и поступает новый информационный символ.

Тактовая частота переключения и число контактов коммутатора в сверточных кодерах определяется относительной скоростью кода. В соответствии с этим число контактов (ячеек регистра сдвига коммутатора) должно быть равно , а частота переключения должна быть в раз больше входной тактовой частоты. Так, при скорости у коммутатора должно быть 2 контакта и переключение должно производиться с удвоенной тактовой частотой.

Рис. 8.4. Кодеры для кода Финка

Для примера на рис. 8.4 приведены кодеры кода Финка с различными шагами , работающие со скоростью .

По аналогии с блоковыми кодами, сверточные коды можно классифицировать на систематические и несистематические. Систематическим сверточным кодом является такой код, для которого в выходной последовательности кодовых символов содержится без изменения породившая ее последовательность информационных символов. В противном

случае сверточный код является несистематическим.

На рис. 8.5, а и б представлены, соответственно, примеры кодеров систематического и несистематического сверточного кода для . В каждом из этих кодеров входные двоичные информационные символы поступают в сдвигающий регистр, состоящий из трех ячеек, находившийся в исходном нулевом состоянии. После прихода на вход сдвигающего регистра очередного информационного символа коммутатор опрашивает два выхода в каждом из кодеров и формирует тем самым два выходных кодовых символа. В случае систематического сверточного кода (рис. 8.5, а) первым из выходных кодовых символов, получаемых за каждый цикл опроса коммутатора, всегда будет очередной информационный символ, поступивший в сдвигающий регистр. Из рис. 8.5, б можно видеть, что выходная последовательность кодовых символов не содержит входные информационные символы в неизменном виде, поэтому кодер будет порождать несистематический сверточный код.

Рис. 8.5. Примеры кодеров систематического (а) и несистематического (б) сверточного кода

В

Рис. 8.6. Общий вид двоичного сверточного кодера

общем случае сдвигающий регистр кодера сверточного кода (рис. 8.6) содержит ячеек, а коммутатор делает один цикл опроса при приходе очередных информационных символов, где кратно , опрашивая за один цикл выходов кодера. При этом, очевидно, влияние любого входного информационного символа будет распространяться на

(8.4)

выходных кодовых символов. Эта величина называется полной длиной кодового ограничения и играет роль, аналогичную блоковой длине кода при блочном кодировании. Длина кодового ограничения и конкретный выбор связей с ячейками сдвигающего регистра на сумматоры по модулю 2 будут определять корректирующие свойства получаемого сверточного кода.

Для того чтобы задать структуру сверточного кодера, необходимо указать, какие разряды регистра сдвига связаны с каждым из сумматоров по модулю 2, счет разрядов ведется слева направо. Связи j-го сумматора по модулю 2 описываются путем задания j-й порождающей последовательности

, (8.5)

где компонента

(8.6)

Наиболее часто на практике применяются сверточные коды со скоростью (рис. 8.5).

Сверточный код удобно задавать посредством порождающих (производящих) многочленов, определяемых видом последовательностей (8.5), подобно тому, как это делается для линейных блоковых циклических кодов. Порождающие многочлены полностью определяют структуру двоичного кодера сверточного кода. Выходные кодовые символы можно представить в виде свертки последовательности информационных символов и порождающих многочленов кода, задающих линейные рекуррентные правила кодирования.

8.3 Представление сверточных кодов с помощью многочленов

В отличие от боковых кодов, каждый из которых описывается единственным порождающим многочленом, сверточный код требует для своего описания несколько порождающих многочленов, число которых определяется количеством n выходных символов, передаваемых за каждый такт в канал связи. Представим последовательность информационных символов, поступающих на вход кодера, в виде многочлена (полинома)

(8.7)

где – символ оператора задержки на тактов работы сдвигающего регистра; – информационные двоичные символы.

Многочлены, описывающие n последовательностей кодовых символов, поступающих на вход коммутатора кодера и далее в канал связи,

(8.8)

= 0; 1 – двоичные кодовые символы на j-м входе коммутатора кодера.

В силу линейности сверточного кода

, (8.9)

где (8.10)

j-й порождающий многочлен сверточного кода; = 0; 1 – его двоичные коэффициенты (8.6), равные 1, если i-я ячейка (i = 0, ..., m–1) сдвигающего регистра через схему суммирования связана с j-м входом коммутатора кодера, и равные нулю в противном случае.

Например, для кодера систематического сверточного кода (рис. 8.7, а) порождающие многочлены будут

;

,

а для кодера несистематического сверточного кода (рис. 8.7, б)

;

.

Порождающие многочлены могут быть объединены в матрицу размера k × n, называемую порождающей матрицей из многочленов. Например, порождающие матрицы для кодеров (рис. 8.7), в соответствии записываются в виде

и

Строка в матрице соответствует одному из символов входной последовательности (в данном случае =1 – число информационных символов, поступающих за 1 такт на вход кодера), а число многочленов в строке равно числу схем суммирования по модулю 2. При > 1 некоторые порождающие многочлены могут равняться нулю.

Так, для схемы кодера (рис. 8.8) при скорости , выходной код описывается шестью порождающими полиномами, задаваемыми шестью наборами связей между двумя регистрами и тремя сумматорами.

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

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

.

Рассмотрим, в качестве примера, для схемы кодера (рис. 8.9), как кодируется последовательность информационных символов 101.

Этой последовательности соответствует многочлен

.

Номер такта

Номер выхода кодера

Содержимое выхода кодера

1

1

2

2

1

2

3

1

2

4

1

2

5

1

2

Источник: https://studfile.net/preview/16433163/