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 количество битов полезной нагрузки части 2 CSI. cw вектор-столбец полученного отношения логарифмической правдоподобности (LLR) мягкие биты.

    Примеры

    свернуть все

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

    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 свойства объектов.

    Схема Modulation в виде '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 ложь) — Отключают, преобразовывают предварительное кодирование. Тип формы волны является циклически-префиксным ортогональным делением частоты, мультиплексирующим (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 TS 38.213.

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

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

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

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

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

    Масштабный коэффициент, чтобы ограничить количество элементов ресурса, выделенных для UCI на PUSCH в виде скаляра между 0 и 1. Номинальная стоимость 0.5, 0.65, 0.8, или 1.

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

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

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

    Параметры конфигурации PUSCH DM-RS в виде nrPUSCHDMRSConfig объект настройки.

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

    • 0 ложь) — Отключают настройку PT-RS.

    • 1 TRUE) — Включают настройку PT-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 не указывает ни на какую передачу части 1 CSI.

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

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

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

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

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

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

    свернуть все

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

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

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

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

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

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

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

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

    Ссылки

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

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

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

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

    Введенный в R2020b