exponenta event banner

nrPUSCHCodebook

Создание матрицы предварительного кодирования PUSCH

Описание

пример

w = nrPUSCHCodebook(nLayers,nPorts,tpmi) возвращает матрицу предварительного кодирования физического общего канала восходящей линии связи (PUSCH) для передачи на основе кодовой книги. nLayers - количество слоев, nPorts - количество антенных портов, и tpmi - переданный индикатор матрицы предварительного кодирования (TPMI). По умолчанию эта функция отключает предварительное кодирование преобразования. Возвращенная матрица, w, - транспонирование матрицы предварительного кодирования, определенной в TS 38.211 Раздел 6.3.1.5 [1]. Матричная ориентация w позволяет выполнить операцию предварительного кодирования путем умножения матрицы на выходе nrLayerMap функции и w.

w = nrPUSCHCodebook(___,transformPrecode) задает предварительное кодирование преобразования в качестве логического значения в дополнение к входным аргументам в предыдущем синтаксисе. Когда transformPrecode имеет значение trueфункция применяет предварительное кодирование преобразования, определенное в TS 38.211 раздел 6.3.1.4 [1].

Примеры

свернуть все

Модулировать случайную последовательность двоичных значений длиной 600 с использованием 64-QAM модуляции. Разделение модулированных символов на два слоя.

modulation = '64QAM';
nlayers = 2;
in = randi([0 1],600,1);
data = nrSymbolModulate(in,modulation);
y = nrLayerMap(data,nlayers);

Создайте матрицу предварительного кодирования PUSCH для четырех антенн, двух уровней и указанного TPMI.

nports = 4;
tpmi = 7;
w = nrPUSCHCodebook(nlayers,nports,tpmi)
w = 2×4 complex

   0.5000 + 0.0000i   0.0000 + 0.0000i   0.5000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.5000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.5000i

Предварительное кодирование символов многоуровневой модуляции с использованием матрицы кодовой книги.

z = y * w
z = 50×4 complex

  -0.0772 - 0.3858i   0.3858 - 0.5401i  -0.0772 - 0.3858i   0.5401 + 0.3858i
  -0.3858 + 0.0772i  -0.5401 - 0.0772i  -0.3858 + 0.0772i   0.0772 - 0.5401i
  -0.5401 - 0.2315i  -0.2315 + 0.0772i  -0.5401 - 0.2315i  -0.0772 - 0.2315i
  -0.3858 + 0.2315i  -0.2315 - 0.0772i  -0.3858 + 0.2315i   0.0772 - 0.2315i
  -0.0772 - 0.3858i   0.5401 + 0.2315i  -0.0772 - 0.3858i  -0.2315 + 0.5401i
  -0.5401 + 0.5401i  -0.0772 + 0.2315i  -0.5401 + 0.5401i  -0.2315 - 0.0772i
  -0.3858 + 0.2315i  -0.0772 + 0.5401i  -0.3858 + 0.2315i  -0.5401 - 0.0772i
  -0.3858 + 0.5401i   0.5401 + 0.3858i  -0.3858 + 0.5401i  -0.3858 + 0.5401i
  -0.2315 + 0.0772i   0.2315 - 0.5401i  -0.2315 + 0.0772i   0.5401 + 0.2315i
  -0.2315 - 0.0772i   0.3858 - 0.3858i  -0.2315 - 0.0772i   0.3858 + 0.3858i
      ⋮

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

свернуть все

Количество уровней передачи, указанное как целое число от 1 до 4. Для получения дополнительной информации см. TS 38.211 раздел 6.3.1.3.

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

Количество антенных портов, указанных как 1 , 2, или 4. Для получения дополнительной информации см. TS 38.211 раздел 6.3.1.5.

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

Переданный индикатор матрицы предварительного кодирования, заданный как целое число от 0 до 27. Допустимый диапазон tpmi зависит от заданного количества уровней передачи, nLayersи количество антенных портов, nPorts. Для получения дополнительной информации см. таблицы TS 38.211 6.3.1.5-1 - 6.3.1.5-7.

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

Преобразовать предварительное кодирование, указанное как false или true. Для получения дополнительной информации см. TS 38.211 раздел 6.3.1.4.

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

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

свернуть все

Кодовая книга предварительного кодирования PUSCH, возвращаемая как комплексная матрица размера nLayersоколо-nPorts. Если nLayers и nPorts являются оба 1, то w является 1. В противном случае функция возвращает транспонирование матрицы, выбранной из таблиц 6.3.1.5-1 - 6.3.1.5-7 в TS 38.211 [1].

Типы данных: double
Поддержка комплексного номера: Да

Ссылки

[1] 3GPP TS 38.211. "НР; Физические каналы и модуляция. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

Функции

Представлен в R2019a