nrPDSCHDecode

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

Описание

пример

[cws,symbols] = nrPDSCHDecode(sym,mod,nid,rnti) возвращает мягкие биты cws и символы созвездия symbols следуя из обратной операции физического нисходящего канала совместно использованный канал (PDSCH) обработка заданного в Разделах TS 38.211 7.3.11–3 [1]. Декодирование состоит из слоя demapping, демодуляции 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.

Задайте случайную последовательность двоичных значений, соответствующих кодовой комбинации 8 000 битов с помощью 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 со свойствами по умолчанию. Установите радиосеть временный идентификатор на 1 005, размер части пропускной способности к 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 для одной кодовой комбинации 8 000 битов с заданной настройкой поставщика услуг и настройкой 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-NLayers. РЕ N является количеством элементов ресурса в слое, и Слои N являются количеством слоев. Слои N определяют количество кодовых комбинаций в cws.

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

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

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

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

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

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

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

Скремблирование идентичности в виде целого числа от 0 до 1 023. nid личный номер ячейки физического уровня (от 0 до 1 007) или более высокий параметр слоя dataScramblingIdentityPDSCH (от 0 до 1 023). Для получения дополнительной информации смотрите Раздел TS 38.331 6.3.2.

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

NID

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

Скремблирование идентичности в виде целого числа от 0 до 1 023. Использование значение, чтобы позволить этому свойству быть равным 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; Физические каналы и модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

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

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

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

Функции

Объекты

Введенный в R2018b