5G NR的小区搜索网优学习笔记_第1页
5G NR的小区搜索网优学习笔记_第2页
5G NR的小区搜索网优学习笔记_第3页
5G NR的小区搜索网优学习笔记_第4页
5G NR的小区搜索网优学习笔记_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

NR的小区搜索(一)这个系列介绍NR的小区搜索。从无线接入角度看,UE开机后第一件事(暂且忽略NAS层的PLMN选择),就是小区搜索。UE先进行下行同步,再在基站“不知情”的情况下,获得小区的基本信息,包括MIB(MasterInformationBlock)和RMSI(RemainingMinimumSystemInformation)等。这一篇的目标是MIB。

文章还参考了3GPP文档(TS38.104、TS38.211、TS38.213、TS38.331),人民邮电出版社的《5G空口特性与关键技术》,以及ShareTechNote的《5G/NR-Type0PDCCHCommonSearchSpace》。由于本人的理论水平有限,也没有无线专业的工作经历,文章难免存在错漏,欢迎各位专家批评和指正。

先说下行同步。

在LTE中,PSS(PrimarySynchronizationSignal,主同步信号)、SSS(SecondarySynchronizationSignal,辅同步信号)和PBCH(PhysicalBroadcastChannel,物理广播信道)在时域上是分散的,但在频域上固定放置在载波的正中间(C位),UE选择LTE频带(Band)后,按照ARFCN(AbsoluteRadioFrequencyChannelNumber)搜索对应的信道栅格(ChannelRaster),就可以找到同步信号。

在NR中,PSS、SSS和PBCH被捆绑在一起,形成固定的图样,称为SS/PBCHBlock或SSB(SynchronizationSignalBlock)。不过,这并没有降低SSB搜索的复杂性。特别是在频域,SSB的位置不再固定,SSB既可能在中间,也可能在两边。更进一步的,基站可能配置额外的SSB,用于辅助UE测量。UE必须找到关联CORESET0(ControlResourceSet0)的CDSSB(CellDefinedSSB),才能获得RMSI。另一方面,相对LTE,NR的频率范围大幅增加,NRARFCN也多了许多,特别是在高频区域。UE如果按照信道栅格搜索SSB,会消耗大量能源和时间,就算电池可以支撑,用户也无法接受。为了让UE可以快速搜索SSB,NR引入了同步栅格(SynchronizationRaster)和同步信道。显然,同步栅格的间隔应远大于信道栅格,以减少同步信道的数量。比如说,在3000MHz~24250MHz之间,同步栅格的间隔为1.44MHz,这比LTE的100kHz要大很多。同步信道通过GSCN(GlobalSynchronizationChannelNumber)识别。在NSA(EN-DC)场景中,eNB会通过LTE的RRCConnectionReconfiguration将NR小区的信息告诉UE,包括频率、SCS、PointA等;在SA场景中,UE就只能按照GSCN搜索SSB了(自力更生)。下图为FR1各个频带的GSCN范围。按照SSB的SCS,协议将SSB分为两类:TypeA和TypeB。TypeASSB用于FR1,对应μ为0(15kHz)或1(30kHz);TypeBSSB用于FR2,对应μ为3(120kHz)或4(240kHz)。60kHz不会作为SSBSCS使用。大部分频带只支持一种SSBSCS,UE确定了频带,就同时确定SSBSCS。不过,也有部分频带(n5、n41、n66、n90)支持两种SSBSCS(15kHz和30kHz),UE需要用两种SCS分别进行盲检,以确定小区的SSBSCS(具体实现取决于终端)。看一下SSB具体长啥样。在时域上,SSB占用连续的4个符号。PSS占用第1个符号,SSS占用第3个符号,PBCH占用第2、3、4个符号。在频域上,SSB占用连续的20个RB,即240个SC。由下往上,第121个SC(k=120)的中心频率,就是SSB的GSCN对应的SSREF(同步参考频率)。对于PBCH,l=1和l=3占用240个SC,l=2只占用两侧各48个SC。在频域上,PSS和SSS各占用127个SC(k=56~182),对应长度为127的序列。PSS和SSS的上方和下方,各保留9个SC和8个SC作为保护间隔。将PSS和SSS收窄,信号能量更为集中,可提高UE检出的成功率。UE从PSS获知N_(2)_ID,从SSS获知N_(1)_ID,结合起来就是小区ID(PCI,PhysicalCellIdentifier):N_cell_ID=3xN_(1)_ID+N_(2)_ID。由N_(2)_ID取值范围为{0,1,2},N_(1)_ID取值范围为{0,1,…,335},NR共有336x3=1008个N_cell_ID,取值范围为{0,1,…,1007}。

PSS和SSS是“信号”,而不是“信道”。这意味着,PSS(或SSS)是“相对确定”的,基站会生成什么样的序列,UE心里是基本有数的(不管基站如何七十二变,都逃不出UE的五指山)。因此,PSS(或SSS)应视为一个整体,而不是一组符号。PSS(或SSS)携带的“信息”是“检测”出来的,具体实现取决于终端。

先看PSS。PSS占用127个SC,对应长度为127的伪随机序列(BPSKM序列)。这个序列是这样生成的:第一步,将x(6)、x(5)、x(4)、x(3)、x(2)、x(1)、x(0)分别赋为1、1、1、0、1、1、0,通过x(i+7)=(x(i+4)+x(i))mod2递推。简单的说,从第七项开始,每一项(x(i+7))都等于“往前第七项”(x(i))和“往前第三项”(x(i+4))的异或(XOR)结果。举个例子,x(7)=x(4)XORx(0)=1XOR0=1。可见,初始序列是一个确定的序列——UE和基站都知道。第二步,对初始序列进行循环移位(CyclicShifting)处理,由于N_(2)_ID取值范围为{1,3,5},循环移位只有三种取值:0、43和86(接近平分0~126区间)。第三步,对循环移位序列进行BPSK(BinaryPhaseShiftKeying)调制——如果输入为0,输出为+1;如果输入为1,输出为-1。由上可见,输出序列是相对确定的,只有三种可能,且和N_(2)_ID对应。UE成功检出PSS,就获知N_(2)_ID和SSBSCS(频域同步)。再看SSS。SSS也占用127个SC,对应长度为127的伪随机序列。SSS的序列生成复杂一些,两个多项式分别生成两个初始序列,在循环移位时分别加入N_(1)_ID和N_(2)_ID(此时UE已知N_(2)_ID),最后在BPSK调制时合并为一个序列。相似的,SSS输出序列也是相对确定的,“只”有336种可能,且和N_(1)_ID对应。UE成功检出SSS,就获知N_(1)_ID,可和N_(2)_ID构成N_cell_ID。

UE的下一个目标,是解调PBCH。在此之前,UE要先检出PBCH的DM-RS(DemodulationReferenceSignal,解调参考信号)。在频域上,各个DM-RS间隔4个SC,初始偏移由N_cell_ID确定。更具体的,在l=1和l=3处,DM-RS在频域上的位置为k=0+v,4+v,…,236+v;在l=2处,位置为k=0+v,4+v,…,44+v(SSS下方),192+v,196+v,…,236+v(SSS上方)。v=N_cell_IDmod4,示例中v=1。PBCH的DM-RS还有一个作用:识别SSBIndex(SSB索引)。在NR中,SSB支持波束管理(SSB和SSB波束的关联取决于实现),SSB波束就像“照射灯”一般,分片完成小区的覆盖。基站在5ms周期内多次发送SSB,最大发送次数记为L——在FR1中,3GHz以上频段L为8,3GHz以下频段L为4(经过CM努力,在TDD中,2.4GHz以上L也可以为8),在FR2中,L为64。SSBIndex用于区分不同“时刻”的SSB。UE识别SSBINDEX还有很多用处。比如,如果CORESET0和SSB的复用样式为Pattern1,UE需要按照SSBINDEX找到CORESET0的时域位置。另外,在后续的随机接入中,UE需要在和SSBINDEX关联的RACH时机(PRACHOccasion)发送MSG1(RandomAccessPreamble),这样基站可以获知UE接收(性能最佳)的SSB,并选择合适的下行波束发送MSG2(RandomAccessResponse)。

协议定义了5种SSBPattern(SSB分布样式):在FR1中,可用CaseA、CaseB和CaseC,在FR2中,可用CaseD和CaseE。对于特定的SSBPattern,各个SSB占用的时域资源是固定的。以CaseA为例,如果L=8,在5ms周期内,8个SSB分别占用子帧0~3的符号2~5和8~11(也可以这样表达,SSB第一个符号的索引是{2,8}+14n,n为{0,1,2,3}),SSBINDEX分别为0~7。特定的SSBPattern的SSBSCS是确定的,CaseA为15kHz,CaseB和CaseC为30kHz,CaseD为120kHz,CaseE为240kHz。大部分频带只支持一种SSBPattern,UE选择了频带,就同时确定了SSBPattern。前面提到,部分频带支持两种SSBSCS(15kHz或30kHz),UE检出PSS后,也可通过SSBSCS推出SSBPattern。

SSBIndex和SSB在SSBPattern的位置对应,而不是基站实际发送SSB的序号(基站不一定按最大数量发送SSB)。比如说,在CaseA中,在子帧2的l=2~5发送的SSB,SSBINDEX总是4(SSBPattern的第5个SSB)。有意思的是,SSBIndex不以explicit方式给出(就是,不明说),UE通过PBCH的DM-RS,结合PBCH(物理层)额外编码信息获得SSBIndex。在5ms周期内,不同位置的SSB,PBCH携带的MIB相同,但包含的DM-RS(序列)可能不同。PBCH的DM-RS也是“信号”,对应一个相对确定的序列。由图可见,在N_cell_ID确定的情况下,初始序列Cinit和输出序列r(m)只有8种可能,和iSSB(SSBINDEX)对应(由于编辑器限制,这里用下划线替代上划线)。iSSB和iSSB相关。如果L=4,iSSB为2位(bit),在iSSB前加上半帧标识(nhf)就是iSSB;如果L=8,iSSB为3位,正好和iSSB对应;如果L=64,iSSB为6位,低3位和iSSB对应,高3位从PBCH(物理层)额外编码信息(a(A+5)、a(A+6)、a(A+7))获得。

反过来说,UE在确定N_cell_ID后,由N_cell_ID生成8个序列,对DM-RS进行盲检,确定DM-RS对应的iSSB——如果L=4,低2位为iSSB,如果L=8,iSSB即为iSSB,如果L=64,由PBCH(物理层)额外编码信息的3位和iSSB构成iSSB。由此,UE获得了SSBINDEX,结合SSBPattern,获得完整的下行timing。PBCH(物理层)额外编码还有几个作用:1、如果L为4或8,a(A+5)为kssb(SSB和CRB_SSB的偏移SC数量)的最高位(此时a(A+6)和a(A+7)保留);2、a(A+4)为半帧标识(halfframe),指示SSB在前半帧还是后半帧;3、a(A)、a(A+1)、a(A+2)、a(A+3)指示SSB所在帧的SFN(SystemFrameNumber)的低4位。

最后,看一下PBCH的payload——MIB:SystemFrameNumber表示SFN的高6位,和PBCH额外编码的4位(a(A)、a(A+1)、a(A+2)、a(A+3))构成完整的SFN(10位)。CellBarred表示在SA场景中是否允许UE接入(对EN-DC场景接入NR没有影响)。IntraFreqReselection表示是否允许UE同频重选。SubCarrierSpacingCommon表示RMSI(SIB1)、随机接入的MSG2/MSG4、SI-message使用的SCS,又称为RMSISCS。SSBSubcarrierOffset和PDCCHConfigSIB1和CORESET0相关——UE找到CORESET0,才能在PDSCH接收RMSI——DMRSTypeAPosition又和PDSCH默认资源分配有关。这些内容后面再说。NR的小区搜索(二)向RMSI前进之前,再讲一下SSB。SSB就像一块“跳板”,UE先搜索到SSB,在SSB基础上,才能找到CORESET0。上一篇提到,UE检出PSS,就知道SSB的GSCN和同步参考频率SSREF。不过,这是绝对频率,没有和载波结合起来。在NR中,为了描述各种资源的位置,在频域上,每个载波定义了一个参考点:PointA。这里先讲一下SSB和PointA的相对偏移。PointA就像标记为“零”的里程碑。在PointA基础上定义CRB(CommonResourceBlock),不论使用哪个参数集(μ)定义CRB,CRB0的第一个SC的中心频率,都对应PointA的频率。于是,SSB和PointA的相对偏移,可以用SSB和特定SCS的“CRB0”的相对偏移来替代——3GPP就是这么干的。

问题是,SSB是按照GSCN(同步栅格)分布的,而CRB是按照NRARFCN(信道栅格)分布的,并且SSB和CRB的SCS也不一定相同。由此,SSB和“CRB0”的相对偏移,可分为两部分的叠加:一部分为RB粒度偏移,一部分为SC粒度偏移——简单的说,前者实现“RB对齐”(相当于粗调),后者实现“SC对齐”(相当于细调)。同样的,协议需要为SC粒度偏移定义参考SCS(见下文)。

更具体的,我们需要先找到一个参考CRB——这个CRB和SSB部分重合(overlap),且频率最小,这里记为CRB_SSB(协议似乎没有给这个RB命名)。CRB_SSB和SSB之间的偏移不超过1个RB,且N_SSB_CRB和“CRB0”之间的偏移总是整数RB。这样,CRB_SSB和“CRB0”之间的偏移,就分为RB粒度偏移和SC粒度偏移两部分。

这里有个大坑!

CRB_SSB的SCS和“CRB0”的SCS是相互独立的,请注意字体颜色——CRB_SSB的SCS不是固定的,由MIB的SubCarrierSpacingCommon确定(即RMSISCS):在FR1中,取值0表示15kHz,取值1表示30kHz;在FR2中,取值0表示60kHz,取值1表示120kHz。“CRB0”的SCS是固定的:在FR1中,为15kHz;在FR2中,为60kHz。

CRB_SSB和“CRB0”之间的RB粒度偏移,单位是“CRB0”对应的RB(12个SC),数量记为N_SSB_CRB——UE由FrequencyInfoDL的offsetToPointA获知。不过,这是UE后来才知道的。在SA场景的初始接入中,UE只能先搜索SSB,再从SSB反推PointA的位置(在EN-DC(NSA场景)中,MN直接把PointA的NRARFCN转告UE)。可见,在初始接入中PointA不重要,但CRB_SSB(参考CRB)很重要,这是找到CORESET0的下一个跳板。此时,UE既不知道PointA,也不知道offsetToPointA,只能从SSB推算CRB_SSB的位置。SSB和CRB_SSB之间的SC粒度偏移,数量记为kssb(或KSSB),单位(参考SCS)是这么定义的:在FR1中,SCS固定为15kHz;在FR2中,SCS由MIB的subCarrierSpacingCommon确定——取值0表示60kHz,取值1表示120kHz。由于FR1和FR2的单位(参考SCS)定义不同,kssb的取值范围也不同。

如图所示,在CRB_SSB频率最小的SC和SSB(注意,示图中SSB没有完整呈现)频率最小的SC对齐时,kssb=0。接着,将CRB_SSB逐步往下移动,每次移动幅度为参考SCS(绿色小格子,注意,不是指SSB的SCS),一直到CRB_SSB和SSB重叠部分只有1个SCS,可移动次数就是kssb的最大值。由此可见,kssb的取值范围,主要取决于CRB_SSB的频域长度(分子)和参考SCS(分母)。SSB的SCS影响kssb=0的位置,对kssb最大值的影响,幅度大概是1(比如说,22还是23,没时间仔细琢磨)。在FR2中,CRB_SSB的SCS和参考SCS都由subCarrierSpacingCommon确定,取值相同,因而kssb取值范围为0~11(示图右侧)。在FR1中,参考SCS固定为15kHz,CRB_SSB的SCS由subCarrierSpacingCommon确定,可为15kHz或30kHz,因而kssb取值范围为0~11(CRB_SSB的SCS为15kHz,示图右侧)或0~23(CRB_SSB的SCS为30kHz,示图左侧)——取较大值,即0~23。

FR2的kssb只需要用4位表示,UE可从MIB的ssbsubcarrieroffset获得。FR1的kssb需要多用1位,低4位同样从MIB的ssbsubcarrieroffset获得,最高位则从PBCH物理层额外编码(a(A+5))获得。有趣的是,在FR2中,a(A+5)用于表示SSBINDEX(L=64)的高位,而kssb取值范围为0~11,正好用不上a(A+5);在FR1中,a(A+5)用于表示kssb高位,而L最大为8,正好也用不上a(A+5)。PBCH的每一位都很珍贵(广播开销大啊),3GPP把所有价值都“压榨”出来了(一滴也没有了)。

3GPP说:不,我做的还不够。4位可以表示16个值,FR2的kssb只用了12个(0~11),5位可以表示32个值,FR1的kssb只用了24个(0~23),剩下的值完全不用太浪费了——同志们,这是犯罪啊!为此,3GPP将kssb又分为两部分:正常kssb(在FR1中,kssb为0~23;在FR2中,kssb为0~11)和异常kssb(好吧,协议没有这么称呼)。那么,异常kssb有什么作用呢?

这要从RMSI说起。

在LTE中,UE需要获取小区的MIB、SIB1和SIB2,才可以接入小区。在NR中,协议将MIB以外“必备”的SIB称为RMSI——RemainingMinimumSystemInformation(意思是,不能更少了)。在R15中,RMSI等同于SIB1。和LTE相似,NR的SIB1通过PDSCH发送,而PDSCH又需要PDCCH的DCI调度。因此,UE应从MIB中获得调度RMSI的PDCCH信息,随后,UE(使用SI-RNTI)在PDCCH进行盲检,根据调度(DCI1_0)从PDSCH获得RMSI。和LTE相似,NR的PDCCH也包括公共搜索空间(CommonSearchSpace)和UE专用搜索空间(DedicatedSearchSpace)。显然,RMSI大家都要用(又不是你家的),UE应使用公共搜索空间,Type0CSS就是专门用于RMSI调度的公共搜索空间。

和LTE不同的是,NR引入了CORESET(ControlResourceSet)概念。CORESET是PDCCH所在物理资源的集合。一个小区可以有多个CORESET,以CORESETID区分。CORESET0就是Type0CSS对应物理资源的集合。UE搜索SSB,读取MIB后,下一个目标就是找到CORESET0,而CORESET0的信息就在MIB里面。

然而...

CORESET0的位置并不以explicit方式给出,UE需要在SSB基础上进行推算,具体过程下一篇再讲。这里只要知道,和COREST0(RMSI)关联的SSB,称为CellDefiningSSB(小区定义SSB)。除此以外,在频域的不同位置上,小区还可能定义多个测量SSB——这些SSB不和CORESET0关联,又或者说,不存在Type0CSS。测量SSB,对连接态的UE来说,是“锦上添花”,但对(初始接入的)空闲态的UE来说,就是“画蛇添足”了。在初始接入中,UE可谓“一心一意”,只想快点找到CellDefiningSSB,从而获得MIB和RMSI,但又难免会碰上几个测量SSB,怎样才能快速跳过,少走点弯路呢?这时异常kssb就起作用了(终于绕回来了)。

在FR1中,如果kssb>23,或在FR2中,如果kssb>11,都属于异常kssb,都表示SSB不存在Type0CSS。不过,异常kssb的作用不仅于此,为了让UE快点找到CellDefiningSSB,异常kssb还可以作为索引,结合RMSIPDCCHConfig(MIB的PDCCHConfigSIB1),(间接的)指示下一个SSB的GSCN。举个例子。在FR1中,如果kssb=26(>23),RMSI-PDCCH-Config=255,则N_offset_GSCN=768,对应FR1表格中第三行的最后一项;在FR2中,如果kssb=13(>11),RMSI-PDCCH-Config=0,则N_offset_GSCN=-1,对应FR2表格中第二行的第一项。UE获得N_offset_GSCN后,即可结合当前SSB的GSCN推算下一个SSB的GSCN(不用按照同步信道的间隔依次搜索)——N_Reference_GSCN(当前SSB的GSCN)+N_offset_GSCN(下一个SSB相对于当前SSB的GSCN偏移)。示例中,kssb=25,RMSI-PDCCH-Config=255,N_offset_GSCN=512。除了kssb=30(FR1)和kssb=14(FR2)保留,还有两条“漏网之鱼”:kssb=31(FR1)和kssb=15(FR2)。在这种取值时,表示在当前SSB的“方圆几里”内,都没有CellDefiningSSB(UE就别白费劲啦)——更具体的,这个范围为[N_Reference_GSCN–N_start_GSCN,N_Reference_GSCN+N_end_GSCN]。N_start_GSCN对应PDCCHConfigSIB1的高四位,而N_end_GSCN对应PDCCHConfigSIB1的低四位。NR的小区搜索(三)这一篇的目标是CORESET0。前面提到,UE要获得在PDSCH发送的RMSI,先得找到调度PDSCH的CORESET0(Type0CSS对应的PDCCH物理资源)。UE搜索SSB,读取MIB后,就可以在SSB基础上,通过CORESET0和SSB的相对关系找到CORESET0。下面来看具体的实现过程。SSB和CORESET0各对应一块时频资源。根据SSB和CORESET0的分布,SSB和CORESET0的复用样式(MultiplexingPattern)分为三种——Pattern1为时分复用(此时CORESET0的频域长度总大于SSB,频域范围包含SSB),Pattern2和Pattern3为频分复用(CORESET0在SSB同一系统帧)。Pattern2和Pattern3的差异在于,在时域上,Pattern2的CORESET0比SSB位置靠前,但离的不远(CORESET0在SSB同一时隙,或前一时隙)。由上可见,无论是时域还是频域,只要知道CORESET0和SSB之间的关系,就可以SSB为跳板,找到CORESET占用的时频资源。CORESET0和SSB之间的关系,就包含在MIB里面,包括subCarrierSpacingCommon(RMSISCS)、ssbSubcarrierOffset(kssb的低四位)和PDCCHConfigSIB1——最后一个最为关键。PDCCHConfigSIB1由8位组成,将高4位和低4位拆开,可获得两个索引(Index),取值范围均为0~15。使用高4位索引(蓝色部分)查询3GPPTS38.213表格13-1到13-10,可获得CORESET0的复用样式、符号数量(时域长度)、RB数量(频域长度)和RB偏移(频域偏移),使用低4位索引(橙色部分)查询3GPPTS38.213表格13-11到13-15,可获得CORESET0的SFN、时隙索引和起始符号等。可见,高4位索引对应CORESET0的属性和频域信息,暂且称为“频域索引”,低4位索引对应时域信息,暂且称为“时域索引”。

先看“频域索引”。

将3GPPTS38.213表格13-1到13-10进行汇总,可对CORESET0的属性有大致了解:1、FR1只有Pattern1(TDM),FR2才有Pattern2或Pattern3。2、CORESET0的频域长度(N_CORESET_RB)可为24、48或96RB(RMSISCS),在大多数情况下大于SSB;3、CORESET0的时域长度(N_CORESET_symbol)为1到3个符号。这么多表格,UE如何选择呢?依据是中间的两列:SSB/RMSISCS和MinimumChannelBandwidth(最小信道带宽)。UE检出PSS后,可获知SSBSCS(部分频带只支持一种SSBSCS,UE可以未卜先知),读取MIB后,可获知RMSISCS(SubCarrierSpacingCommon),再结合最小信道带宽,就可以找到对应表格。举个例子,如果SSBSCS为15kHz,RMSISCS为30kHz,最小信道带宽为40MHz,那么UE应该查询表格13-6。在频域上,从SSB找CORESET0,方法和找PointA相似,上一篇的CRBSSB和kssb在这里意义是相同的,只要将offsetToPointA替换为表格(13-1到13-10)中最后一列的offset就可以了。offset的单位为RB(RMSISCS)。注意offset的方向(指向低频),如果offset为正数,CORESET0起始位置低于SSB,如果offset为负数,CORESET0起始位置高于SSB。

先看Pattern1。示例SSBSCS为30kHz,RMSISCS为15kHz,最小信道带宽为5或10MHz,对应表格13-3。以index=0和index=1为例,CORESET0频域长度(N_CORESET_RB)为48(RB),时域长度(N_CORESET_symbol)为1(symbol),频域偏移(Offset)为2和6(RB)。可见,如果Offset为正数,CORESET0起始位置低于SSB。CORESET0起始位置,就是SSB起始位置上减去Offset,如果index=0,减去2RB,如果index=1,减去6RB。注意,示图中假设kssb=0,如果kssb>0,先减去kssbxSCS(在FR1中,SCS为15kHz,在FR2中,SCS为RMSISCS)。Pattern1的频域比较简单,CORESET0和SSB是时分复用关系,CORESET0的频域范围总包含SSB。

再看Pattern2。示例SSBSCS为240kHz,RMSISCS为120kHz,对应表格13-10。以index=6和index=7为例,CORESET0频域长度为48,时域长度为1。如果index=7,频域偏移为49,SSB起始位置减去kssbxSCS,再减去49RB,就是CORESET0起始位置。49RB正好是CORESET0频域长度(48)加1,确保CORESET0和SSB不会overlap——由于SSBSCS和RMSISCS不同,为了不影响(OFDM)子载波的正交性,加一个RB作为保护间隔(GAP)。如果index=6,频域偏移为-41或-42。负数意味着反方向偏移,SSB起始位置减去kssbxSCS,再加上频域偏移(绝对值),就是CORESET0起始位置。如果kssb=0,频域偏移为-41,正好是SSB频域长度(SSBSCS为RMSISCS两倍,20RB折算为40RB)加1,刚好越过SSB和GAP。如果kssb>0,频域偏移为-42,因为减去kssbxSCS后,参考位置向下移动了一点,频域偏移多了(负)1RB。Pattern2的频域复杂一点,CORESET0和SSB是频分复用关系,在频域上不能存在overlap,CORESET0起始位置需要考虑SSB的频域长度(Pattern1也需要考虑,但影响的是频域偏移的上限)。最后看Pattern3。示例SSBSCS为120kHz,RMSISCS为120kHz(只有这个组合可以用Pattern3),对应表格13-8。以index=6和index=7为例,CORESET0频域长度为48,时域长度为2。和Pattern2示例相比,这里SSBSCS和RMSISCS相同,CORESET0和SSB之间不需要额外的间隔,频域偏移小1RB。如果index=7,频域偏移为48。如果index=6,频域偏移为-20(kssb=0)或-21(kssb>0)。

再看“时域索引”。

UE通过“时域索引”查询表格(13-11到13-15),可获得CORESET0的时域信息。由上可见,TDM样式(Pattern1)的频域相对简单,FDM样式(Pattern2和Pattern3)的频域就相对复杂;反过来,FDM样式的时域相对简单,TDM样式的时域就相对复杂。这就是“复杂度平衡原理”——上帝还是公平的(好吧,这是我编的)。先看相对简单的FDM样式。Pattern2和Pattern3仅适用于FR2,SSBSCS(120kHz或240kHz)和RMSISCS(60kHz或120kHz)的组合不多,表格也只有三张((240kHz+60kHz组合只能用Pattern1):13-13(120kHz+60kHz,Pattern2)、13-14(240kHz+120kHz,Pattern2)、13-15(120kHz+120kHz,Pattern3)。

Pattern2和Pattern3中,CORESET0和SSB是频分复用关系。在时域上,CORESET0和SSB在同一系统帧的同一时隙,或相邻时隙(仅适用于Pattern2),即SFN_c=SF_SSBi,n_c=n_SSBi(同一时隙)或n_c=n_SSBi–1(相邻时隙)。UE确定CORESET0所在系统帧(SFN_c)和时隙(n_c)后,再根据SSBINDEX(i)找到CORESET0的起始符号(FirstSymbolIndex)。

如果SSBSCS为120kHz,RMSISCS为60kHz,UE使用“频域索引”查询表格13-7。如果“频域索引”为8~11,CORESET0时域长度为1,复用样式为Pattern2。UE使用“时域索引”查询表格13-13(此时“时域索引”只能为0,R15只定义了这个值)。由图可见,SFN_c=SF_SSBi,n_c=n_SSBi,CORESET0在对应SSB所在系统帧的同一时隙。SSBSCS为120kHz,SSBPattern为CaseD——在5ms周期内,SSB的起始符号为{4,8,16,20}+28n,n={0,1,2,3,5,6,7,8,10,11,12,13,15,16,17,18},L=64。示图包含2个SSB时隙,对应1个RMSI时隙。对于SSBINDEX为4k、4k+1、4k+2、4k+3的SSB,CORESET0的起始符号分别为{0,1,6,7}——都比SSB靠前(Pattern2的定义)。

如果SSBSCS为240kHz,RMSISCS为120kHz,UE使用“频域索引”查询表格13-10。如果“频域索引”为4~7,CORESET0时域长度为1,复用样式为Pattern2。UE使用“时域索引”查询表格13-14(此时“时域索引”只能为0,R15只定义了这个值)。由图可见,SFN_c=SF_SSBi,n_c=n_SSBi或n_SSBi-1,CORESET0在对应SSB所在系统帧的同一时隙,或前一时隙。SSBSCS为240kHz,SSBPattern为CaseE——在5ms周期内,SSB的起始符号为{8,12,16,20,32,36,40,44}+56n,n={1,2,…,8},L=64。示图包含4个SSB时隙,对应2个RMSI时隙。对于SSBINDEX为8k、8k+1、8k+2、8k+3、8k+4、8k+5、8k+6、8k+7的SSB,CORESET0的起始符号分别为{0,1,2,3,12,13,0,1}——注意,对于SSBINDEX为8k+4和8k+5,CORESET0的起始符号在SSB对应RMSI时隙的前一时隙,即n_c=n_SSBi-1。

如果SSBSCS为120kHz,RMSISCS为120kHz,UE使用“频域索引”查询表格13-8。如果“频域索引”为4~7,CORESET0时域长度为2,复用样式为Pattern3。UE使用“时域索引”查询表格13-15(此时“时域索引”只能为0,R15只定义了这个值)。由图可见,SFN_c=SF_SSBi,n_c=n_SSBi,CORESET0在对应SSB所在系统帧的同一时隙。SSBSCS为120kHz,SSBPattern为CaseD——在5ms周期内,SSB的起始符号为{4,8,16,20}+28n,n={0,1,2,3,5,6,7,8,10,11,12,13,15,16,17,18},L=64。示图包含2个SSB时隙,对应1个RMSI时隙。对于SSBINDEX为4k、4k+1、4k+2、4k+3的SSB,CORESET0的起始符号分别为{4,8,2,6},时域长度为2——和SSB时域重叠(Pattern3的定义)。

再看Pattern1。CORESET0和SSB是时分复用关系,SSB发送时刻又各不相同,CORESET0时域表达式变得有点复杂,这里重点看时隙。根据3GPPTS38.213描述,对于Pattern1,UE从时隙n0开始,连续监听2个时隙。n0表达式如下图所示,参数M和O可从表格13-11(FR1)或13-12(FR2)获得。O表示SSBINDEX=0对应的CORESET0相对于偶数帧起始位置的偏移,单位为ms。由于1ms包含2^μ时隙,Ox2^μ表示Oms包含的时隙数(方便后面数时隙)。在FR1中,O取值可为0、2、5、7;在FR2中,O取值可为0、2.5、5、7.5。后续提到的时隙序号,都指偏移Oms之后的序号。O指示第一个SSB对应的CORESET0,其他SSB对应的CORESET0依次排在后面。第一个SSB对应的CORESET0总在偶数帧内,往后的CORESET0就不一定了。M表示相邻两个SSB对应的CORESET0的间隔,单位为时隙。在表格中,O和M之间还有一列,指示1个时隙包含的搜索空间数量,这里记为N。

如下图所示,N=1,N_CORESET_symbol=1,FirstSymbolIndex为0。如果M=2,SSBINDEX=0的搜索空间为第1、2时隙,SSBINDEX=1的搜索空间为第3、4时隙,两个SSB的搜索空间的间隔为2(3–1=2)时隙。如果M=1,SSBINDEX=0的搜索空间的第1、2时隙,SSBINDEX=1的搜索空间为第2、3时隙。两个SSB的搜索空间的间隔为1(2–1=1)时隙——在这种情况下,SSBINDEX=0和SSBINDEX=1的搜索空间共享第2时隙的符号0,SSBINDEX=1和SSBINDEX=2的搜索空间共享第3时隙的符号0,以此类推。再看另一种场景。N=2,M=1/2,N_CORESET_symbol=1,SSBINDEX为偶数时,FirstSymbolIndex为0,SSBINDEX为奇数时,FirstSymbolIndex为N_CORESET_symbol(1)。SSBINDEX=0/1的搜索空间的第1、2时隙,SSBINDEX=2/3的搜索空间为第2、3时隙——1个时隙包含2个搜索空间(N=2),各使用不同的符号(符号0或符号1)。SSBINDEX=0/1的搜索空间在同一时隙内,视为间隔M=1/2(时隙)。在这种情况下,SSBINDEX=0和SSBINDEX=2(相邻的偶数SSBINDEX)的搜索空间共享第2时隙的符号0。SSBINDEX=1和SSBINDEX=3(相邻的奇数SSBINDEX)的搜索空间共享第2时隙的符号1,以此类推。NR的小区搜索(四)这一篇的目标是RMSI,在R15即为SIB1。UE找到CORESET0之后,使用SI-RNTI(0xFFFF)在PDCCH进行“盲检”,根据DCIformat1_0指示,在PDSCH接收RMSI(SIB1)。Type0CSS(CORESET0)的聚合等级(CCEAggregationLevel)和候选个数(NumberofCandidates)在3GPPTS38.213表格10.1-1定义,可见,为了提高“盲检”成功率,聚合等级至少为4。UE更关心DCIformat1_0的内容,包括:FrequencyDomainResourceAssignment(频域资源分配指示,长度和CORESET0频域长度相关)、TimeDomainResourceAssignment(时域资源分配指示,4位)、VRB-toPRBMapping(VRB到PRB映射是交织还是非交织,1位)、ModulationandCodingScheme(调制与编码策略(即MCS阶数),5位)、RedundancyVersion(HARQ冗余版本,2位)、SystemInformationIndicator(用于SIB1还是OtherSI,1位,这里自然就是0了)。和查找CORESET0(PDCCH的时频资源)相似,UE根据DCIformat1_0的信息,查找PDSCH的“时频资源”。在DCIformat1_0内容中,最重要的是前两项:FrequencyDomainResourceAssignment(频域)和TimeDomainResourceAssignment(时域)。下面,分别看一下“频域”和“时域”是如何实现的。

先看频域。

在NR中,频域资源分配有两种类型:Type0和Type1。在Type0中,基站以RBG为粒度分配。RBG是若干个RB的集合。RBG包含的RB数量,由BWP大小(BandwidthPartsize)和PDSCH配置(PDSCHConfig),根据3GPPTS38.214的表格.1-1确定。BWP以位图(bitmap)方式表示分配哪些RBG,每个RBG对应1位。Type0支持连续资源分配,也支持非连续资源分配。举个例子,BWP大小为24RB,PDSCH配置为Configuration1,查表可知RBG大小为2,位图长度为24/2=12——示图左侧分配的RBG(蓝色部分)可用位图“100101100111”表示。在Type1中,以起始位置(S)和RB数量(L)表示分配的资源,单位为RB。举个例子,BWP大小为24RB,示图右侧分配的RB(橙色部分),可用S=7(第8个RB),L=11(长度为11RB)表示。Type1只支持连续资源分配,没有Type0灵活。不过,Type1也有自己的优点,就是编码效率高。

更具体的,基站不直接将S和L告知UE,而是将S和L联合编码,构成RIV(ResourceIndicationValue)。在BWP大小(N_size_BWP,以下简称N)确定的情况下,(S,L)组合和RIV一一对应,基站从(S,L)组合推算RIV,并发送给UE,UE从RIV反向推算(S,L)组合。举个例子:如果N=24,S=7,L=11,RIV=24x(11–1)+7=247;如果N=24,S=6,L=13,RIV=24x(24–13+1)+24–1–6=305。为什么RIV分为两个区间计算呢?个人理解,是为了节省1bit(苍蝇腿也是肉啊)。假设N为7(为了说明RIV原理,不考虑N是否可行),横轴对应S=0~6,数轴对应L=1~7。如果只用第一个公式(RIV=Nx(L–1)+S)计算RIV,结果(蓝色格子)如左侧所示。RIV最大为42(S=0,L=7)。在0~42之间,灰色格子的值没有利用(S+L>N),编码效率不高。如果按协议的方法,对L>int(N/2)部分,使用第二个公式(RIV=Nx(N-L+1)+N–1-S)计算RIV,结果(黄色格子)如左侧所示,正好是第一种方式没有利用的部分。RIV最大为27,在0~27(最大值)之间,所有值都利用到了,编码效率提升一倍。如果N为偶数,呈现略有不同,但结论一致。由此,RIV所需位数可由左侧的蓝色阶梯(所有满足S+L<=N的(S,L)组合)推算。RIV总个数为N+(N–1)+(N–2)+…+2+1=N(N+1)/2(高斯求和)。所需位数为log2(N(N+1)/2)。

对于RMSI(SIB1)的PDSCH频域资源分配,采用Type1类型。FrequencyDomainResourceAssignment包含一个RIV,UE可从RIV和N推算S和L,RIV位数和N有关。问题是,初始下行BWP配置要通过SIB1下发,而UE现在的目标就是SIB1,这不是陷入“先有鸡还是先有蛋”的困境吗?因此,UE暂时将CORESET0的频域长度视为N,代入公式推算S和L。

再看时域。

在NR中,PDSCH资源支持符号级别的调度,这比LTE灵活许多,但也增加了调度的复杂性。通常来说,基站先通过RRC高层配置发送时域资源分配表,DCI调度时再发送索引,UE根据索引查表获知具体配置。这就好像“洪七公”(基站)教了你(UE)一套“降龙十八掌”(时域资源分配表),他一喊“十八”(索引),你就知道要摇尾巴了(开个玩笑,哈哈)。和频域相似,此时UE没有时域资源分配表(基站甚至不知道UE的存在)。因而,3GPPTS38.214预先定义了几张表,让UE按照复用模式(SSB/CORESETMultiplexingPattern)选择使用——Pattern1选择表格.1-2(DefaultA,假定使用常规CP);Pattern2选择表格.1-4(DefaultB);Pattern3选择表格.1-5(DefaultC)。

以PatternA为例。DCIformat1_0的TimeDomainResourceAssignment(0~15)就是上文提到的“索引”,和表格中的“RowIndex”(1~16)对应。PDSCH时域资源由3个字段描述:K0、S和L。K0表示PDSCH和PDCCH的相对位置——K0=0表示PDSCH在PDCCH同一时隙,K0=1表示PDSCH在PDCCH下一时隙,以此类推。S表示起始符号,L表示时域长度(符号数量)。在NR中,PDSCH资源的起始符号和时域长度不固定。和RIV相似,S和L也会联合编码,构成SLIV(StartandLengthIndicatorValue),以节省编码的位数。不过,协议对SLIV编码的S和L有更强的约束,对于PDSCH和PUSCH,S和L需要满足表格(3GPPTS38.214Table-1和-1)给出的条件。PDSCH映射类型(PDSCHMappingType)分为TypeA和TypeB,约束条件和适用场景不同。更具体的,TypeA的S比较靠前(必须为0~3,S=3仅适用于dmrsTypeAPosition为3场景),L比较长(对于NormalCP,3~14个符号),PDSCH资源不能超过时隙边界,即S+L<=14。典型配置是符号0~2为PDCCH,符号3~14为PDSCH(占满时隙),因而TypeA也称为slotbased(基于时隙)调度,更适合EMBB(EnhancedMobileBroadband)业务。TypeB的S比较灵活,L比较短(对于NormalCP,限制为2、4、7个符号),同样的,PDSCH资源不能超过时隙边界,即S+L<=14。一个时隙可以多次调度TypeB资源,因而TypeB也称为minislotbased调度或nonslotbased调度,更适合URLLC(Ultra-ReliableLowLatencyCommunication)业务。当然,一个时隙也可以调度TypeA+TypeB资源,但TypeA必须在前。

SSB/CORESETMultiplexingPattern2对应DefaultB,在调度RMSI时,部分RowIndex(12~14)不会使用,这里没有呈现。示例SSBSCS为120kHz,RMSISCS为60kHz,SSBPattern为CaseD。SSB和CORESET0(PDCCH)的时域资源已经确定(详见《NR的小区搜索(三)》),PDSCH的时域资源就基本确定了。如上图所示,SSBINDEX=4k、4k+1、4k+2、4k+3对应CORESET0起始符号分别为0、1、6、7,长度均为1。DCIformat1_0的TimeDomainResourceAssignment分别为0、1、3、4,对应分配表RowIndex为1、2、4、5。以RowIndex=5为例,K0=0,S=10,L=2,即PDSCH在PDCCH同一时隙,起始符号为10,长度为2。SSB/CORESETMultiplexingPattern3对应DefaultC。示例SSBSCS为120kHz,RMSISCS为120kHz,SSBPattern为CaseE。如上图所示,SSBINDEX=4k、4k+1、4k+2、4k+3对应CORESET0起始符号分别为4、8、2、6,长度均为2。DCIformat1_0的TimeDomainResourceAssignment分别为2、4、1、3,对应分配表RowIndex为3、5、2、4。以RowIndex=4为例,K0=0,S=8,L=2,即PDSCH在PDCCH同一时隙,起始符号为8,长度为2。由此,UE终于到达终点,获得RMSI(SIB1)。简单看一下SIB1(示图没有完整呈现),可见包含cellSelectionInfo(小区选择信息)、C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论