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].
Структура 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.