Этот пример показывает, как настроить 5G New Radio (NR) физический канал произвольного доступа (PRACH), как определено в разделах 5.3.2 и 6.3.3 TS 38.211 [1]. Можно узнать о временных ресурсах 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 можно настроить путем установки значений свойств 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 и классифицирует их как длинные или короткие преамбулы. Длинные преамбулы имеют последовательность длины 839, в то время как короткие преамбулы имеют последовательность 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.](../../examples/5g/win64/NewRadioPRACHConfigurationExample_01.png)
![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.](../../examples/5g/win64/NewRadioPRACHConfigurationExample_02.png)
Для коротких форматов преамбулы с интервалом между поднесущими 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 также имеет свойства только для чтения, которые предоставляют дополнительную информацию о текущей конфигурации:
Формат преамбулы: 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 (соответствующий выбранному TimeIndex) в темных цветах. Этот график содержит циклический префикс (CP), периоды активной последовательности PRACH и конечный защитный период (GP) в красном, синем и зеленом цветах соответственно. Если преамбула PRACH не активна в текущем слоте, график пуст. На графике показаны связанные со временем свойства выбранной конфигурации PRACH и положение PRACH в слоте несущей. Если интервал между поднесущими PRACH меньше, чем интервал между поднесущими несущих, график показывает минимальное количество слотов несущих, необходимых для передачи преамбулы PRACH. Последний по времени случай PRACH не всегда соответствует концу слота несущей. График пуст для тех значений времени, в которых передача PRACH не разрешена для текущей конфигурации PRACH.
hPRACHPreamblePlot(carrier,prach);

Сетка ресурсов PRACH показывает местоположение преамбулы PRACH как во временной, так и в частотной области. Используя эту сетку ресурсов, можно:
Визуальный осмотр преамбулы PRACH во временной и частотной областях
Генерация сигнала PRACH, получаемого путем модуляции сетки ресурсов
Создание сетки ресурсов PRACH состоит из следующих шагов:
Создать пустую сетку
Генерирование символов, которые должны передаваться в форме сигнала PRACH
Формирование частотных индексов и временных индексов, в которых находятся символы PRACH
Отображение символов 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 с помощью индексов. Для представления в 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.](../../examples/5g/win64/NewRadioPRACHConfigurationExample_04.png)
Сетка ресурсов PRACH содержит 14 символов OFDM, за исключением следующих случаев:
Для длинного формата преамбулы 0 каждая преамбула имеет один период активной последовательности, который охватывает один подкадр. Следовательно, сетка временных интервалов, относящаяся к формату 0, имеет один символ OFDM.
Для формата 1 длинной преамбулы каждая преамбула имеет два активных периода последовательности, которые охватывают два подкадра. Следовательно, сетка временных интервалов, относящаяся к формату 1, имеет два символа OFDM.
Для формата 2 длинной преамбулы каждая преамбула имеет четыре активных периода последовательности, которые охватывают четыре подкадра. Следовательно, сетка временных интервалов, относящаяся к формату 2, имеет четыре символа OFDM.
Для формата 3 длинной преамбулы каждая преамбула имеет четыре активных периода последовательности, которые охватывают один подкадр. Следовательно, сетка временных интервалов, относящаяся к формату 3, имеет четыре символа OFDM.
Для краткого формата преамбулы C0 каждая преамбула имеет один период активной последовательности. Однако из-за защиты и циклического префикса преамбула охватывает два символа OFDM. Следовательно, сетка временных интервалов, относящаяся к формату C0, имеет семь символов OFDM.
Можно извлечь количество активных периодов последовательности из значения PRACHDuration свойства объекта конфигурации PRACH.
Формирование формы сигнала во временной области для одной преамбулы PRACH путем модуляции сетки ресурсов PRACH. Чтобы установить количество отсчетов временной области, над которыми следует применить оконную обработку и наложение символов OFDM, используйте windowing. В этом примере используется значение по умолчанию для окна. Дополнительные сведения о работе с окнами см. в разделе nrPRACHOFDMModulate.
windowing = [];
[prachWaveform,prachInfo] = nrPRACHOFDMModulate(carrier,prach,prachGrid,'Windowing',windowing);Продукция prachWaveform - вектор столбца, соответствующий форме сигнала временной области. Продукция prachInfo - структура, которая предоставляет размерную информацию, относящуюся к PRACH. В этом примере эта информация отображается с помощью hPRACHInfoDisplay функция помощника. Функция отображает информацию, относящуюся к количеству выборок, соответствующих CP, периоду активной последовательности PRACH и 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.
В этом примере используются следующие вспомогательные функции:
3GPP ТС 38.211. "НР; Физические каналы и модуляция. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.
3GPP TS 38.331. "НР; управление радиоресурсами (RRC); Спецификация протокола. "Проект партнерства третьего поколения; Техническая спецификация на сеть радиодоступа группы.