nrPDSCH

Сгенерируйте символы модуляции PDSCH

Описание

пример

sym = nrPDSCH(cws,mod,nlayers,nid,rnti) возвращает sym содержит физические символы модуляции совместно используемого канала нисходящей линии связи (PDSCH), как определено в разделах 7.3.1.1-3 TS 38.211 [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, как описано в разделе 7.2.6 TS 38.212.

  • Двухкомпонентный вектор-столбец - Используйте это значение, чтобы задать одно кодовое слово 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) или параметр более высокого слоя dataScramblingIdentityPDSCH (от 0 до 1023). Для получения дополнительной информации см. раздел 6.3.2 ТУ 38.331.

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

RNTI UE, заданный в виде целого числа от 0 до 65 535.

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

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

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

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

Поле свойствЗначенияОписание
NCellID

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

Тождества камеры физического слоя

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

Поле свойствЗначенияОписание
Modulation

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

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

NumLayers

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

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

NID

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

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

RNTI

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

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

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

свернуть все

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

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

Ссылки

[1] 3GPP TS 38.211. "NR; Физические каналы и модуляция ". 3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

[2] 3GPP TS 38.212. "NR; Мультиплексирование и канальное кодирование. "3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

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

.
Введенный в R2018b