exponenta event banner

nrULSCHDemultiplex

Выполнение демультиплексирования данных UL-SCH и управления

    Описание

    пример

    [culsch,cack,ccsi1,ccsi2] = nrULSCHDemultiplex(pusch,tcr,tbs,oack,ocsi1,ocsi2,cw) возвращает демультиплексированный кодированный вектор данных culschи кодированные векторы управляющей информации восходящей линии связи (UCI) cack, ccsi1, и ccsi2 отправить демультиплексирование принятого кодового слова cw. Это демультиплексирование отменяет обработку, определенную в TS 38.212 Раздел 6.2.7 [1]. pusch - конфигурация физического общего канала восходящей линии связи (PUSCH). tcr - целевая кодовая скорость. tbs - размер транспортного блока для передачи по совместно используемому каналу восходящей линии связи (UL-SCH). oack - количество битов полезной нагрузки гибридного автоматического подтверждения повторного запроса (HARQ-ACK). ocsi1 - количество битов полезной нагрузки части 1 информации о состоянии канала (CSI), и ocsi2 - количество битов полезной нагрузки CSI, часть 2. cw - вектор столбца принятых мягких битов отношения логарифмического правдоподобия (LLR).

    Примеры

    свернуть все

    Создание объекта конфигурации PUSCH со схемой модуляции pi/2-BPSK и без скачкообразной перестройки частоты. Установите коэффициент бета-смещения для HARQ-ACK равным 20, а коэффициент бета-смещения для CSI части 1 и CSI части 2 равным 6,25 каждый. Укажите коэффициент масштабирования 1, который ограничивает количество элементов ресурса (RE), назначенных для UCI.

    pusch = nrPUSCHConfig;
    pusch.Modulation = 'pi/2-BPSK';
    pusch.FrequencyHopping = 'neither';
    pusch.BetaOffsetACK = 20;
    pusch.BetaOffsetCSI1 = 6.25;
    pusch.BetaOffsetCSI2 = 6.25;
    pusch.UCIScaling = 1;

    Установите целевую кодовую скорость, длину полезной нагрузки данных UL-SCH, HARQ-ACK, часть 1 CSI и часть 2 CSI.

    tcr = 0.5;   % Target code rate
    tbs = 3848;  % Payload length of UL-SCH data (transport block size)
    oack = 8;    % Payload length of HARQ-ACK
    ocsi1 = 88;  % Payload length of CSI part 1
    ocsi2 = 100; % Payload length of CSI part 2

    Получайте согласованную по скорости длину данных UL-SCH, HARQ-ACK, части 1 CSI и части 2 CSI.

    rmInfo = nrULSCHInfo(pusch,tcr,tbs,oack,ocsi1,ocsi2);

    Создайте случайно закодированные биты UL-SCH, HARQ-ACK, CSI части 1 и CSI части 2.

    culsch = randi([0 1],rmInfo.GULSCH,1);
    cack = randi([0 1],rmInfo.GACK,1);
    ccsi1 = randi([0 1],rmInfo.GCSI1,1);
    ccsi2 = randi([0 1],rmInfo.GCSI2,1);

    Получают кодовое слово из случайно кодированных битов UL-SCH и кодированных битов типов UCI.

    cw = nrULSCHMultiplex(pusch,tcr,tbs,culsch,cack,ccsi1,ccsi2);

    Получите демультиплексированные биты UL-SCH и UCI из кодового слова.

    [rxculsch,rxcack,rxccsi1,rxccsi2] = nrULSCHDemultiplex(pusch,tcr,tbs,oack,ocsi1,ocsi2,1-2*cw);

    Убедитесь, что случайно кодированные биты и демультиплексированные кодированные биты UL-SCH и кодированных типов UCI идентичны.

    isequal(rxculsch<0,culsch)
    ans = logical
       1
    
    
    isequal(rxcack<0,cack)
    ans = logical
       1
    
    
    isequal(rxccsi1<0,ccsi1)
    ans = logical
       1
    
    
    isequal(rxccsi2<0,ccsi2)
    ans = logical
       1
    
    

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

    свернуть все

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

    Схема модуляции, указанная как 'QPSK', 'pi/2-BPSK', '16QAM', '64QAM', или '256QAM', строковый скаляр или символьный массив.

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

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

    Количество уровней передачи, указанное как 1, 2, 3, или 4.

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

    Тип отображения физического совместно используемого канала, указанный как 'A' или 'B'.

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

    Выделение символа OFDM физического совместно используемого канала, заданного как двухэлементный вектор неотрицательных целых чисел. Первый элемент этого свойства представляет начало выделения символов (на основе 0). Второй элемент представляет количество выделенных OFDM символов.

    При установке для этого свойства значения [] или второй элемент вектора к 0, символ не выделен для канала.

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

    Выделение блока физических ресурсов (PRB) PUSCH внутри BWP, указанного как вектор целых чисел от 0 до 274.

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

    Преобразование предварительного кодирования, указанного как одно из этих значений.

    • 0 (false) - Отключить предварительное кодирование преобразования. Тип сигнала представляет собой циклическое мультиплексирование с ортогональным частотным разделением (CP-OFDM).

    • 1 (true) - Включить предварительное кодирование преобразования. Тип сигнала представляет собой мультиплексирование с расширенным ортогональным частотным разделением с дискретным преобразованием Фурье (DFT-s-OFDM).

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

    Скачкообразная перестройка частоты для физического общего канала восходящей линии связи, определенного как одна из этих опций.

    • 'neither'

    • 'intraSlot'

    • 'interSlot'

    Если задать скачкообразную перестройку частоты внутри слота, и входные кодированные биты не удовлетворяют уравнениям TS 38.212, раздел 6.2.7, функция возвращает кодовое слово, предполагая, что скачкообразная перестройка частоты отсутствует.

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

    Коэффициент бета-смещения HARQ-ACK, заданный как положительное целое число. Это свойство определяет количество ресурсов для мультиплексирования HARQ-ACK. Номинальное значение - одна из записей из таблицы 9.3-1 ТУ 38.213.

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

    Коэффициент бета-смещения части 1 информации о состоянии канала (CSI), заданный как положительное целое число. Это свойство определяет количество ресурсов для мультиплексирования CSI, часть 1. Номинальное значение - одна из записей из таблицы 9.3-2 ТУ 38.213.

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

    Коэффициент смещения бета части 2 CSI, заданный как положительное целое число. Это свойство определяет количество ресурсов для мультиплексирования CSI, часть 2. Номинальное значение - одна из записей из таблицы 9.3-2 ТУ 38.213.

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

    Коэффициент масштабирования для ограничения количества элементов ресурсов, выделенных для UCI на PUSCH, указанный как скаляр между 0 и 1. Номинальное значение - 0,5, 0,65, 0,8 или 1.

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

    Временный идентификатор радиосети пользовательского оборудования (UE), заданный как целое число от 0 до 65535.

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

    Параметры конфигурации PUSCH DM-RS, указанные как nrPUSCHDMRSConfig объект конфигурации.

    Включите PT-RS, указанный как одно из этих значений.

    • 0 (false) - Деактивизация конфигурации СТ-RS.

    • 1 (true) - активизируйте конфигурирование СТ-RS.

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

    Конфигурация опорного сигнала отслеживания фазы PUSCH (PT-RS), заданная как nrPUSCHPTRSConfig объект конфигурации.

    Целевая кодовая скорость для кодового слова в передаче UL-SCH, заданная как скаляр в диапазоне (0, 1).

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

    Размер транспортного блока, связанного с кодовым словом в передаче UL-SCH, заданный как неотрицательное целое число. Значение 0 указывает на отсутствие транспортного блока или передачи UL-SCH по PUSCH.

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

    Длина полезной нагрузки битов HARQ-ACK, заданная как неотрицательное целое число. Значение 0 указывает на отсутствие передачи HARQ-ACK.

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

    Длина полезной нагрузки компонента CSI 1 бит, указанная как неотрицательное целое число. Значение 0 указывает на отсутствие передачи CSI, часть 1.

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

    Длина полезной нагрузки компонента CSI 2 бита, заданная как неотрицательное целое число. Значение 0 указывает на отсутствие передачи CSI, часть 2. Номинально, часть 2 CSI присутствует только тогда, когда присутствует часть 1 CSI.

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

    Принятые динамические биты логарифмического отношения правдоподобия (LLR), возвращенные в виде вектора столбца с действительным значением или []. Длина cw должна быть равна битовой емкости PUSCH.

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

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

    свернуть все

    Кодированные динамические биты LLR UL-SCH, заданные как вектор столбца с действительным значением. Если входной аргумент cw пуст, тогда выходной аргумент culsch также пуст. Тип выходных данных culsch соответствует значению входного аргумента cw.

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

    Кодированные динамические биты HARQ-ACK LLR, заданные как вектор столбца с действительным значением. Если входной аргумент cw пуст, тогда выходной аргумент cack также пуст. Тип выходных данных cack соответствует значению входного аргумента cw.

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

    Кодированные динамические биты LLR части 1 CSI, заданные как вектор столбца с действительным значением. Если входной аргумент cw пуст, тогда выходной аргумент ccsi1 также пуст. Тип выходных данных ccsi1 соответствует значению входного аргумента cw.

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

    Кодированные динамические биты LLR части 2 CSI, заданные как вектор столбца с действительным значением. Если входной аргумент cw пуст, тогда выходной аргумент ccsi2 также пуст. Тип выходных данных ccsi2 соответствует значению входного аргумента cw.

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

    Ссылки

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

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

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

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

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