exponenta event banner

nrPDSCHDecode

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

Описание

пример

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

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

  • Если NLayers от 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) или параметр более высокого уровня dataScramedIdentityPDSCH (от 0 до 1023). Для получения дополнительной информации см. TS 38.331 раздел 6.3.2.

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

NID

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

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

RNTI

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

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

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

свернуть все

Мягкие биты приблизительного логарифмического отношения правдоподобия (LLR), возвращаемые в виде массива ячеек из одного или двух вещественных векторов столбцов. Продукция cws наследует тип данных sym. Число векторов столбцов зависит от количества слоев в sym. Знак выходного сигнала представляет жесткие биты.

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

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

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

Ссылки

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

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