RRC协议——测量
1. 概述
本文归纳了3GPP TS36.331 (Rel-8) 即RRC协议5.5节关于测量的内容。测量配置和测量上报的信元结构,涉及的域和类型较多,通过理清这些信元的定义和结构,可以帮助理解UE和eNodeB之间与测量相关的信息交互和过程。
2. 基本概念
首先归纳一些测量相关的常见名词和信元定义。
在RRC_CONNECTED状态下,UE必须遵循eNodeB的指示进行测量。UE对EUTRA系统内的哪个频率进行测量(同频、异频)、测量哪些邻区、或者测量不同的RAT、何时进行测量、测量的定量指标是什么,所有这些信息都由eNodeB统一配置。归纳起来,这些信息主要可以分为以下几类:
- -
测量对象:即UE应该测量谁——EUTRA同频还是异频、或是其他RAT
测量量:即测量指标——RSRP, RSRQ, RSCP, EcN0 等等, 取决于具体的RAT (某些RAT下可能有多种指标,eNB需要指定一种或多种) -
上报配置:应该周期性上报,还是满足特定事件触发条件上报,事件触发上报的具体门限值、迟滞量等参数。
为了方便管理,eNodeB对以上信息用整数索引值进行编号,每一种配置对应一个测量ID,并与一对(测量对象,上报配置)组合关联。测量对象也用ID值来索引。 ? 测量配置过程
eNB通过DCCH信道下发RRC连接重配置消息,为RRC_CONNECTED状态下的特定UE提供测量配置。过程如下图所示。
UE RRCConnectionReconfiguration EUTRAN RRCConnectionReconfigurationComplete 在RRCConnectionReconfiguration消息中,可以携带测量配置信元MeasConfig, 指示UE
进行何种测量、以及测量上报配置。 ? 测量上报过程
UE通过MeasurementReport消息,向eNB上报测量结果,如下图所示。
UE EUTRAN MeasurementReport 该消息携带的主要内容是MeasResults信元。
3. 测量相关的基本信元
这里归纳一些测量相关的基本信元的定义和结构,由这些基本信元可以组合为比较复杂的测量配置和测量上报信元。
3.1 移动性控制相关的信元 3.1.1 ARFCN (无线频道编号)
各种RAT分别定义一种ARFCN的取值类型:
ARFCN-ValueEUTRA ::= ARFCN-ValueUTRA ::= ARFCN-ValueGERAN ::=
INTEGER (0..maxEARFCN) INTEGER (0..16383) INTEGER (0..1023) INTEGER (0..2047)
ARFCN-ValueCDMA2000 ::=
比较特殊的是EUTRA的ARFCN,总的范围是 [0..65535],实际上按照EUTRA的工作频段来划分,目前分配的ARFCN为 [0..39649].
注:处于工作频段边缘的部分EUTRA频道,载波频带可能超出边界,这些频道不会被使用。
3.1.2 载频
EUTRA的载频用ARFCN-ValueEUTRA作为类型标识。 UTRA的载频用ARFCN-ValueUTRA作为类型标识。
CDMA2000和GERAN的载频标识除了ARFCN之外,还需要指定频带类型,定义如下:
CarrierFreqCDMA2000 ::= }
CarrierFreqGERAN ::= }
arfcn
bandClass arfcn
SEQUENCE {
BandclassCDMA2000,
ARFCN-ValueCDMA2000
SEQUENCE {
ARFCN-ValueGERAN, BandIndicatorGERAN
bandIndicator
其中,GERAN的频带指示符有dcs1800和pcs1900两种;CDMA2000的Bandclass 为下面的枚举类型(已定义18种,预留14种):
BandclassCDMA2000 ::=
ENUMERATED {
bc0, bc1, bc2, bc3, bc4, bc5, bc6, bc7, bc8, bc9, bc10, bc11, bc12, bc13, bc14, bc15, bc16, bc17, spare14, spare13, spare12, spare11, spare10, spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1, ...}
用于测量对象的GERAN的载频标识,实际上并不是单个GERAN载频,而是一组GERAN载频的集合,定义如下:
CarrierFreqsGERAN ::= }
ExplicitListOfARFCNs ::=
SEQUENCE (SIZE (0..31)) OF ARFCN-ValueGERAN
startingARFCN bandIndicator
SEQUENCE {
ARFCN-ValueGERAN, BandIndicatorGERAN, CHOICE {
ExplicitListOfARFCNs, SEQUENCE {
INTEGER (1..8), INTEGER (0..31)
followingARFCNs }
explicitListOfARFCNs equallySpacedARFCNs },
arfcn-Spacing
numberOfFollowingARFCNs
variableBitMapOfARFCNs OCTET STRING (SIZE (1..16))
由上面的CHOICE结构体可知,一个GERAN载频列表的构造方式有两种:指定每个单独的ARFCN,或者从起始ARFCN开始、按一定间隔、指定数量的ARFCN。这些ARFCN和起始ARFCN一起,结合BandIndicator,就构成了一组GERAN载频。
3.1.3 小区ID
有如下几组小区ID信元定义: ? 物理小区ID
这类信元都是以PhysCellId开头,EUTRA无需后缀标记,其他类型RAT的物理小区ID通过不同后缀标记:
PhysCellId ::=
INTEGER (0..503) INTEGER (0..511) INTEGER (0..127)
PhysCellIdUTRA-FDD ::= PhysCellIdUTRA-TDD ::= PhysCellIdGERAN ::= }
PhysCellIdCDMA2000 ::=
networkColourCode
SEQUENCE {
BIT STRING (SIZE (3)), BIT STRING (SIZE (3))
baseStationColourCode
INTEGER (0..maxPNOffset)
EUTRA还专门有一个信元表示物理小区ID的范围:
PhysCellIdRange ::= }
start range
SEQUENCE {
PhysCellId, ENUMERATED {
n4, n8, n12, n16, n24, n32, n48, n64, n84, n96, n128, n168, n252, n504, spare2, spare1}
OPTIONAL
-- Need OP
? Cell Global ID (全球唯一小区标识)
EUTRA和UTRA小区的全球唯一标识,包含PLMN的ID和小区在PLMN内的ID. GERAN的小区唯一标识还包含位置区域代码(LAC)、但PLMN内的小区ID字符串较短。 CDMA2000小区唯一标识分为1xRTT和HRPD两种、无PLMN ID (为什么不用PLMN标识?).
CellGlobalIdEUTRA ::= }
CellIdentity ::=
CellGlobalIdUTRA ::=
plmn-Identity cellIdentity
SEQUENCE {
PLMN-Identity,
BIT STRING (SIZE (28))
BIT STRING (SIZE (28))
plmn-Identity cellIdentity
SEQUENCE {
PLMN-Identity, CellIdentity
}
CellGlobalIdGERAN ::= }
CellGlobalIdCDMA2000 ::= }
cellGlobalId1XRTT cellGlobalIdHRPD
CHOICE {
BIT STRING (SIZE (47)), BIT STRING (SIZE (128))
plmn-Identity
SEQUENCE {
PLMN-Identity,
BIT STRING (SIZE (16)),
locationAreaCode cellIdentity
BIT STRING (SIZE (16))
? PLMN ID
PLMN标识包含MCC和MNC两个部分。MCC表示国家代码、MNC表示运营商的网络代码,MCC包含3位十进制数值,MNC则包含2~3位十进制数值。
PLMN-Identity ::= }
MCC ::= MNC ::=
SEQUENCE (SIZE (3)) OF SEQUENCE (SIZE (2..3)) OF INTEGER (0..9)
MCC-MNC-Digit MCC-MNC-Digit
mcc mnc
SEQUENCE {
MCC MNC
OPTIONAL,
-- Cond MCC
MCC-MNC-Digit ::=
3.1.4 Q-OffsetRange (偏置量范围)
EUTRA和其他RAT的小区重选/切换过程涉及的频率或小区特定的偏置量,单位都是dB,范围如下:
Q-OffsetRange ::=
Q-OffsetRangeInterRAT ::=
INTEGER (-15..15)
ENUMERATED {
dB-24, dB-22, dB-20, dB-18, dB-16, dB-14, dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3, dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10, dB12, dB14, dB16, dB18, dB20, dB22, dB24}