nrPUCCHDMRS

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

    Описание

    пример

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

    пример

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

    Примеры

    свернуть все

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

    carrier = nrCarrierConfig;

    Укажите количество RB в ресурсной сетке поставщика услуг как 50, начало ресурсной сетки поставщика услуг связи относительно CRB 0 как 120 и номер паза как 25.

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

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

    pucch2 = nrPUCCH2Config;

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

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

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

    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 формата PUCCH 2.

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

    Постройте график сгенерированных символов и RE в ресурсной сетке поставщика услуг.

    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. The axes with title Carrier Grid Containing DM-RS of PUCCH Format 2 contains an object of type image.

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

    carrier = nrCarrierConfig;

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

    carrier.NSizeGrid = 10;

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

    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 формата PUCCH 4 с типом данных 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 формата PUCCH 4.

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

    Постройте график сгенерированных символов и RE в ресурсной сетке поставщика услуг.

    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. The axes with title Carrier Grid Containing DM-RS of PUCCH Format 4 contains an object of type image.

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

    свернуть все

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

    Параметры конфигурации PUCCH, заданные как один из следующих опций.

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

    Тип данных выходных символов, заданный как 'double' или 'single'.

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

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

    свернуть все

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

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

    Ссылки

    [1] 3GPP TS 38.211. "NR; Физические каналы и модуляция ". 3rd Генерация Partnership Project; Группа технических спецификаций Радиосеть доступ.

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

    .
    Введенный в R2021a