lteRIEncode

Оцените кодировку канала индикации

Синтаксис

Описание

пример

out = lteRIEncode(chs,in) возвращает кодированные биты индикации ранга (RI) после выполнения блочного кодирования, как определено для RI в TS 36.212 [1], раздел 5.2.2.6. in должен быть вектором или массивом ячеек, содержащим до 15 биты RI. out содержит закодированные биты в той же форме.

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

Поскольку биты RI переносятся на все определенные кодовые слова, один вход приводит к тому, что массив ячеек закодирован выходами, если параметризовано несколько кодовых слов. Это позволяет легко интегрироваться с другими функциями.

Кодер RI выполняет различные типы блочного кодирования в зависимости от количества бит RI в векторе in. Если in состоит из одного элемента, в нем используется ТС 36.212 [1], таблица 5.2.2.6-3. Если in состоит из двух элементов, использует для кодирования TS 36,212 [1], Table 5,2,2,6-4. Биты, x и y в таблицах, представлены соответственно -1 и -2.

Аналогично, для 3-11 бит кодирование RI выполняется согласно TS 36.212 [1], раздел 5.2.2.6.4. Для более чем 11 биты кодирование выполняется как описано в TS 36.212 [1], раздел 5.2.2.6.5.

Примеры

свернуть все

Сгенерируйте кодированные биты индикации ранга (RI) для одного кодового слова.

riBit = 0;
chs.Modulation = '64QAM';
chs.QdRI = 1;
chs.NLayers = 1;
codedRi = lteRIEncode(chs,riBit)
codedRi = 6x1 int8 column vector

    0
   -2
   -1
   -1
   -1
   -1

Сгенерируйте кодированные биты индикации ранга (RI) для двух кодовых слов на 3 слоях.

riBit = 0;
chs.Modulation = {'64QAM' '64QAM'};
chs.QdRI = 1;
chs.NLayers = 3;
codedRi = lteRIEncode(chs,riBit)
codedRi=1×2 cell array
    {6x1 int8}    {12x1 int8}

codedRi{:}
ans = 6x1 int8 column vector

    0
   -2
   -1
   -1
   -1
   -1

ans = 12x1 int8 column vector

    0
   -2
   -1
   -1
   -1
   -1
    0
   -2
   -1
   -1
      ⋮

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

свернуть все

Специфичная для PUSCH структура параметра, заданная как скалярная структура или массив структур. chs содержит следующие поля.

Количество закодированных символов RI, заданное как неотрицательный числовой скаляр или вектор (Q'_RI).

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

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

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

Количество слоев передачи, заданное как положительный числовой скаляр. Необязательно.

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

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

Входные биты RI, заданные как логический вектор длины от 1 до 15 или массив ячеек логических векторов. Каждый вектор может содержать до 15 бит RI за штуку.

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

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

свернуть все

Закодированные выходные биты, возвращенные как целочисленный вектор-столбец или массив ячеек из целочисленных векторов-столбцов в той же форме, что и in. Если специфичная для PUSCH структура параметра chs задает несколько кодовых слов, out - массив ячеек.

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

Ссылки

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

Введенный в R2014a