General TCM Encoder

Сверточное кодирование двоичных данных и карту с помощью произвольных созвездий

Библиотека

TCM, в цифровой поддиапазоне базовых частот модуляции

  • General TCM Encoder block

Описание

Блок General TCM Encoder реализует trellis-кодированную модуляцию (TCM) путем сверточного кодирования двоичного входного сигнала и преобразования результата в произвольное сигнальное созвездие. Параметр Signal constellation приводит точки сигнального созвездия в разбиенном на группы порядке. Этот параметр является комплексным вектором с длиной, M, равной количеству возможных выходных символов от сверточного энкодера. (То есть log2 M равно n для сверточного кода скорости k/ n.)

Входные сигналы и Выход сигналы

Если сверточный энкодер представляет код скорости k/ n, то вход блока General TCM Encoder должен быть двоичным вектором-столбцом с длиной L * k для некоторых положительных целочисленных L.

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

Определение энкодера

Чтобы задать сверточный энкодер, используйте параметр Trellis structure. Этот параметр является MATLAB® структура, формат которой описан в Trellis Description of a Convolutional Code. Вы можете использовать это поле параметра двумя способами:

  • Если вы хотите задать энкодер, используя его ограниченную длину, полиномы генератора и, возможно, полиномы связи с обратной связью, используйте a poly2trellis команда в поле Trellis structure. Для примера, чтобы использовать энкодер с ограничительной длиной 7, полиномами генератора кода 171 и 133 (в октальных числах) и соединением обратной связи 171 (в восьмиугольнике), установите параметр Trellis structure на

    poly2trellis(7,[171 133],171)

  • Если в рабочем пространстве MATLAB есть переменная, содержащая структуру шпалеры, введите ее имя как Trellis structure параметр. Этот способ быстрее, потому что он вызывает Simulink® программное обеспечение, чтобы тратить меньше времени на обновление схемы в начале каждой симуляции по сравнению с использованием в предыдущем маркированном элементе.

Регистры энкодера начинаются в состоянии «все нули». Можно сконфигурировать энкодер так, чтобы он сбросил свои регистры в состояние всех нулей в течение симуляции. Для этого установите Operation mode к Reset on nonzero input via port. Затем блок открывает второй входной порт, помеченный Rst. Сигнал на Rst port является скалярным сигналом. Когда это ненулевое, энкодер сбрасывается перед обработкой данных в первом входном порте.

Сигнальные созвездия

Метод модуляции, закодированный в решетке, разделяет созвездие на подмножества, называемые смежными узлами, так, чтобы максимизировать минимальное расстояние между парами точек в каждом смежном узле.

Примечание

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

В качестве примера, схема ниже показывает один способ разработки разграниченного по набору порядка для точек для 8-PSK сигнального созвездия. Рисунок в верхней части дерева является всем 8-PSK сигнальным созвездием, в то время как восемь рисунков в нижней части дерева содержат по одной точке созвездия. Каждый уровень дерева соответствует другому биту в двоичной последовательности (b3, b2, b1), в то время как каждая ветвь в заданном уровне дерева соответствует конкретному значению для этого бита. Перечисление точек созвездия с помощью последовательности в нижней части дерева приводит к вектору

exp(2*pi*j*[0 4 2 6 1 5 3 7]/8)

которое является допустимым значением для параметра Signal constellation в этом блоке.

Для других примеров сигнальных созвездий в разграниченном порядке смотрите [1] или страницы с описанием для блоков M-PSK TCM Encoder и Rectangular QAM TCM Encoder.

Коэффициенты усиления кодирования

Коэффициент усиления кодирования от 3 до 6 децибел относительно незакодированного случая может быть достигнут в присутствии AWGN с многофазными шпалерными кодами [3].

Параметры

Trellis structure

Структура MATLAB, которая содержит описание решетки сверточного энкодера.

Operation mode

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

В Truncated (reset every frame) mode, блок обрабатывает каждую систему координат независимо. То есть состояния энкодера сбрасываются в состояние «все нули» в начале каждой системы координат.

В Terminate trellis by appending bits mode, блок обрабатывает каждую систему координат независимо. Для каждого входного кадра дополнительные биты используются, чтобы установить состояния энкодера в состояние «все нули» в конце системы координат. Длина выхода задается как y=n(x+s)/k, где x количество входа бит, и s=constraint length1 (или, в случае нескольких длин ограничений, s = sum(ConstraintLength(i)-1)). Блок поддерживает этот режим для вектора-столбца входных сигналов.

В Reset on nonzero input via port mode, блок имеет дополнительный входной порт, маркированный Rst. Когда Rst вход ненулевый, энкодер сбрасывается в состояние «все нули».

Signal constellation

Комплексный вектор, который перечисляет точки в сигнальном созвездии в разбиенном на группы порядке.

Output data type

Выходной тип блока может быть задан как single или double. По умолчанию блок устанавливает это на double.

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

Вход

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

  • Булев

  • 8-, 16- и 32-битные целые числа со знаком

  • 8-, 16- и 32-битные беззнаковые целые числа

  • ufix (1)

Выход

  • Плавающая точка двойной точности

  • Плавающая точка с одной точностью

Парный блок

General TCM Decoder

Ссылки

[1] Biglieri, E., D. Divsalar, P. J. McLane, and M. K. Simon, Introduction to Trellis-Coded Modulation with Applications, New York, Macmillan, 1991.

[2] Proakis, John G., Digital Communications, Fourth edition, New York, McGraw-Hill, 2001.

[3] Ungerboeck, G., «Channel Coding with Multilevel/Phase Signals», IEEE Trans. on Information Theory, Vol IT28, Jane. 1982, pp. 55-67.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.
Представлено до R2006a