nrPUCCHDMRS

Сгенерируйте символы PUCCH DM-RS

    Описание

    пример

    sym = nrPUCCHDMRS(carrier,pucch) генерирует sym, который содержит опорный сигнал демодуляции (DM-RS) символы физического восходящего канала управления (PUCCH), как задано в Разделе TS 38.211 6.4.1.3 [1], для всех форматов PUCCH. carrier задает настройку несущей. pucch задает настройку PUCCH. Для форматов 1, 3 PUCCH, и 4, устанавливая GroupHopping свойство pucch установлен в 'disable' включает скачкообразное движение последовательности. В этом случае функция выбирает порядковый номер, который может быть несоответствующим для коротких последовательностей оснований. Для формата 0 PUCCH функция возвращает пустое значение для sym.

    пример

    sym = nrPUCCHDMRS(carrier,pucch,'OutputDataType',datatype) задает тип данных символов PUCCH.

    Примеры

    свернуть все

    Создайте объект настройки несущей по умолчанию.

    carrier = nrCarrierConfig;

    Задайте количество RBS в сетке ресурса несущей как 50, запуск сетки ресурса несущей относительно CRB 0 как 120, и номер слота как 25.

    carrier.NSizeGrid = 50;
    carrier.NStartGrid = 120;
    carrier.NSlot = 25;

    Создайте объект настройки формата 2 PUCCH по умолчанию.

    pucch2 = nrPUCCH2Config;

    Задайте первый индекс символа в пазе передачи PUCCH как 7 и количество выделенных символов PUCCH как 2. Установите PRBs, выделенный для PUCCH лежать в диапазоне от 40 до 45. Включите скачкообразное движение частоты внутрипаза и установите запуск индекс PRB второго транзитного участка к 20. Задайте идентичность скремблирования DM-RS как 1 005.

    pucch2.SymbolAllocation = [7 2];
    pucch2.PRBSet = 40:45;
    pucch2.FrequencyHopping = 'intraSlot';
    pucch2.SecondHopStartPRB = 20;
    pucch2.NID0 = 1005;

    Сгенерируйте символы DM-RS формата 2 PUCCH.

    sym = nrPUCCHDMRS(carrier,pucch2)
    sym = 48×1 complex
    
       0.7071 - 0.7071i
      -0.7071 + 0.7071i
      -0.7071 - 0.7071i
       0.7071 - 0.7071i
      -0.7071 - 0.7071i
       0.7071 - 0.7071i
       0.7071 - 0.7071i
       0.7071 - 0.7071i
       0.7071 - 0.7071i
      -0.7071 + 0.7071i
          ⋮
    
    

    Сгенерируйте индексы DM-RS RE формата 2 PUCCH.

    ind = nrPUCCHDMRSIndices(carrier,pucch2)
    ind = 48x1 uint32 column vector
    
       4682
       4685
       4688
       4691
       4694
       4697
       4700
       4703
       4706
       4709
          ⋮
    
    

    Постройте сгенерированные символы и REs в сетке ресурса несущей.

    resGrid = nrResourceGrid(carrier);
    resGrid(ind) = sym;
    imagesc(abs(resGrid))
    axis xy
    xlabel('OFDM Symbols')
    ylabel('Subcarriers')
    title('Carrier Grid Containing DM-RS of PUCCH Format 2')

    Figure contains an axes object. The axes object with title Carrier Grid Containing DM-RS of PUCCH Format 2 contains an object of type image.

    Создайте объект настройки несущей по умолчанию.

    carrier = nrCarrierConfig;

    Задайте количество RBS в сетке ресурса несущей к 10.

    carrier.NSizeGrid = 10;

    Создайте объект настройки формата 4 PUCCH по умолчанию.

    pucch4 = nrPUCCH4Config;

    Установите первый индекс символа в пазе передачи PUCCH к 2 и количество выделенных символов PUCCH к 12. Включите скачкообразное движение группы и дополнительный флаг настройки DM-RS. Задайте скачкообразно двигающуюся идентичность как 120, распространяющийся фактор как 4, и ортогональный индекс кода покрытия (OCCI) как 3.

    pucch4.SymbolAllocation = [2 12];
    pucch4.GroupHopping = 'enable';
    pucch4.HoppingID = 120;
    pucch4.SpreadingFactor = 4;
    pucch4.OCCI = 3;
    pucch4.AdditionalDMRS = 1;

    Сгенерируйте символы DM-RS формата 4 PUCCH с типом данных single.

    sym = nrPUCCHDMRS(carrier,pucch4, 'OutputDataType','single')
    sym = 48x1 single column vector
    
       0.7071 - 0.7071i
       0.7071 - 0.7071i
       0.7071 - 0.7071i
      -0.7071 - 0.7071i
      -0.7071 - 0.7071i
       0.7071 - 0.7071i
       0.7071 + 0.7071i
      -0.7071 - 0.7071i
       0.7071 + 0.7071i
       0.7071 + 0.7071i
          ⋮
    
    

    Сгенерируйте индексы DM-RS RE формата 4 PUCCH.

    ind = nrPUCCHDMRSIndices(carrier,pucch4)
    ind = 48x1 uint32 column vector
    
       361
       362
       363
       364
       365
       366
       367
       368
       369
       370
          ⋮
    
    

    Постройте сгенерированные символы и REs в сетке ресурса несущей.

    resGrid = nrResourceGrid(carrier);
    resGrid(ind) = sym;
    imagesc(abs(resGrid))
    axis xy
    xlabel('OFDM Symbols')
    ylabel('Subcarriers')
    title('Carrier Grid Containing DM-RS of PUCCH Format 4')

    Figure contains an axes object. The axes object with title Carrier Grid Containing DM-RS of PUCCH Format 4 contains an object of type image.

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

    свернуть все

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

    Параметры конфигурации PUCCH в виде одной из этих опций.

    Для формата 0 PUCCH функция возвращает пустое значение.

    Тип данных выходных символов в виде 'double' или 'single'.

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

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

    свернуть все

    Символы модуляции PUCCH DM-RS, возвращенные как комплексная матрица. Для формата 0 PUCCH этот выход пуст.

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

    Ссылки

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

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

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

    Функции

    Объекты

    Введенный в R2021a