exponenta event banner

5G Конфигурирование NR PRACH

Этот пример показывает, как настроить 5G New Radio (NR) физический канал произвольного доступа (PRACH), как определено в разделах 5.3.2 и 6.3.3 TS 38.211 [1]. Можно узнать о временных ресурсах PRACH, их связи с преамбулами PRACH, а также о том, как генерировать преамбулы PRACH без необходимости поиска таблиц конфигурации. Этот пример также показывает, как сопоставлять символы PRACH с сеткой ресурсов и как генерировать форму сигнала во временной области для одной преамбулы PRACH.

Конфигурирование несущей и PRACH

Поддерживаемые комбинации интервалов между поднесущими

Таблица 6.3.3.2-1 в TS 38.211 перечисляет поддерживаемые комбинации интервалов поднесущих для PRACH и физического совместно используемого канала восходящей линии связи (PUSCH) во время начального доступа. Доступ к этой таблице можно получить непосредственно из объекта конфигурации PRACH.

disp(nrPRACHConfig.Tables.SupportedSCSCombinations)
    LRA    PRACHSubcarrierSpacing    PUSCHSubcarrierSpacing    NRBAllocation    kbar
    ___    ______________________    ______________________    _____________    ____

    839             1.25                       15                    6            7 
    839             1.25                       30                    3            1 
    839             1.25                       60                    2          133 
    839                5                       15                   24           12 
    839                5                       30                   12           10 
    839                5                       60                    6            7 
    139               15                       15                   12            2 
    139               15                       30                    6            2 
    139               15                       60                    3            2 
    139               30                       15                   24            2 
    139               30                       30                   12            2 
    139               30                       60                    6            2 
    139               60                       60                   12            2 
    139               60                      120                    6            2 
    139              120                       60                   24            2 
    139              120                      120                   12            2 

Блок 1 (SIB1) системной информации содержит информационный элемент управления радиоресурсами (RRC) UplinkConfigCommonSIB (TS 38.331, раздел 6.3.2 [2]), который определяет интервал между поднесущими для PUSCH. Пользовательское оборудование (UE) нуждается в этой информации для передачи преамбулы PRACH во время процедуры произвольного доступа.

Конфигурация несущей

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

carrier = nrCarrierConfig;
carrier.SubcarrierSpacing = 15; % Subcarrier spacing in kHz (15, 30, 60, 120)

Поскольку преамбула PRACH модулируется относительно несущей, изменение интервала между несущими приводит к другой форме сигнала PRACH. Чтобы увидеть, как другая несущая влияет на генерируемую форму сигнала, проверьте Information associated with PRACH OFDM modulation вывод для нескольких несущих в разделе Генерация формы сигнала для одной преамбулы PRACH,.

Конфигурирование PRACH

Параметры PRACH можно настроить путем установки значений свойств nrPRACHConfig объект. Согласно TS 38.211, не все комбинации параметров PRACH являются допустимыми. Дополнительные сведения о том, как свойства nrPRACHConfig отразить эти ограничения, см. nrPRACHConfig.

prach = nrPRACHConfig;
prach.FrequencyRange = 'FR1';            % Frequency range ('FR1', 'FR2')
prach.DuplexMode = 'FDD';                % Duplex mode ('FDD', 'TDD', 'SUL')
prach.ConfigurationIndex = 27;           % Configuration index (0...255). This value is automatically updated in the next section.
prach.SubcarrierSpacing = 15;            % Subcarrier spacing in kHz (1.25, 5, 15, 30, 60, 120)
prach.SequenceIndex = 0;                 % Logical root sequence index (0...837)
prach.PreambleIndex = 0;                 % Scalar preamble index within the cell (0...63)
prach.RestrictedSet = 'UnrestrictedSet'; % Type of restricted set ('UnrestrictedSet','RestrictedSetTypeA','RestrictedSetTypeB')
prach.ZeroCorrelationZone = 0;           % Cyclic shift configuration index (0...15)
prach.RBOffset = 0;                      % Starting resource block index of the initial uplink bandwidth part (BWP) relative to carrier resource grid (0...274)
prach.FrequencyStart = 0;                % Frequency offset of lowest PRACH transmission occasion in frequency domain with respect to physical resource block 0 of the initial uplink BWP (0...274)
prach.FrequencyIndex = 0;                % Index of the PRACH transmission occasions in frequency domain (0...7)
prach.TimeIndex = 0;                     % Index of the PRACH transmission occasions in time domain (0...6)
                                         % For formats B2 and B3, this value is automatically updated in the next section.
prach.ActivePRACHSlot = 0;               % Active PRACH slot number within a subframe or a 60 kHz slot (0,1)
prach.NPRACHSlot = 0;                    % PRACH slot number

ConfigurationIndex и TimeIndex свойства зависят от формата PRACH. SubcarrierSpacing, ActivePRACHSlot, и NPRACHSlot свойства определяют, активна ли преамбула PRACH. В следующих двух разделах рассматривается установка этих свойств.

Как задать ConfigurationIndex На основе предпочтительного формата

Таблицы 6.3.3.2-2-6.3.3.2-4 в TS 38.211 определяют все возможные конфигурации PRACH во временной области. Комбинация частотного диапазона и дуплексного режима определяет, какую таблицу конфигурации использовать. Допустимыми комбинациями являются:

  • FR1 и FDD (парный спектр): таблица 6.3.3.2-2

  • FR1 и SUL (дополнительный восходящий канал): таблица 6.3.3.2-2

  • FR1 и TDD (непарный спектр): таблица 6.3.3.2-3

  • FR2 и TDD (непарный спектр): таблица 6.3.3.2-4

Для получения дополнительной информации о том, как парные и непарные спектры связаны с дуплексным режимом, см. поле FDD-OrSUL информационного элемента RRC FrequencyInfoUL в TS 38.331 Раздел 6.3.2.

Доступ к этим таблицам конфигурации можно получить через Tables имущества nrPRACHConfig объект. Например:

nrPRACHConfig.Tables.ConfigurationsFR1PairedSUL % TS 38.211 Table 6.3.3.2-2
nrPRACHConfig.Tables.ConfigurationsFR1Unpaired  % TS 38.211 Table 6.3.3.2-3
nrPRACHConfig.Tables.ConfigurationsFR2          % TS 38.211 Table 6.3.3.2-4

TS 38.211 определяет 13 форматов PRACH и классифицирует их как длинные или короткие преамбулы. Длинные преамбулы имеют последовательность длины LRA = 839, в то время как короткие преамбулы имеют последовательность длины LRA = 139. Форматы, связанные с длинными преамбулами: 0, 1, 2, 3. Форматы, связанные с короткими преамбулами: A1, A2, A3, B1, B2, B3, B4, C0, C2, включая смешанные форматы A1/B1, A2/B2 и A3/B3.

Индексы конфигурации в таблицах 6.3.3.2-2 - 6.3.3.2-4 определяют временные ресурсы, в которые может передаваться каждый формат преамбулы. Каждый формат преамбулы связан с несколькими индексами конфигурации. Можно выбрать формат PRACH без необходимости поиска таблиц конфигурации путем установки значения ConfigurationIndex на основе предпочтительного формата. Это значение соответствует наибольшему диапазону временных ресурсов, в котором можно передать предпочтительный формат преамбулы.

format = 'B2'; % PRACH preamble format ('0','1','2','3','A1','A2','A3','B1','B2','B3','B4','C0','C2')

Выберите таблицу конфигурации на основе FrequencyRange и DuplexMode.

if strcmpi(prach.FrequencyRange,'FR1')
    if strcmpi(prach.DuplexMode,'TDD') % TS 38.211 Table 6.3.3.2-3
        configTable = nrPRACHConfig.Tables.ConfigurationsFR1Unpaired;
    else % TS 38.211 Table 6.3.3.2-2
        configTable = nrPRACHConfig.Tables.ConfigurationsFR1PairedSUL;
    end
else % TS 38.211 Table 6.3.3.2-4
    configTable = nrPRACHConfig.Tables.ConfigurationsFR2;
end

Среди всех конфигураций, соответствующих одному и тому же краткому формату преамбулы в таблице 6.3.3.2-2, конфигурация второй-последней имеет наибольшее количество временных ресурсов для передачи преамбулы PRACH. Во всех остальных случаях, включая смешанные форматы в таблице 6.3.3.2-2, последняя конфигурация имеет наибольшее количество временных ресурсов для передачи преамбулы PRACH. В этом примере эта информация используется для установки значения ConfigurationIndex собственность. Если выбран формат B2 или B3, в этом примере устанавливается максимальное значение TimeIndex.

if strcmpi(prach.FrequencyRange,'FR1') && strcmpi(prach.DuplexMode,'FDD') && ...
        any(strcmpi(format,{'A1','A2','A3','B1','B4','C0','C2'}))
    prach.ConfigurationIndex = find(strcmpi(configTable.PreambleFormat,format),1,'last') - 2;
else
    if ~any(strcmpi(format,{'B2','B3'}))
        prach.ConfigurationIndex = find(strcmpi(configTable.PreambleFormat,format),1,'last') - 1;
    else
        % Format B2 and B3 only appear in mixed formats, so select an
        % appropriate mixed format and set the maximum value of TimeIndex
        prach.ConfigurationIndex = find(endsWith(configTable.PreambleFormat,format),1,'last') - 1;
        prach.TimeIndex = prach.NumTimeOccasions - 1;
    end
end

Как выбрать SubcarrierSpacing, ActivePRACHSlot, и NPRACHSlot для генерации активной преамбулы PRACH

Таблицы 6.3.3.2-2-6.3.3.2-4 в TS 38.211 описывают, какой слот PRACH соответствует активной преамбуле PRACH. Третий и четвертый столбцы этих таблиц представляют номера системных кадров, которые соответствуют активной преамбуле PRACH. В зависимости от выбранного частотного диапазона, FR1 или FR2, пятый столбец представляет номера слотов для интервала между поднесущими 15 кГц или 60 кГц соответственно, соответствующего активной преамбуле PRACH. Если преамбула PRACH не активна в текущих временных ресурсах, передача времени не может происходить.

Например, выбранная конфигурация PRACH активна в любом системном кадре и субкадре, если интервал между поднесущими PRACH установлен в 15 кГц, как показано в таблице 6.3.3.2-2.

disp(configTable(prach.ConfigurationIndex+1,:))
    ConfigurationIndex    PreambleFormat    x      y          SubframeNumber         StartingSymbol    PRACHSlotsPerSubframe    NumTimeOccasions    PRACHDuration
    __________________    ______________    _    _____    _______________________    ______________    _____________________    ________________    _____________

           146              {'A2/B2'}       1    {[0]}    {[0 1 2 3 4 5 6 7 8 9]}          0                     2                     3                  4      

Для проверки активности преамбулы PRACH в текущем слоте проверьте prachSymbols выходные данные nrPRACH функция. Этот выходной сигнал пуст, если преамбула PRACH не активна в текущем слоте. Для генерации активной преамбулы PRACH выполните цикл значений NPRACHSlot имущество до prachSymbols становится непустым.

Случаи, представленные в этом разделе, показывают, как проверить, активна ли текущая короткая преамбула PRACH. В обоих случаях B2 рассматривается краткий формат преамбулы PRACH. При изменении формата преамбула PRACH может быть активной для значений NPRACHSlot и ActivePRACHSlot свойства отличаются от свойств, показанных в этом примере.

Вариант 1: Типичная конфигурация интервалов поднесущих PRACH

Настройка преамбулы PRACH для выбранного формата с типичной конфигурацией интервалов поднесущих. В этом примере рассматривается интервал между поднесущими 15 кГц, который является типичным значением для коротких преамбул в FR1. При изменении значения интервала между поднесущими или формата может потребоваться изменить значения ActivePRACHSlot и NPRACHSlot для получения активного слота PRACH.

% Store the user-defined configuration
subcarrierSpacing = prach.SubcarrierSpacing;
activePRACHSlot = prach.ActivePRACHSlot;
nPRACHSlot = prach.NPRACHSlot;

% Set values of SubcarrierSpacing, ActivePRACHSlot, and NPRACHSlot for this
% case
if any(strcmpi(format,{'0','1','2'}))
    prach.SubcarrierSpacing = 1.25;
elseif strcmpi(format,'3')
    prach.SubcarrierSpacing = 5;
else % Short preambles
    if strcmpi(prach.FrequencyRange,'FR1')
        prach.SubcarrierSpacing = 15; % Valid values are (15, 30)
    else % FR2
        prach.SubcarrierSpacing = 60; % Valid values are (60, 120)
    end
end
prach.ActivePRACHSlot = 0;
prach.NPRACHSlot = 0;

Согласно таблице 6.3.3.2-2 в TS 38.211, UE может передавать PRACH в любом слоте.

prachSymbols = nrPRACH(carrier,prach);
active = ~isempty(prachSymbols);
disp(['active: ' num2str(active)])
active: 1

Вариант 2: Альтернативная конфигурация интервалов поднесущих PRACH

Интервал между поднесущими PRACH устанавливается равным 30 кГц, тогда как интервал между поднесущими несущих устанавливается равным значению по умолчанию 15 кГц. Это означает, что каждый слот несущей содержит два слота PRACH. В этом случае не учитываются длинные преамбулы PRACH и FR2 частотного диапазона, поскольку они несовместимы с интервалом поднесущих 30 кГц.

В случае интервала между поднесущими PRACH 30 кГц может быть активным только один из двух интервалов PRACH в пределах интервала между поднесущими 15 кГц. Согласно таблице 6.3.3.2-2 в TS 38.211, первый или второй слоты PRACH могут быть активными для B2 формата преамбулы PRACH. Значение prach.ActivePRACHSlot свойство определяет, какой слот PRACH активен в текущем субкадре несущей. Это свойство является параметром nslotRA, определенным в TS 38.211 Раздел 5.3.2.

В этом случае показаны четыре комбинации NPRACHSlot и ActivePRACHSlot и проверяет, активна ли преамбула PRACH. В этом случае отображается график структуры временной области преамбулы PRACH для обеих комбинаций. График показывает, что активная преамбула PRACH занимает первую половину слота несущей, когда ActivePRACHSlot является 0 и занимает вторую половину слота несущей, когда ActivePRACHSlot является 1. Дополнительные сведения об этом графике см. в разделе Структура области времени графика выбранной преамбулы PRACH.

if ~any(strcmpi(format,{'0','1','2','3'})) && strcmpi(prach.FrequencyRange,'FR1') % Short preamble formats and FR1 only
    % Set subcarrier spacing to 30 kHz for this case
    prach.SubcarrierSpacing = 30;
    
    % Define all combinations of NPRACHSlot and ActivePRACHSlot to check
    nPRACHSlotCase2 = [0, 1, 2];
    activePRACHSlotCase2 = [0, 1];
    [NPRACHSlotCase2, ActivePRACHSlotCase2] = meshgrid(nPRACHSlotCase2,activePRACHSlotCase2);
    prachActivityTable = table(NPRACHSlotCase2(:),ActivePRACHSlotCase2(:),false*ones(numel(NPRACHSlotCase2),1), ...
        'VariableNames',{'NPRACHSlot','ActivePRACHSlot','active'});
    
    % Loop over all combinations
    for i = 1:numel(NPRACHSlotCase2)
        prach.NPRACHSlot = NPRACHSlotCase2(i);
        prach.ActivePRACHSlot = ActivePRACHSlotCase2(i);
        prachSymbols = nrPRACH(carrier,prach);
        active = ~isempty(prachSymbols); % Check if the PRACH preamble is active in the current slot
        prachActivityTable.active(i) = active;
        if active && prach.NPRACHSlot < 2
            % Plot the time-domain structure of the PRACH preamble for
            % active PRACH preambles in the first two slots
            hPRACHPreamblePlot(carrier,prach);
        end
    end
else
    % Display a message for the filtered cases
    if any(strcmpi(format,{'0','1','2','3'}))
        disp(['PRACH long preamble format ' format ' is not compatible with 30 kHz subcarrier spacing.'])
    else % FR2
        disp('Frequency range FR2 is not compatible with 30 kHz subcarrier spacing.')
    end
end

Figure Time-Domain Structure of the Current PRACH Preamble contains an axes. The axes with title Time-Domain Structure of PRACH Preamble Format A2/B2 within One 15 kHz Carrier Slot (NPRACHSlot = [0, 1]) contains 36 objects of type patch. These objects represent Cyclic Prefix, Sequence, Cyclic Prefix - current, Sequence - current, Guard Period - current.

Figure Time-Domain Structure of the Current PRACH Preamble contains an axes. The axes with title Time-Domain Structure of PRACH Preamble Format A2/B2 within One 15 kHz Carrier Slot (NPRACHSlot = [0, 1]) contains 36 objects of type patch. These objects represent Cyclic Prefix, Sequence, Cyclic Prefix - current, Sequence - current, Guard Period - current.

Для коротких форматов преамбулы с интервалом между поднесущими 30 кГц эта таблица показывает, активна ли преамбула PRACH для каждой комбинации выбранных значений NPRACHSlot и ActivePRACHSlot свойства.

if ~any(strcmpi(format,{'0','1','2','3'})) && strcmpi(prach.FrequencyRange,'FR1') % Short preamble formats and FR1 only
    disp(prachActivityTable)
end
    NPRACHSlot    ActivePRACHSlot    active
    __________    _______________    ______

        0                0             1   
        0                1             0   
        1                0             0   
        1                1             1   
        2                0             1   
        2                1             0   

Возврат объекта конфигурации PRACH к пользовательской конфигурации

prach.SubcarrierSpacing = subcarrierSpacing;
prach.ActivePRACHSlot = activePRACHSlot;
prach.NPRACHSlot = nPRACHSlot;

Проверка конфигурации PRACH

Объект конфигурации PRACH также имеет свойства только для чтения, которые предоставляют дополнительную информацию о текущей конфигурации:

  • Формат преамбулы: Format

  • Длина последовательности преамбулы Задоффа-Чу: LRA

  • Максимальное количество разрешенных случаев PRACH: NumTimeOccasions

  • Количество символов OFDM в сетке слотов PRACH, соответствующих одному случаю передачи: PRACHDuration

  • Местоположение первого символа OFDM текущего случая PRACH: SymbolLocation

disp(prach)
  nrPRACHConfig with properties:

           FrequencyRange: 'FR1'
               DuplexMode: 'FDD'
       ConfigurationIndex: 146
        SubcarrierSpacing: 15
            SequenceIndex: 0
            PreambleIndex: 0
            RestrictedSet: 'UnrestrictedSet'
      ZeroCorrelationZone: 0
                 RBOffset: 0
           FrequencyStart: 0
           FrequencyIndex: 0
                TimeIndex: 2
          ActivePRACHSlot: 0
               NPRACHSlot: 0

   Read-only properties:
                   Format: 'B2'
                      LRA: 139
         NumTimeOccasions: 3
            PRACHDuration: 4
           SymbolLocation: 8
    SubframesPerPRACHSlot: 1
      PRACHSlotsPerPeriod: 10

   Constant properties:
                   Tables: [1x1 struct]

Постройте график временной структуры выбранной преамбулы PRACH

На этом графике показаны все возможные случаи PRACH (в текущем слоте несущей) в светлых цветах и текущий случай PRACH (соответствующий выбранному TimeIndex) в темных цветах. Этот график содержит циклический префикс (CP), периоды активной последовательности PRACH и конечный защитный период (GP) в красном, синем и зеленом цветах соответственно. Если преамбула PRACH не активна в текущем слоте, график пуст. На графике показаны связанные со временем свойства выбранной конфигурации PRACH и положение PRACH в слоте несущей. Если интервал между поднесущими PRACH меньше, чем интервал между поднесущими несущих, график показывает минимальное количество слотов несущих, необходимых для передачи преамбулы PRACH. Последний по времени случай PRACH не всегда соответствует концу слота несущей. График пуст для тех значений времени, в которых передача PRACH не разрешена для текущей конфигурации PRACH.

hPRACHPreamblePlot(carrier,prach);

Figure Time-Domain Structure of the Current PRACH Preamble contains an axes. The axes with title Time-Domain Structure of PRACH Preamble Format A2/B2 within One 15 kHz Carrier Slot (NPRACHSlot = 0) contains 36 objects of type patch. These objects represent Cyclic Prefix, Sequence, Cyclic Prefix - current, Sequence - current, Guard Period - current.

Создание и отображение символов PRACH в сетку ресурсов

Сетка ресурсов PRACH показывает местоположение преамбулы PRACH как во временной, так и в частотной области. Используя эту сетку ресурсов, можно:

  • Визуальный осмотр преамбулы PRACH во временной и частотной областях

  • Генерация сигнала PRACH, получаемого путем модуляции сетки ресурсов

Создание сетки ресурсов PRACH состоит из следующих шагов:

  1. Создать пустую сетку

  2. Генерирование символов, которые должны передаваться в форме сигнала PRACH

  3. Формирование частотных индексов и временных индексов, в которых находятся символы PRACH

  4. Отображение символов PRACH в сетку ресурсов PRACH

Создайте пустую сетку ресурсов PRACH.

prachGrid = nrPRACHGrid(carrier,prach);
size(prachGrid)
ans = 1×2

   624    14

Создайте символы PRACH. Количество символов зависит от конфигурации PRACH. prachSymbols выходной сигнал пуст, если преамбула PRACH не активна в текущем слоте.

prachSymbols = nrPRACH(carrier,prach);

Создайте индексы PRACH. Значение в каждом элементе prachIndices - линейный индекс расположения каждого элемента prachSymbols в сетке ресурсов PRACH.

prachIndices = nrPRACHIndices(carrier,prach);

Сопоставьте символы PRACH с сеткой ресурсов PRACH с помощью индексов. Для представления βPRACH в TS 38.211, раздел 6.3.3.2, отображение применяет коэффициент масштабирования 1 к символам PRACH.

prachGrid(prachIndices) = 1 * prachSymbols;

hPRACHResourceGridPlot вспомогательная функция отображает сетку ресурсов PRACH для отображения местоположения активного PRACH. На графике показаны все временные моменты, в которых может передаваться PRACH. График показывает все возможные случаи PRACH в текущем слоте несущей светло-синим цветом и текущий случай PRACH (соответствующий выбранному TimeIndex) темно-синим. График пуст для символов OFDM, не используемых каким-либо случаем PRACH для текущей конфигурации. Если преамбула PRACH не активна в текущем слоте, график пуст.

hPRACHResourceGridPlot(carrier,prach);

Figure PRACH Resource Grid contains an axes. The axes with title PRACH Resource Grid (Size [624 14]) contains an object of type image.

Сетка ресурсов PRACH содержит 14 символов OFDM, за исключением следующих случаев:

  • Для длинного формата преамбулы 0 каждая преамбула имеет один период активной последовательности, который охватывает один подкадр. Следовательно, сетка временных интервалов, относящаяся к формату 0, имеет один символ OFDM.

  • Для формата 1 длинной преамбулы каждая преамбула имеет два активных периода последовательности, которые охватывают два подкадра. Следовательно, сетка временных интервалов, относящаяся к формату 1, имеет два символа OFDM.

  • Для формата 2 длинной преамбулы каждая преамбула имеет четыре активных периода последовательности, которые охватывают четыре подкадра. Следовательно, сетка временных интервалов, относящаяся к формату 2, имеет четыре символа OFDM.

  • Для формата 3 длинной преамбулы каждая преамбула имеет четыре активных периода последовательности, которые охватывают один подкадр. Следовательно, сетка временных интервалов, относящаяся к формату 3, имеет четыре символа OFDM.

  • Для краткого формата преамбулы C0 каждая преамбула имеет один период активной последовательности. Однако из-за защиты и циклического префикса преамбула охватывает два символа OFDM. Следовательно, сетка временных интервалов, относящаяся к формату C0, имеет семь символов OFDM.

Можно извлечь количество активных периодов последовательности из значения PRACHDuration свойства объекта конфигурации PRACH.

Генерация формы сигнала для одной преамбулы PRACH

Формирование формы сигнала во временной области для одной преамбулы PRACH путем модуляции сетки ресурсов PRACH. Чтобы установить количество отсчетов временной области, над которыми следует применить оконную обработку и наложение символов OFDM, используйте windowing. В этом примере используется значение по умолчанию для окна. Дополнительные сведения о работе с окнами см. в разделе nrPRACHOFDMModulate.

windowing = [];
[prachWaveform,prachInfo] = nrPRACHOFDMModulate(carrier,prach,prachGrid,'Windowing',windowing);

Продукция prachWaveform - вектор столбца, соответствующий форме сигнала временной области. Продукция prachInfo - структура, которая предоставляет размерную информацию, относящуюся к PRACH. В этом примере эта информация отображается с помощью hPRACHInfoDisplay функция помощника. Функция отображает информацию, относящуюся к количеству выборок, соответствующих CP, периоду активной последовательности PRACH TSEQ и GP для каждого символа OFDM в табличном формате. В таблице перечислены все символы OFDM, которые помещаются в сетку ресурсов. Для кратких форматов преамбулы значения, помеченные * соответствуют всем возможным случаям PRACH, кроме текущего (отмечены светло-синим цветом на графике ресурсной сетки). Для коротких форматов преамбулы значения в угловых скобках представляют символы OFDM, не используемые каким-либо случаем PRACH для текущей конфигурации (что соответствует пустому пространству во времени на графике сетки ресурсов).

Проверьте информацию, относящуюся к символам OFDM, относительно PRACHDuration, SymbolLocation, и NumTimeOccasions свойства. Эти свойства показывают, что:

  • Каждый случай PRACH длится 4 символа OFDM

  • Текущее событие PRACH начинается с символа 8 OFDM.

  • 3 случая PRACH возможны во времени

hPRACHInfoDisplay(carrier,prach,windowing);
Information associated with PRACH:
   SubcarrierSpacing:         15 kHz
   Number of subcarriers:     624

Information associated with PRACH OFDM modulation:
   Nfft:                      1024
   Windowing:                 72
   Offset:                    0 samples

   Symbol    TCP     TSEQ       GP
   ------  ------   ------    -----
      0*     296*    1024*       0*
      1*       0*    1024*       0*
      2*       0*    1024*       0*
      3*       0*    1024*       0*
      4*     296*    1024*       0*
      5*       0*    1024*       0*
      6*       0*    1024*       0*
      7*       0*    1024*       0*
      8      180     1024        0
      9        0     1024        0
     10        0     1024        0
     11        0     1024      108
    <12>   <   0>   <1024>   <   0>
    <13>   <   0>   <1024>   <   0>

       *  : OFDM symbols for unused PRACH time occasions
      <#> : OFDM symbols not used by any PRACH time occasion
            for the current configuration

   Total samples:             15360
   Sample rate:               15.360 MHz
   Duration:                  1.000 ms
   Total number of subframes: 1

Резюме и дальнейшие исследования

В этом примере показано, как сконфигурировать PRACH, установить индекс конфигурации на основе выбранного формата и определить, активна ли преамбула PRACH в текущих временных ресурсах. В этом примере показана сетка ресурсов PRACH и генерация формы сигнала во временной области. При построении графика структуры временной области преамбулы PRACH отображаются все доступные варианты PRACH для выбранной конфигурации в пределах одного подкадра. При построении сетки ресурсов отображаются все доступные варианты PRACH для выбранной конфигурации как во временной, так и в частотной области.

В этом примере показано, как генерировать форму сигнала для одной преамбулы PRACH. Для примера, который производит форму волны для нескольких преамбул PRACH, посмотрите 5G НОМЕР Поколения Формы волны PRACH.

Приложение

В этом примере используются следующие вспомогательные функции:

Избранная библиография

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

  2. 3GPP TS 38.331. "НР; управление радиоресурсами (RRC); Спецификация протокола. "Проект партнерства третьего поколения; Техническая спецификация на сеть радиодоступа группы.

См. также

Функции

Объекты

Связанные темы