General TCM Encoder

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

Библиотека

TCM, в подбиблиотеке Digital Baseband Модуляции

Описание

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

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

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

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

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

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

  • Если вы хотите задать энкодер с помощью его продолжительности ограничения, полиномы генератора, и возможно полиномы связи обратной связи, то используют 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 порт является скалярным сигналом. Когда это является ненулевым, сброс энкодера прежде, чем обработать данные в первом входном порту.

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

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

Примечание

Когда вы устанавливаете параметр 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 and Rectangular QAM TCM Encoder блоки.

Кодирование усилений

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

Параметры

Trellis structure

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

Operation mode

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

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

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

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

Signal constellation

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

Output data type

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

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

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

Входной параметр

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

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

  • Булевская переменная

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

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

  • ufix (1)

Вывод

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

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

Парный блок

General TCM Decoder

Ссылки

[1] Biglieri, E., Д. Дивсэлэр, П. Дж. Маклэйн, и М. К. Саймон, введение в закодированную решеткой модуляцию с Аппликэйшнсом, Нью-Йорк, Макмиллана, 1991.

[2] Proakis, Джон Г., Цифровая связь, Четвертый выпуск, Нью-Йорк, McGraw-Hill, 2001.

[3] Ungerboeck, G., “Кодирование канала с Многоуровневыми Сигналами / Сигналами Фазы”, Сделка IEEE на Теории информации, Vol IT28, январь 1982, стр 55–67.

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

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

Смотрите также

Блоки

Функции

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