5G NR PRACH Строение

В этом примере показано, как сконфигурировать 5G физический канал произвольного доступа (PRACH) New Radio (NR), как определено в разделах 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 выход для нескольких несущих в разделе Generate Waveform for Single PRACH Preamble,.

Строение 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

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

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

Таблицы 6.3.3.2-2 - 6.3.3.2-4 в ТУ 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 активной. В обоих случаях рассматривается краткий формат преамбулы PRACH B2. Если вы измените формат, преамбула 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 параметр, определенный в ТС 38.211 раздел 5.3.2.

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

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. The 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;

The 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.

Сгенерируйте форму для преамбулы Single 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 начинается с символа OFDM 8

  • 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 NR PRACH Waveform Generation.

Приложение

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

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

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

  2. 3GPP TS 38.331. "NR; Управление радиоресурсами (RRC); Спецификация протокола. "3-ья Генерация проект партнерства; Группа технических спецификаций Радиосеть доступ.

См. также

Функции

Объекты

Похожие темы