5G настройка NR PRACH

В этом примере показано, как сконфигурировать Новое радио (NR) 5G физический канал произвольного доступа (PRACH), как задано в Разделах TS 38.211 5.3.2 и 6.3.3 [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 
     571               30                       15                   96            2 
     571               30                       30                   48            2 
     571               30                       60                   24            2 
    1151               15                       15                   96            1 
    1151               15                       30                   48            1 
    1151               15                       60                   24            1 

Системный блок информации 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

Можно также изменить значение prach.LRA использовать значение длины последовательности преамбулы PRACH, введенной в Релизе 16 3GPP технические требования.

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, пятая колонна представляет номера слота для расстояния между поднесущими на 60 кГц или на 15 кГц, соответственно, соответствуя активной преамбуле 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 становится непустым.

Случаи представили в этом разделе show, как проверять, активна ли текущая короткая преамбула 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. Для получения дополнительной информации об этом графике смотрите Структуру Временного интервала Графика раздела 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 object. The axes object 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 object. The axes object 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

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

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

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

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

disp(prach)
  nrPRACHConfig with properties:

           FrequencyRange: 'FR1'
               DuplexMode: 'FDD'
       ConfigurationIndex: 146
        SubcarrierSpacing: 15
                      LRA: 139
            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'
         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 object. The axes object 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 object. The axes object 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 запускается в символе 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.

Приложение

Этот пример использует эти функции помощника:

Выбранная библиография

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

  2. 3GPP TS 38.331. "NR; Радио-управление ресурсами (RRC); спецификация Протокола". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

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

Функции

Объекты

Похожие темы