主要内容

5G NR PRACH配置

本示例演示如何配置TS 38.211章节5.3.2和6.3.3中定义的5G新无线电(NR)物理随机接入信道(PRACH) [1].您可以了解PRACH时间资源、它们与PRACH序言的关系,以及如何在不需要查找配置表的情况下生成PRACH序言。这个示例还展示了如何将PRACH符号映射到资源网格,以及如何为单个PRACH序言生成时域波形。

配置Carrier和PRACH

万博1manbetx支持子载波间距组合

表6.3.3.2-1列出了初始接入时PRACH和PUSCH (physical万博1manbetx uplink shared channel)支持的子载波间距组合。您可以直接从PRACH配置对象访问该表。

disp (nrPRACHConfig.Tables万博1manbetx.SupportedSCSCombinations)
上帝抵抗军PRACHSubcarrierSpacing PUSCHSubcarrierSpacing NRBAllocation千巴  ____ ______________________ ______________________ _____________ ____ 839 1.25 15 6 7 839 1.25 30 3 839 1.25 60 133 839 5 839年15日24日12 5 30 60 12 839 5 6 7 139 15 15 12 2 139 15 30 6 139 139 15 60 3 2 30 15 24 139 139 30 30 12 2 30 60 60 6 2 139 60 60 12 2 139 120 6 2139 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对象。

载体= nrCarrierConfig;母舰。年代ubcarrierSpacing = 15;%子载波间距,kHz (15,30,60,120)

因为PRACH前导是相对于载波进行调制的,改变载波副载波间距会导致不同的PRACH波形。要查看不同的载波如何影响产生的波形,请检查与PRACH OFDM调制相关的信息输出为几个载波在单PRACH序言的波形生成节,。

开环结构

可以通过设置属性值来配置PRACH参数nrPRACHConfig对象。根据TS 38.211,不是所有的PRACH参数组合都是有效的。有关属性如何nrPRACHConfig反映这些限制,看nrPRACHConfig

开环= nrPRACHConfig;开环。FrequencyRange =“FR1”%频率范围('FR1', 'FR2')开环。DuplexMode =“FDD”%双工模式('FDD', 'TDD', 'SUL')开环。ConfigurationIndex = 27;配置索引(0…255)。下一节将自动更新此值。开环。年代ubcarrierSpacing = 15;%子载波间距在kHz (1.25, 5, 15, 30, 60, 120)开环。年代equenceIndex = 0;逻辑根序列索引(0…837)开环。PreambleIndex = 0;%单元格内的标量序言索引(0…63)开环。RestrictedSet =“UnrestrictedSet”%限制集类型('UnrestrictedSet',' restricted settypea ',' restricted settypeb ')开环。ZeroCorrelationZone = 0;%循环移位配置索引(0…15)开环。RBOffset = 0;%初始上行带宽部分(BWP)相对于运营商资源网格的启动资源块索引(0…274)开环。FrequencyStart = 0;%初始上行BWP的物理资源块0在频域中最低PRACH传输次数的频偏(0…274)开环。FrequencyIndex = 0;PRACH在频域传播场合的%指数(0…7)开环。TimeIndex = 0;PRACH传输场合在时域的指数(0…6)%对于格式B2和B3,该值在下一节中会自动更新。开环。一个ctivePRACHSlot = 0;% Active PRACH slot number within a subframe or a 60khz slot (0,1)开环。NPRACHSlot = 0;% PRACH槽位号

的值也可以修改prach.LRA使用在3GPP规范的第16版中引入的PRACH序言序列长度的值。

ConfigurationIndexTimeIndex属性取决于PRACH格式。的SubcarrierSpacingActivePRACHSlot,NPRACHSlot属性决定PRACH序言是否为活动的。下面两节将讨论如何设置这些属性。

如何设置ConfigurationIndex基于首选格式

TS 38.211中的表6.3.3.2-2至6.3.3.2-4定义了时域内所有可能的PRACH配置。频率范围和双工模式的组合指定使用哪个配置表。有效的组合是:

  • FR1和FDD (paired spectrum):表6.3.3.2-2

  • FR1和SUL(补充上行链路):表6.3.3.2-2

  • FR1和TDD (unpaired spectrum):表6.3.3.2-3

  • FR2和TDD(未配对光谱):表6.3.3.2-4

有关成对和非成对频谱如何与双工模式相关的更多信息,请参阅字段FDD-OrSULRRC信息元素FrequencyInfoULTS 38.331第6.3.2节。

属性可以访问这些配置表财产nrPRACHConfig对象。例如:

nrPRACHConfig.Tables.ConfigurationsFR1PairedSUL表6.3.3.2-2nrPRACHConfig.Tables.ConfigurationsFR1Unpaired表6.3.3.2-3nrPRACHConfig.Tables.ConfigurationsFR2表6.3.3.2-4

TS 38.211定义了13种PRACH格式,并将它们分类为长序言或短序言。长序言有一个长度序列 l R 一个 8 3. 9 ,而短序言则有一定的长度 l R 一个 1 3. 9 .与长序言相关的格式是: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基于首选格式。该值对应于您可以传输首选序言格式的最大时间资源范围。

格式=“B2”%PRACH前导码格式('0','1','2','3','A1','A2','A3','B1','B2','B3','B4','C0','C2'))

选择配置表频响DuplexMode

如果strcmpi(开环。频响,“FR1”如果strcmpi(开环。DuplexMode,“TDD”表6.3.3.2-3configTable = nrPRACHConfig.Tables.ConfigurationsFR1Unpaired;其他的表6.3.3.2-2configTable = nrPRACHConfig.Tables.ConfigurationsFR1PairedSUL;结束其他的表6.3.3.2-4configTable = nrPRACHConfig.Tables.ConfigurationsFR2;结束

在表6.3.3.2中相同短序言格式对应的所有配置中,倒数第二个配置用于传输PRACH序言的时间资源最多。在所有其他情况下,包括表6.3.3.2中的混合格式,最后一个配置用于传输PRACH序言的时间资源数量最大。属性的值ConfigurationIndex属性。如果选择格式B2或B3,此示例将设置TimeIndex

如果strcmpi(开环。频响,“FR1”)&strcmpi(prach.DuplexMode,“FDD”) & &...任何(strcmpi(格式,{“A1”“A2”“A3”“B1”“B4”‘C0’C2的}))开环。ConfigurationIndex = find(strcmpi(configTable.PreambleFormat,format),1,“最后一次”) - 2;其他的如果~任何(strcmpi(格式,{“B2”“单位”}))开环。ConfigurationIndex = find(strcmpi(configTable.PreambleFormat,format),1,“最后一次”) - 1;其他的格式B2和B3只出现在混合格式,所以选择%适当的混合格式,并设置TimeIndex的最大值开环。ConfigurationIndex = find(endsWith(configTable.PreambleFormat,format),1,“最后一次”) - 1;开环。TimeIndex = prach.NumTimeOccasions - 1;结束结束

如何选择SubcarrierSpacingActivePRACHSlot,NPRACHSlot生成主动PRACH序言

TS 38.211中的表6.3.3.2-2到6.3.3.2-4描述了哪个PRACH槽对应一个活动的PRACH序言。这些表的第三和第四列表示对应于一个活动PRACH序言的系统框架编号。根据选择的频率范围,FR1或FR2,第五列分别表示15khz或60khz子载波间距的槽号,对应一个有源PRACH序言。如果PRACH序言在当前时间资源中不活跃,则不会发生时间传输。

例如,如果PRACH子载波间距设置为15khz,则所选PRACH配置在任何系统帧和子帧中都是激活的,如表6.3.3.2所示。

disp (configTable (prach.ConfigurationIndex + 1,:))
ConfigurationIndex PreambleFormat x y SubframeNumber StartingSymbol PRACHSlotsPerSubframe NumTimeOccasions PRACHDuration  __________________ ______________ _ _____ _______________________ ______________ _____________________ ________________ _____________ 146 {A2和B2的}{[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序言可能是活动的,如果更改格式NPRACHSlotActivePRACHSlot属性与本例中显示的不同。

案例1:典型的PRACH子载波间距配置

用典型的子载波间距配置为所选格式设置PRACH序言。本例考虑15khz子载波间距,这是FR1中短序言的典型值。如果更改子载波间距或格式的值,则可能需要更改ActivePRACHSlotNPRACHSlot以获得一个活动的PRACH插槽。

%存储用户定义的配置subcarrierSpacing = prach.SubcarrierSpacing;activePRACHSlot = prach.ActivePRACHSlot;nPRACHSlot = prach.NPRACHSlot;%设置SubcarrierSpacing、ActivePRACHSlot和NPRACHSlot的值%的情况如果任何(strcmpi(格式,{' 0 '' 1 '' 2 '}))开环。年代ubcarrierSpacing = 1.25;elseifstrcmpi(格式,“3”)开环。年代ubcarrierSpacing = 5;其他的%简短的前言如果strcmpi(开环。频响,“FR1”)开环。年代ubcarrierSpacing = 15;%有效值为(15,30)其他的% FR2开环。年代ubcarrierSpacing = 60;%有效值为(60,120)结束结束prach.ActivePRACHSlot=0;prach.nprachlot=0;

根据TS 38.211中的表6.3.3.2,UE可以在任何槽中传输PRACH。

prachSymbols = nrPRACH(载体、开环);积极= ~ isempty (prachSymbols);disp (['活动:'num2str(积极)))
活动:1

案例2:替代PRACH子载波间距配置

PRACH子载波间距设置为30khz, carrier子载波间距设置为默认值15khz。这意味着每个载波槽包含两个PRACH槽。这种情况下不考虑PRACH长序言和频率范围FR2,因为它们不兼容30 kHz的子载波间距。

在30 kHz PRACH子载波间距的情况下,在15 kHz子载波间距的两个PRACH槽中只有一个是活跃的。根据TS 38.211中的表6.3.3.2,对于PRACH序言格式B2,可以激活第一个或第二个PRACH槽。的价值开环。一个ctivePRACHSlot属性定义当前载波子帧中哪个PRACH槽是活动的。这个属性是 n 年代 l o t R 一个 参数定义在TS 38.211第5.3.2节。

本案例展示了四种组合NPRACHSlotActivePRACHSlot属性值并测试PRACH序言是否为活动的。本案例显示了两种组合的PRACH前导的时域结构图。从图中可以看出,当时,有源PRACH前半部分占据载波槽的前半部分ActivePRACHSlot0时,占用载波槽位的后半部分ActivePRACHSlot1.有关此图的详细信息,请参见绘制选定PRACH序言的时域结构部分。

如果~任何(strcmpi(格式,{' 0 '' 1 '' 2 '“3”}))&strcmpi(实际频率范围,“FR1”%短序言格式和FR1仅%设置子载波间距为30 kHz开环。年代ubcarrierSpacing = 30;%定义所有NPRACHSlot和ActivePRACHSlot的组合来检查nPRACHSlotCase2 = [0, 1, 2];activePRACHSlotCase2 =[0,1]; / /激活prachslotcase2[NPRACHSlotCase2, ActivePRACHSlotCase2] = meshgrid(NPRACHSlotCase2, ActivePRACHSlotCase2);prachActivityTable =表(NPRACHSlotCase2 (:), ActivePRACHSlotCase2(:),假*的(元素个数(NPRACHSlotCase2), 1),...“VariableNames”,{“NPRACHSlot”“ActivePRACHSlot”“活跃”});%循环所有组合i = 1:numel(NPRACHSlotCase2) prach. log (NPRACHSlotCase2);NPRACHSlot = NPRACHSlotCase2(我);开环。一个ctivePRACHSlot = ActivePRACHSlotCase2(i); prachSymbols = nrPRACH(carrier,prach); active = ~isempty(prachSymbols);%检查当前槽位的PRACH序言是否激活prachActivityTable.active (i) =活跃;如果活跃的& &开环。NPRACHSlot < 2绘制PRACH序言的时域结构%在前两个槽中激活PRACH序言hPRACHPreamblePlot(载体,开环);结束结束其他的%显示过滤后的用例的消息如果任何(strcmpi(格式,{' 0 '' 1 '' 2 '“3”})) disp (['PRACH长序言格式'总体安排“不兼容30千赫副载波间隔。”])其他的% FR2disp (“频率范围FR2不兼容30 kHz的副载波间隔。”结束结束

图当前PRACH前导的时域结构包含一个轴对象。标题为“One 15khz Carrier Slot (NPRACHSlot =[0,1])内PRACH Preamble Format A2/B2 time domain Structure of PRACH Preamble Format A2/B2 in One 15khz Carrier Slot (NPRACHSlot =[0,1])”的轴对象包含36个patch类型的对象。这些对象表示循环前缀、序列、循环前缀-电流、序列-电流、保护周期-电流。

图当前PRACH前导的时域结构包含一个轴对象。标题为“One 15khz Carrier Slot (NPRACHSlot =[0,1])内PRACH Preamble Format A2/B2 time domain Structure of PRACH Preamble Format A2/B2 in One 15khz Carrier Slot (NPRACHSlot =[0,1])”的轴对象包含36个patch类型的对象。这些对象表示循环前缀、序列、循环前缀-电流、序列-电流、保护周期-电流。

对于具有30 kHz子载波间距的短序言格式,该表显示了PRACH序言对于每个选择的值的组合是否有效NPRACHSlotActivePRACHSlot属性。

如果~任何(strcmpi(格式,{' 0 '' 1 '' 2 '“3”}))&strcmpi(实际频率范围,“FR1”%短序言格式和FR1仅disp (prachActivityTable)结束
NPRACHSlot ActivePRACHSlot活跃  __________ _______________ ______ 0 0 1 0 1 0 1 0 0 1 1 1 2 0 1 2 1 0

将PRACH配置对象设置回用户定义的配置

开环。年代ubcarrierSpacing = subcarrierSpacing; prach.ActivePRACHSlot = activePRACHSlot; prach.NPRACHSlot = nPRACHSlot;

检查开环配置

PRACH配置对象也有只读属性,提供关于当前配置的附加信息:

  • 序言格式:格式

  • Zadoff-Chu序言序列的长度:上帝抵抗军

  • 允许的最大PRACH次数:NumTimeOccasions

  • PRACH时隙网格中与一个传输场合对应的OFDM符号的数量:PRACHDuration

  • 当前PRACH场合的第一个OFDM符号位置:SymbolLocation

disp(开环)
nrPRACHConfig属性:FrequencyRange:“FR1”DuplexMode:“FDD”ConfigurationIndex: 146 SubcarrierSpacing: 15上帝抵抗军:139 SequenceIndex: 0 PreambleIndex: 0 RestrictedSet:“UnrestrictedSet”ZeroCorrelationZone: 0 RBOffset: 0 FrequencyStart: 0 FrequencyIndex: 0 TimeIndex: 2 ActivePRACHSlot: 0 NPRACHSlot: 0只读属性:格式:'B2' NumTimeOccasions: 3 PRACHDuration: 4 SymbolLocation: 8 SubframesPerPRACHSlot: 1 PRACHSlotsPerPeriod: 10 Constant properties: Tables: [1x1 struct]

绘制选定PRACH序言的时域结构

此图以浅色显示了所有可能的PRACH场合(在当前载波槽中)和当前PRACH场合(对应于所选TimeIndex)。图中红色、蓝色和绿色分别表示循环前缀(CP)、PRACH活动序列周期和最终保护周期(GP)。如果PRACH序言在当前槽位不活跃,则plot为空。该图显示了所选PRACH配置和PRACH在载波槽中的位置的时间相关属性。如果PRACH子载波间距小于载波子载波间距,图中显示了传输PRACH序言所需的最小载波槽数。最后一个PRACH时机并不总是对应于载波槽的结束。对于当前PRACH配置不允许PRACH传输的时间值,图为空。

hPRACHPreamblePlot(载体,开环);

图当前PRACH前导的时域结构包含一个轴对象。标题为“One 15khz Carrier Slot (NPRACHSlot = 0)内PRACH Preamble Format A2/B2 time domain Structure of PRACH Preamble Format A2/B2 in One 15khz Carrier Slot (NPRACHSlot = 0)”的轴对象包含36个patch类型的对象。这些对象表示循环前缀、序列、循环前缀-电流、序列-电流、保护周期-电流。

生成PRACH符号并映射到资源网格

PRACH资源网格在时域和频域上都显示了PRACH前导的位置。使用此资源网格,您可以:

  • 在时域和频域上对PRACH前导进行视觉检查

  • 产生PRACH波形,该波形是通过调制资源网格得到的

PRACH资源网格生成由以下步骤组成:

  1. 生成一个空网格

  2. 在PRACH波形中生成要传输的符号

  3. 生成PRACH符号所在的频率索引和时间索引

  4. 将PRACH符号映射到PRACH资源网格

生成一个空的PRACH资源网格。

prachGrid=nrPRACHGrid(承运人,prach);尺寸(prachGrid)
ans =1×2624年14

生成PRACH符号。符号的数量取决于PRACH配置。的prachSymbols如果PRACH前导在当前插槽中未激活,则输出为空。

prachSymbols = nrPRACH(载体、开环);

生成PRACH索引。的每个元素中的值实践的每个元素位置的线性索引是prachSymbols在PRACH资源网格中。

prachIndices = nrPRACHIndices(载体、开环);

使用索引将PRACH符号映射到PRACH资源网格。代表 β P R 一个 C H 在TS 38.211章节6.3.3.2中,映射对PRACH符号应用1的比例因子。

prachGrid(prachIndices) = 1 * prachSymbols;

hPRACHResourceGridPlot辅助函数绘制PRACH资源网格以显示活动PRACH的位置。图中显示了PRACH可以被传输的所有时间场合。图中显示了当前载波槽中所有可能的PRACH场合(浅蓝色)和当前PRACH场合(对应于所选TimeIndex)深蓝色的。对于当前配置中未被任何PRACH场合使用的OFDM符号,图中为空。如果PRACH序言在当前槽位不活跃,则plot为空。

HPR网格图(载体,prach);

图PRACH资源网格包含一个轴对象。标题为PRACH Resource Grid (Size[624 14])的axis对象包含一个类型为image的对象。

PRACH资源网格包含14个OFDM符号,除了以下情况:

  • 对于长前导格式0,每个前导有一个跨越一个子帧的活动序列周期。因此,与格式0相关的槽网格有一个OFDM符号。

  • 对于长前导格式1,每个前导有两个跨越两个子帧的活动序列周期。因此,与格式1相关的槽网格有两个OFDM符号。

  • 对于长序言格式2,每个序言有四个活动序列周期,跨越四个子帧。因此,与格式2相关的槽网格有四个OFDM符号。

  • 对于长序言格式3,每个序言有四个活动序列周期,跨越一个子帧。因此,与格式3相关的槽网格有四个OFDM符号。

  • 对于短前导码格式C0,每个前导码具有一个活动序列周期。然而,由于保护和循环前缀,前导码跨越两个OFDM符号。因此,与格式C0相关的时隙网格具有七个OFDM符号。

的值可以检索活动序列周期的数量PRACHDurationPRACH配置对象的。

单PRACH序言的波形生成

通过调制PRACH资源网格产生单个PRACH前导的时域波形。若要设置OFDM符号加窗和重叠的时域样本数目,请使用窗口.这个例子使用默认的窗口值。有关窗口的详细信息,请参见nrPRACHOFDMModulate

窗口= [];[prachWaveform, prachInfo] = nrPRACHOFDMModulate (prachGrid载体,开环,“窗口”,开窗);

输出prachWaveform为时域波形对应的列向量。输出prachInfo是提供与PRACH相关的维度信息的结构。这个例子通过使用hPRACHInfoDisplayhelper函数。显示与CP、PRACH活性序列周期对应的样本数量相关的信息 T 年代 E ,并以表格格式为每个OFDM符号提供GP。这个表格列出了资源网格中所有的OFDM符号。对于简短的序言格式,用对应于所有可能的PRACH场合,除了当前(在资源网格图中标记为浅蓝色)。对于短序言格式,尖括号内的值表示当前配置中没有任何PRACH场合使用的OFDM符号(对应于资源网格图中的时间空白)。

检查与OFDM符号相关的信息PRACHDurationSymbolLocation,NumTimeOccasions属性。这些特性表明:

  • 每个PRACH场合持续4个OFDM符号

  • 当前的PRACH事件从OFDM符号8开始

  • 3 . PRACH场合是可以及时的

hPRACHInfoDisplay(载体、开环、窗口);
与PRACH相关的信息:子载波间距:15khz子载波数:624 OFDM调制:Nfft: 1024开窗:72偏移:0样本TCP TSEQ GP象征  ------ ------ ------ ----- 0 * 296 * 1024 * 0 0 * 1024 * 1 * * * 2 * 0 * 1024 * 0 0 * 1024 * 3 * * * 4 * 296 * 1024 * 0 0 * 1024 * 5 * * * 6 * 0 * 1024 * 0 * 7 * 0 0 8 * 180 * 1024 * 1024 0 9 0 0 1024 108 1024 0 10 0 1024 0 11 12 > < < 0 > < 1024 > < 0 > < 13 > < 0 > < 1024 > < 0 > *: OFDM符号未使用开环时间场合< # >:当前配置中未被任何PRACH时间场合使用的OFDM符号总采样:15360采样率:15.360 MHz持续时间:1.000 ms子帧总数:1

总结与进一步探索

这个示例演示了如何配置PRACH,根据所选格式设置配置索引,以及确定当前时间资源中的PRACH序言是否处于活动状态。这个例子指导您通过PRACH资源网格和时域波形生成。绘制PRACH序言的时域结构,显示在一个子帧内所选配置的所有可用PRACH场合。绘制资源网格将在时域和频域显示所选配置的所有可用PRACH场合。

这个例子展示了如何为一个PRACH序言生成一个波形。为多个PRACH序言生成波形的示例,请参见5G NR PRACH波形生成

附录

下面的例子使用了这些辅助函数:

选定的参考书目

  1. 3 gpp TS 38.211。“NR;物理通道和调制。”第三代合作伙伴项目;技术规范无线电接入网

  2. 3 gpp TS 38.331。“NR;无线电资源管制(RRC);协议规范。”第三代合作伙伴项目;技术规范无线电接入网

另请参阅

功能

对象

相关的话题