Сверточное кодирование двоичных данных и модулирует метод PSK использования
TCM, в подбиблиотеке Digital Baseband Модуляции
Блок M-PSK TCM Encoder реализует закодированную решеткой модуляцию (TCM) путем фактического кодирования сообщения двоичного входа и отображения результата с сигнальным созвездием PSK.
Параметр M-ary number является числом точек в сигнальном созвездии, которое также равняется количеству возможных выходных символов от сверточного энкодера. (Таким образом, log2 (M-ary number) равно n для уровня k/n сверточный код.)
Если сверточный энкодер, описанный структурой решетки, представляет уровень k/n код, то входной сигнал блока должен быть вектором столбца двоичных данных с длиной 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
порт является скалярным сигналом. Когда это является ненулевым, сброс энкодера прежде, чем обработать данные в первом входном порту.
Закодированный решеткой метод модуляции делит созвездие в названные подмножества, балует, чтобы максимизировать минимальное расстояние между парами точек в каждом, балуют. Этот блок внутренне формирует допустимый раздел на основе значения, которое вы выбираете для параметра M-ary number.
Фигура ниже показов помеченное разделенное набором сигнальное созвездие, которое использует блок, когда M-ary number равняется 8. Для созвездий других размеров см. [1].
Кодирование усилений 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.