exponenta event banner

nrPDSCH

Формирование символов модуляции PDSCH

Описание

пример

sym = nrPDSCH(cws,mod,nlayers,nid,rnti) прибыль sym содержит физические символы модуляции общего канала нисходящей линии связи (PDSCH), как определено в TS 38.211, разделы 7.3.1.1-3 [1]. Процесс состоит из скремблирования с идентификацией скремблирования nid, выполнение модуляции символа со схемой модуляции modи сопоставление слоев. cws представляет одно или два кодовых слова общего канала нисходящей линии связи (DL-SCH), как описано в TS 38.212, раздел 7.2.6. nlayers определяет количество уровней передачи. rnti - временный идентификатор радиосети (RNTI) пользовательского оборудования (UE).

пример

sym = nrPDSCH(carrier,pdsch,cws) возвращает символы модуляции PDSCH для указанной конфигурации несущей, carrierи конфигурирование PDSCH, pdsch. Вход cws определяет кодовое слово общего канала нисходящей линии связи (DL-SCH).

sym = nrPDSCH(___,'OutputDataType',datatype) указывает тип данных символа PDSCH в дополнение к входным аргументам в любом из предыдущих синтаксисов.

Примеры

свернуть все

Укажите случайную последовательность двоичных значений, соответствующих кодовому слову из 8000 битов, используя 256-QAM модуляцию. Формирование символов модуляции PDSCH для указанного идентификационного номера ячейки физического уровня, RNTI и количества уровней передачи.

modulation = '256QAM';
nlayers = 4;
ncellid = 42;
rnti = 6143;
data = randi([0 1],8000,1);
sym = nrPDSCH(data,modulation,nlayers,ncellid,rnti)
sym = 250×4 complex

  -0.2301 + 0.5369i  -0.3835 + 0.9971i   0.3835 + 1.1504i  -0.2301 + 0.9971i
   0.8437 - 0.0767i  -0.9971 + 0.6903i  -0.6903 - 0.6903i   0.6903 - 0.6903i
   0.2301 - 1.1504i  -0.9971 + 0.0767i   0.6903 - 1.1504i   1.1504 + 0.6903i
  -0.3835 - 1.1504i  -0.0767 - 0.0767i  -0.3835 + 0.3835i  -0.3835 - 0.3835i
   0.9971 + 0.5369i  -0.3835 - 0.5369i   0.3835 - 0.6903i  -0.3835 - 0.8437i
  -0.0767 + 1.1504i   0.6903 - 0.8437i  -0.2301 + 0.2301i   0.8437 - 0.0767i
  -0.3835 - 1.1504i  -0.6903 - 0.9971i   0.9971 - 0.3835i  -0.9971 + 0.0767i
  -0.0767 + 0.6903i  -0.0767 + 0.8437i   1.1504 + 0.0767i   0.6903 + 1.1504i
  -0.5369 - 0.9971i  -0.8437 + 0.0767i   0.8437 - 0.3835i  -0.9971 - 1.1504i
   0.2301 - 0.6903i  -0.6903 - 0.5369i  -0.6903 + 1.1504i   0.8437 - 0.2301i
      ⋮

Укажите две случайные последовательности двоичных значений. Первая последовательность соответствует кодовому слову из 6000 битов с использованием 64-QAM модуляции. Вторая последовательность соответствует кодовому слову из 8000 битов с использованием 256-QAM модуляции. Генерируют символы модуляции PDSCH для указанного идентификационного номера ячейки физического уровня и RNTI, используя в общей сложности 8 уровней передачи.

modulation = {'64QAM' '256QAM'};
nlayers = 8;
ncellid = 1;
rnti = 6143;
data = {randi([0 1],6000,1) randi([0 1],8000,1)};
sym = nrPDSCH(data,modulation,nlayers,ncellid,rnti)
sym = 250×8 complex

  -0.4629 - 0.7715i   0.4629 - 0.4629i   0.4629 + 0.1543i   0.7715 - 1.0801i   0.3835 - 0.9971i  -0.5369 + 0.6903i   0.6903 - 0.6903i  -0.5369 + 0.0767i
   0.1543 + 0.4629i  -1.0801 + 1.0801i  -0.7715 + 0.7715i  -0.1543 + 0.7715i  -0.2301 + 0.9971i  -1.1504 + 1.1504i  -0.0767 + 1.1504i  -0.6903 + 0.9971i
  -0.1543 + 0.1543i   0.7715 - 1.0801i  -0.4629 + 0.7715i   0.1543 + 1.0801i   0.0767 - 0.8437i   0.0767 - 0.9971i   0.3835 + 0.3835i   1.1504 - 0.9971i
  -0.7715 - 0.4629i  -0.1543 + 0.7715i  -0.7715 - 0.7715i  -0.4629 - 0.1543i  -0.6903 + 0.5369i  -0.8437 - 0.5369i  -0.5369 + 0.0767i  -0.0767 - 1.1504i
   1.0801 - 1.0801i  -1.0801 + 0.7715i   0.1543 - 0.4629i   0.4629 - 0.4629i  -1.1504 + 0.2301i  -0.9971 + 0.9971i  -1.1504 + 0.8437i   0.2301 - 0.2301i
   0.4629 + 0.4629i   0.1543 + 0.1543i  -0.1543 + 0.1543i   0.1543 - 0.4629i   0.6903 + 0.2301i  -0.6903 + 0.6903i   0.3835 + 0.5369i   0.3835 + 0.0767i
  -1.0801 + 0.7715i   0.4629 - 1.0801i   0.4629 + 1.0801i  -0.4629 + 0.4629i  -0.6903 + 0.8437i  -0.3835 - 0.2301i   0.5369 + 0.8437i   0.9971 - 0.9971i
  -1.0801 + 0.7715i  -0.1543 - 0.1543i   0.7715 + 1.0801i  -0.4629 - 0.1543i   0.8437 + 0.5369i  -0.2301 + 0.0767i  -0.6903 - 0.0767i  -0.0767 - 0.6903i
  -0.4629 - 1.0801i  -0.7715 - 0.1543i   0.1543 - 1.0801i  -0.1543 + 0.1543i   0.2301 - 0.3835i   1.1504 + 0.2301i  -1.1504 - 1.1504i  -1.1504 - 1.1504i
   0.7715 + 1.0801i   1.0801 - 0.4629i   1.0801 + 1.0801i  -0.1543 - 1.0801i  -0.0767 + 0.0767i   0.3835 + 0.9971i   0.0767 - 0.6903i   0.5369 - 0.8437i
      ⋮

Создайте объект конфигурации оператора связи со свойствами по умолчанию. Укажите идентификатор ячейки физического уровня как 42 и номер слота как 10.

carrier = nrCarrierConfig;
carrier.NCellID = 42;
carrier.NSlot = 10;

Создайте объект конфигурации PDSCH со схемой модуляции 16-QAM. Установите временный идентификатор радиосети на 1005, размер BWP на 25, начальный индекс PRB BWP на 10 и PRB на весь BWP.

pdsch = nrPDSCHConfig;
pdsch.Modulation = '16QAM';
pdsch.RNTI = 1005;
pdsch.NID = []; % Set NID equal to the NCellID property of carrier
pdsch.NSizeBWP = 25;
pdsch.NStartBWP = 10;
pdsch.PRBSet = 0:pdsch.NSizeBWP-1;

Создайте индексы PDSCH в виде подстрочного индекса и задайте ориентацию индекса для части полосы пропускания.

[ind,info] = nrPDSCHIndices(carrier,pdsch,'IndexStyle','subscript','IndexOrientation','bwp')
ind = 3900x3 uint32 matrix

    1    1    1
    2    1    1
    3    1    1
    4    1    1
    5    1    1
    6    1    1
    7    1    1
    8    1    1
    9    1    1
   10    1    1
      ⋮

info = struct with fields:
                G: 15600
               Gd: 3900
        NREPerPRB: 156
    DMRSSymbolSet: 2
    PTRSSymbolSet: [1x0 double]

Создайте символы PDSCH одиночного типа данных.

numDataBits = info.G;
cws = randi([0 1],numDataBits,1);
sym = nrPDSCH(carrier,pdsch,cws,'OutputDataType','single')
sym = 3900x1 single column vector

  -0.9487 + 0.9487i
  -0.9487 - 0.9487i
  -0.3162 - 0.9487i
   0.9487 - 0.3162i
  -0.9487 + 0.3162i
   0.3162 + 0.9487i
   0.3162 + 0.9487i
  -0.3162 + 0.3162i
   0.3162 + 0.3162i
   0.9487 - 0.3162i
      ⋮

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

свернуть все

Кодовые слова DL-SCH, указанные как одно из следующих значений:

  • Массив ячеек одного или двух двоичных векторов столбцов - используйте это значение для указания одного или двух кодовых слов DL-SCH, как описано в TS 38.212 Раздел 7.2.6.

  • Вектор двоичного столбца - это значение используется для указания одного кодового слова DL-SCH.

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

Схема модуляции, указанная как 'QPSK', '16QAM', '64QAM', или '256QAM', строковый массив или массив ячеек символьных векторов. Эта схема модуляции определяет тип модуляции кодовых слов и количество битов, используемых на символ модуляции. Если cws содержит два кодовых слова, схема модуляции применяется к обоим кодовым словам. В качестве альтернативы можно задать различные схемы модуляции для каждого кодового слова, используя строковый массив или массив ячеек символьных векторов.

Схема модуляцииКоличество битов на символ
'QPSK'2
'16QAM'4
'64QAM'6
'256QAM'8

Пример: Чтобы задать различные схемы модуляции для двух кодовых слов, можно использовать любой из следующих форматов: {'QPSK','16QAM'} или ["QPSK","16QAM"].

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

Количество уровней передачи, указанное как целое число от 1 до 8. Для одного кодового слова используйте целое число от 1 до 4. Для двух кодовых слов используйте целое число от 5 до 8.

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

Идентификатор скремблирования, заданный как целое число от 0 до 1023. nid - идентификационный номер ячейки физического уровня (от 0 до 1007) или параметр более высокого уровня dataScramedIdentityPDSCH (от 0 до 1023). Для получения дополнительной информации см. TS 38.331 раздел 6.3.2.

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

RNTI UE, указанный как целое число от 0 до 65535.

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

Тип данных выходных символов, указанный как 'double' или 'single'.

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

Параметры конфигурации несущей для конкретной нумерации OFDM, определенные как nrCarrierConfig объект. Эта функция использует только NCellID свойство этого nrCarrierConfig объект.

Поле свойстваЦенностиОписание
NCellID

1 (по умолчанию), целое число от 0 до 1007

Идентификация ячейки физического уровня

Параметры конфигурации PDSCH, указанные как nrPDSCHConfig объект. Эта функция использует только эти nrPDSCHConfig свойства объекта.

Поле свойстваЦенностиОписание
Modulation

«QPSK» (по умолчанию), «16QAM», «64QAM» или «256 QAM», строковый скаляр, строковый массив или массив ячеек символьных векторов

Схема (схемы) модуляции кодового слова (кодовых слов)

NumLayers

1 (по умолчанию), целое число от 1 до 8

Количество уровней передачи

NID

[] (по умолчанию), целое число от 0 до 1023

Идентификатор скремблирования, заданный как целое число от 0 до 1023. Использовать [] значение, позволяющее этому свойству быть равным NCellID из carrier вход.

RNTI

1 (по умолчанию), целое число от 0 до 65535

Временный идентификатор радиосети пользовательского оборудования

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

свернуть все

Символы модуляции PDSCH, возвращаемые как комплексная матрица.

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

Ссылки

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

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

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

.
Представлен в R2018b