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, в дополнение к входным параметрам в любом из предыдущих синтаксисов.

Примеры

свернуть все

Задайте случайную последовательность двоичных значений, соответствующих кодовой комбинации 8 000 битов с помощью 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
      ⋮

Задайте две случайных последовательности двоичных значений. Первая последовательность соответствует кодовой комбинации 6 000 битов с помощью 64-QAM модуляции. Вторая последовательность соответствует кодовой комбинации 8 000 битов с помощью 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 схемой модуляции. Установите радиосеть временный идентификатор на 1 005, размер 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

Схема Modulation в виде '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 до 1 023. nid личный номер ячейки физического уровня (от 0 до 1 007) или более высокий параметр слоя dataScramblingIdentityPDSCH (от 0 до 1 023). Для получения дополнительной информации смотрите Раздел TS 38.331 6.3.2.

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

RNTI UE в виде целого числа от 0 до 65 535.

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

Тип данных выходных символов в виде 'double' или 'single'.

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

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

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

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

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

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

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

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

Схема (схемы) Modulation кодовой комбинации (комбинаций)

NumLayers

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

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

NID

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

Скремблирование идентичности в виде целого числа от 0 до 1 023. Использование значение, чтобы позволить этому свойству быть равным NCellID из carrier входной параметр.

RNTI

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

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

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

свернуть все

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

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

Ссылки

[1] 3GPP TS 38.211. “NR; Физические каналы и модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

[2] 3GPP TS 38.212. “NR; Мультиплексирование и кодирование канала”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

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

Смотрите также

Функции

Объекты

Введенный в R2018b