exponenta event banner

Общий кодер TCM

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

Библиотека

TCM, в цифровом поддиапазоне модулирования

  • General TCM Encoder block

Описание

Общий блок кодера TCM реализует решетчато-кодированную модуляцию (TCM) путем сверточного кодирования двоичного входного сигнала и преобразования результата в произвольную сигнальную совокупность. Параметр Signal constellation перечисляет точки объединения сигналов в установленном порядке. Этот параметр представляет собой комплексный вектор длиной M, равной числу возможных выходных символов сверточного кодера. (То есть log2M равно n для сверточного кода скорости k/n.)

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

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

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

Указание кодировщика

Для определения сверточного кодера используйте параметр структуры решетки. Этот параметр представляет собой структуру MATLAB ®, формат которой описан в описании сверточного кода Trellis. Это поле параметра можно использовать двумя способами:

  • Если необходимо указать кодер, используя его длину ограничения, полиномы генератора и, возможно, полиномы соединения обратной связи, то используйте poly2trellis в поле структуры решетки. Например, чтобы использовать кодер с длиной ограничения 7, полиномы генератора кода 171 и 133 (в восьмеричных числах) и соединение обратной связи 171 (в восьмеричном), задайте для параметра структуры Решетка значение

    poly2trellis(7,[171 133],171)

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

Регистры кодера начинаются в состоянии «все нули». В процессе моделирования кодировщик можно настроить таким образом, чтобы его регистры переводились в состояние «все нули». Для этого установите Operation mode для сброса на ненулевом входе через порт. Затем блок открывает второй входной порт с меткой Rst. Сигнал на Rst порт является скалярным сигналом. Когда он не равен нулю, кодер сбрасывает перед обработкой данных на первом входном порте.

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

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

Примечание

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

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

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

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

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

Выигрыши от кодирования

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

Параметры

Решетчатая конструкция

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

Режим работы

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

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

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

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

Сигнальная совокупность

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

Тип выходных данных

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

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

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

Вход

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

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

  • Булев

  • 8-, 16- и 32-разрядные целые числа со знаком

  • 8-, 16- и 32-разрядные целые числа без знака

  • ufix (1)

Продукция

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

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

Парный блок

Общий декодер TCM

Ссылки

Biglieri, E., D. Divsalar, P. J. McLane и M. K. Simon, Введение в решетчато-кодированную модуляцию с приложениями, Нью-Йорк, Макмиллан, 1991.

[2] Проакис, Джон Г., Digital Communications, четвертое издание, Нью-Йорк, McGraw-Hill, 2001.

[3] Ungerboeck, G., «Канальное кодирование с многоуровневыми/фазовыми сигналами», IEEE Trans. on Information Theory, Vol IT28, Jan. 1982, pp. 55-67.

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

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