nrPDSCHDecode

Декодируйте символы PDSCH модуляции

Описание

пример

[cws,symbols] = nrPDSCHDecode(sym,mod,nid,rnti) возвращает мягкие биты cws и символы созвездия symbols в результате обратной операции физического нисходящего совместно используемого канала (PDSCH), указанного в разделах 7.3.11-3 TS 38.211 [1]. Декодирование состоит из демодуляции слоя, демодуляции sym со схемой модуляции mod, и дескремблирование с скремблированием тождеств nid. Область входа rnti является временным идентификатором радиосети (RNTI) пользовательского оборудования (UE).

пример

[cws,symbols] = nrPDSCHDecode(carrier,pdsch,sym) возвращает мягкие биты cws и символы созвездия symbols для заданной конфигурации поставщика услуг строения, carrier, и строение PDSCH, pdsch. Область входа sym задает принятые символы PDSCH для декодирования.

[cws,symbols] = nrPDSCHDecode(___,nVar) задает коэффициент масштабирования отклонения шума мягких бит в демодуляции PDSCH в дополнение к входным параметрам в любом из предыдущих синтаксисов.

Примеры

свернуть все

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

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

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

Добавьте добавку белого Гауссова шума (AWGN) к символам PDSCH. Затем демодулируйте, чтобы получить мягкие битовые оценки.

SNR = 30; % SNR in dB
rxsym = awgn(txsym,SNR);
rxbits = nrPDSCHDecode(rxsym,modulation,ncellid,rnti);

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

carrier = nrCarrierConfig;
carrier.NCellID = 42;

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

pdsch = nrPDSCHConfig;
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 для одного кодового слова 8000 бит с заданным строением несущей и строением PDSCH.

cws = randi([0 1],8000,1);
sym = nrPDSCH(carrier,pdsch,cws);

Добавьте добавку белого Гауссова шума (AWGN) к символам PDSCH. Затем демодулируйте символы, чтобы получить мягкие битовые оценки.

SNR = 30; % SNR in dB
rxsym = awgn(sym,SNR);
[rxbits,symbols] = nrPDSCHDecode(carrier,pdsch,rxsym);

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

свернуть все

Принятые символы PDSCH модуляции, заданные как комплексная матрица размера N RE-by N Слоев. N RE - это количество ресурсных элементов в слое, а N Layers - это количество слоев. N слои определяет количество кодовых слов в cws.

  • Если N слои от 1 до 4, функция возвращает одно кодовое слово в cws.

  • Если N слои от 5 до 8, функция возвращает два кодовых слова в cws.

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

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

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

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

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

Скремблирующие тождества, заданный как целое число от 0 до 1023. nid - идентификационный номер камеры физического слоя (от 0 до 1007) или параметр более высокого слоя dataScramblingIdentityPDSCH (от 0 до 1023). Для получения дополнительной информации см. раздел 6.3.2 ТУ 38.331.

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

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

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

Шумовое отклонение, заданное как неотрицательный числовой скаляр. Мягкие биты масштабируются с отклонением аддитивного белого Гауссова шума (AWGN). Значение по умолчанию соответствует ОСШ 100 дБ, принимая степень единичного сигнала.

Примечание

Значение по умолчанию принимает, что декодер и кодер соединены назад-назад, где отклонение шума равно нулю. Чтобы избежать -Inf или +Inf значения в выходе, функция использует 1e-10 как значение по умолчанию для отклонения шума. Чтобы получить соответствующие результаты, когда сигнал передается через шумный канал, отрегулируйте отклонение шума соответственно.

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

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

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

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

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

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

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

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

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

NID

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

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

RNTI

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

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

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

свернуть все

Аппроксимируйте мягкие биты журнала коэффициента правдоподобия (LLR), возвращенные как массив ячеек из одного или двух действительных векторов-столбцов. Область выхода cws наследует тип данных sym. Количество векторов-столбцов зависит от количества слоев в sym. Знак выхода представляет жесткие биты.

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

Символьное созвездие для каждого кодового слова в cws, возвращенный как массив ячеек из одного или двух векторов-столбцов комплексных чисел. symbols наследует тип данных sym.

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

Ссылки

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

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

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