lteULSCHInterleave

Описание

out = lteULSCHInterleave(ue,chs,cdata) выполняет перемежение каналов UL-SCH на входе cdata содержит данные кодированного транспортного канала (TrCH) без UCI. Он выполняет данные UL-SCH и мультиплексирование и перемежение UCI, как определено в разделах 5.2.2.7 и 5.2.2.8 TS 36.212 [1]. Этот вход может быть вектором или массивом ячеек из векторов, перемежающихся отдельно, и выход имеет ту же форму.

Несколько кодовых слов могут быть параметризованы двумя различными формами chs структура. Каждое кодовое слово может быть задано отдельными элементами массива структур 1 на 2, или параметры кодового слова могут быть объединены вместе в полях одной скалярной, или 1 на 1, структуры. Любые значения скалярного поля применяются как к кодовым словам, так и к скалярному NLayers - общее число. Для получения дополнительной информации см. раздел «Параметризация UL-SCH».

пример

out = lteULSCHInterleave(ue,chs,cdata,ccqi,cri,cack) как указано выше, за исключением того, что он также поддерживает перемежение каналов UL-SCH на обоих cdata и закодировал UCI в ccqi, cri и cack. Если любой из этих входов является массивами ячеек, выход имеет ту же форму, и все векторные входы перемежаются только в первую камеру вывода. Любая из входных камер или массивов может быть пустой, если связанный вход не передается на одном или нескольких кодовых словах.

Примеры

свернуть все

Перемежите два RB PUSCH на биты для QPSK модуляции. С учетом RE, зарезервированных для PUSCH DM-RS, для данных PUSCH на RB доступно 144 RE. Поэтому два RB содержат 288 символов PUSCH. Это приводит к 2 * 288 биты к модуляции QPSK после перемежения.

Инициализируйте специфические для UE и связанные с UL-SCH структуры параметров. Сгенерируйте данные для QPSK модуляции символов PUSCH в двух RB. Для QPSK существует два бита на символ. Выполните перемежение и символьную модуляцию.

ue.CyclicPrefixUL = 'Normal';
ue.Shortened = 0;
chs.Modulation = 'QPSK';
chs.NLayers = 1;
numRB = 2;
numREperRB = 144;
bitsPerSymbol = 2;
numBits = numRB * numREperRB * bitsPerSymbol;
cdata = randi([0 1], numBits, 1);
interleaved = lteULSCHInterleave(ue, chs, cdata);
symbols = lteSymbolModulate(interleaved, 'QPSK');

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

свернуть все

Специфичные для UE настройки, заданные как структура со следующими полями.

Длина циклического префикса, заданная как 'Normal' или 'Extended'.

Типы данных: char | string

Укорочите подрамник, заданный как 0 или 1. Если 1, последний символ подрамника не используется. Он должен быть установлен, если текущий подкадр содержит возможную передачу SRS.

Типы данных: logical

Типы данных: struct

Связанные с UL-SCH параметры, заданные как скалярная структура со следующими полями.

Формат модуляции, заданный как 'QPSK', '16QAM', '64QAM', или '256QAM'. Используйте двойные кавычки для строки. Это два блока, используйте массив ячеек из векторов символов или строковые массивы. Каждый элемент массивов связан с транспортным блоком.

Типы данных: char | string

Количество слоев передачи (всего или по кодовому слову), заданное как 1, 2, 3 или 4.

Типы данных: double

Типы данных: struct

Закодированные данные TrCH, заданные как вектор-столбец или массив ячеек векторов-столбцов.

Типы данных: double | cell

Закодированный CQI, заданный как вектор.

Типы данных: double

Закодированный RI, заданный как вектор.

Типы данных: double

Закодированный ACK, заданный как вектор.

Типы данных: double

Выходные аргументы

свернуть все

Перемеженный вывод UL-SCH, возвращенный в виде числового вектора-столбца или массива ячеек с числовыми векторами-столбцами.

Типы данных: double | cell

Ссылки

[1] 3GPP TS 36.212. "Evolved Universal Terrestrial Radio Access (E-UTRA); Мультиплексирование и канальное кодирование. "3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ. URL-адрес: https://www.3gpp.org.

Введенный в R2014a