Сверточное кодирование двоичных данных и карта с помощью произвольного созвездия
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®, формат которой описан в Описании Решетки Сверточного кода. Можно использовать это поле параметра двумя способами:
Если вы хотите задать энкодер с помощью его продолжительности ограничения, полиномы генератора, и возможно полиномы связи обратной связи, то используют 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
порт является скалярным сигналом. Когда это является ненулевым, сброс энкодера прежде, чем обработать данные в первом входном порту.
Закодированный решеткой метод модуляции делит созвездие в названные подмножества, балует, чтобы максимизировать минимальное расстояние между парами точек в каждом, балуют.
Примечание
Когда вы устанавливаете параметр 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].
Структура MATLAB, которая содержит описание решетки сверточного энкодера.
В Continuous
режим (настройка по умолчанию), блок сохраняет состояния энкодера в конце каждой системы координат для использования со следующей системой координат.
В Truncated (reset every frame)
режим, блок обрабатывает каждую систему координат независимо. Т.е. состояния энкодера сбрасываются ко все-нулевому состоянию в начале каждой системы координат.
В Terminate trellis by appending bits
режим, блок обрабатывает каждую систему координат независимо. Для каждого входного кадра дополнительные биты используются, чтобы установить состояния энкодера на все-нулевое состояние в конце системы координат. Продолжительностью выхода дают , где x является количеством входных битов, и (или, в случае нескольких продолжительностей ограничения, s =sum(ConstraintLength(i)-1)
). Блок поддерживает этот режим для входных сигналов вектор-столбца.
В Reset on nonzero input via port
режим, блок имеет дополнительный входной порт, пометил Rst
. Когда Rst
вход является ненулевым, сброс энкодера ко все-нулевому состоянию.
Комплексный вектор, который перечисляет точки в сигнальном созвездии в разделенном набором порядке.
Выходной тип блока может быть задан как single
или double
. По умолчанию блок устанавливает это на double
.
Порт | Поддерживаемые типы данных |
---|---|
Входной параметр |
|
Вывод |
|
[1] Biglieri, E., Д. Дивсэлэр, П. Дж. Маклэйн, и М. К. Саймон, введение в закодированную решеткой модуляцию с Аппликэйшнсом, Нью-Йорк, Макмиллана, 1991.
[2] Proakis, Джон Г., Цифровая связь, Четвертый выпуск, Нью-Йорк, McGraw-Hill, 2001.
[3] Ungerboeck, G., “Кодирование канала с Многоуровневыми Сигналами / Сигналами Фазы”, Сделка IEEE на Теории информации, Vol IT28, январь 1982, стр 55–67.