CRB编号和PRB编号的关系如下:
已知条件:
Fc
和带宽BW
SS_REF
offsetToCarrier
计算:
ssb-SubcarrierOffset
offsetToPointA
offset
locationAndBandwidth
载波、SSB、CORESET0和BWP的频域关系如下图所示:
// 配置载波偏移、子载波间隔和载波带宽
SCS-SpecificCarrier ::= SEQUENCE {
offsetToCarrier INTEGER (0..2199),
subcarrierSpacing SubcarrierSpacing,
carrierBandwidth INTEGER (1..maxNrofPhysicalResourceBlocks),
}
// 配置PointA和SSB中心频点的ARFCN
FrequencyInfoDL ::= SEQUENCE {
absoluteFrequencySSB ARFCN-ValueNR
frequencyBandList MultiFrequencyBandListNR,
absoluteFrequencyPointA ARFCN-ValueNR,
scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
...
}
// 配置SSB RB级偏移
FrequencyInfoDL-SIB ::= SEQUENCE {
frequencyBandList MultiFrequencyBandListNR-SIB,
offsetToPointA INTEGER (0..2199),
scs-SpecificCarrierList SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier
}
MIB ::= SEQUENCE {
systemFrameNumber BIT STRING (SIZE (6)),
subCarrierSpacingCommon ENUMERATED {scs15or60, scs30or120},
ssb-SubcarrierOffset INTEGER (0..15),
dmrs-TypeA-Position ENUMERATED {pos2, pos3},
pdcch-ConfigSIB1 PDCCH-ConfigSIB1,
cellBarred ENUMERATED {barred, notBarred},
intraFreqReselection ENUMERATED {allowed, notAllowed},
spare BIT STRING (SIZE (1))
}
BWP ::= SEQUENCE {
locationAndBandwidth INTEGER (0..37949),
subcarrierSpacing SubcarrierSpacing,
cyclicPrefix ENUMERATED { extended }
}
通过RRC参数locationAndBandwidth
进行配置,利用RIV指示起始位置和BWP带宽。
RIV计算如下图所示:
# 基站侧:根据BWP起始位置和带宽计算RIV
rbLength = 273
rbStart = 0
bwpSize = 275
if ((rbLength-1) <= (bwpSize//2)):
RIV = bwpSize*(rbLength-1)+rbStart
else
RIV = bwpSize*(bwpSize-rbLength+1)+(bwpSize-1-rbStart)
print("RIV=%d",RIV)
# UE侧:根据RIV计算BWP起始位置和带宽
RIV = 36300
bwpSize = 275
rbLength = RIV // bwpSize
rbStart = RIV % bwpSize
if ((rbStart + rbLength - 1) <= bwpSize):
rbStart = rbStart
rbLength = rbLength + 1
else:
rbLength = bwpSize - rbLength + 1
rbStart = bwpSize - 1 - rbStart
print("rbStart=%d,rbLength=%d",rbStart,rbLength)
UE在接入前知道基站的中心频点、带宽和offsetToCarrier
吗?
UE在接入前知道SSB中心频点的大致范围,在此范围内进行盲检获得SSB的位置,实现小区同步和解MIB。UE从MIB上获取CORESET0的信息,从而解SIB1,获取BWP配置等信息。
遗留问题: ssb-SubcarrierOffset
的作用是什么? SSB盲检原理?
此部分暂时不理解,后续更新。