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

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

Библиотека

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 и Прямоугольных блоков Энкодера QAM TCM.

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

Кодирование усилений 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= продолжительность ограничения1 (или, в случае нескольких продолжительностей ограничения, 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)

Вывод

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

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

Парный блок

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

Ссылки

[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