标签:阈值 利用 展示 适合 条件 ever center 聚合 sage
RRC模型在模拟器中提供以下功能
RRC模型分为以下组成部分:
除此之外,RRC组件使用各种其他SAPs来与协议栈的其余部分进行交互。以下连接中提供了所有SAPs表现形式LTE radio protocol stack architecture for the UE on the data plane, LTE radio protocol stack architecture for the UE on the control plane, LTE radio protocol stack architecture for the eNB on the data plane and LTE radio protocol stack architecture for the eNB on the control plane.
下图展示了UE RRC实体的状态转换机制
需要指出的是, 大多数状态是暂时的, 即, 一旦UE进入连接状态, 他将不会切换会任何的IDLE状态. 这么做有如下几点原因:
然而, 我们仍然选择详细的建模IDLE状态是因为:
eNB RRC维持着每个连接到该单元的UE. 从实现的角度来看, 每个UE的状态都被包含在了UeManager类中. 状态机制如下图
初始单元选择是一个空闲模式的过程, 当UE没有驻留或附着到eNB时执行此过程. 该过程的目的是为了找到一个适合的单元并附着到其上以通过对蜂窝网络的接入.
这通常是在模拟开始时所完成, 正如下图(初始单元选择和时间相关事件)所展示一样. 上面的部分是初始单元选择在第一次就成功, 下图是首次未成功并在第二次尝试时成功. 该时序假定使用的是真实的RRC协议栈模型(RRC protocol models)并且没有传输错误.
该模型是基于3GPP IDLE模式规范, 如在[TS36300], [TS36304], 和[TS36331]中. 然而, 在模拟器中IDLE模型的仍然缺少正确的实现, 因此我们保留了几个简化的假设:
另外值得注意的是初始单元选择仅使用于EPC启动的模拟. 仅LTE模拟必须选择手动附着方法. 关于其他使用的更多信息请参考用户文档的Network Attachment部分
下一小节将介绍初始单元选择的不同部分,即单元搜索、系统信息广播和单元选择评估。
小区搜索旨在检测周围的单元并测量来自这些单元中的每一个接收的信号的强度. 其中一个单元将成为UE加入蜂窝网络的入口点.
测量值是基于即受到的PSS中的RSRP, 由第一层过滤, 并且由PHY层来执行, 正如先前在 UE PHY Measurement Model中所详尽描述的那样. PSS由eNodeB通过DL信道的中心72个子载波发送([TS36300]), 因此, 我们将小区搜索建模为使用6个RB的DL带宽进行操作. 值得注意的是RSRQ在模拟器开始时并不能被获得. 所以, 单元搜索时, LteUePhy::RsrqUeMeasThreshold属性并不应用.
通过使用RSRQ, PHY实体可以生成一张已搜索到的单元列表, 每个都有其对应的单元ID和相应的相应的平均RSRQ. 该列表通过CPHY SAP周期性地推送到RRC实体作为测量报告
RRC实体检查报告并简单地选择具有最强RSRP的小区, 如[TS36304]的第5.2.3.1节所示. 然后, 它指示PHY实体与该特定单元同步. 此时单元的实际工作带宽仍然未知, 因此PHY实体仅侦听6个RB的最小带宽. 然而, PHY实体将能够从这个特定的eNodeB接收系统广播消息,这是下一小节的主题.
系统信息块由eNodeB以预定义的时间间隔向UE广播, 改编自[TS36331]的第5.2.1.2节. 支持的系统信息块有:
系统信息的接收是UE在生命周期中发展的基础. MIB能够使UE初始配置的6个RBs的下行带宽扩展到实际所操作的带宽. SIB1提供单元选择评估所需的信息(将在下一小节中进行解释). 最后, 在允许UE切换到CONNECTED状态之前, 需要获得SIB2。
UE RRC检查单元搜索中生成的测量报告和SIB1提供的单元访问信息. 一旦对于一个特定的单元这两个信息都可以获得到, UE即开始触发评估过程. 这个过程的目的是判断这个单元是否适合驻留.
评估过程是[TS36304]第5.2.3.2节的略微简化版本. 它包含以下标准:
第一个Rx等级标准是基于单元RSRP测量值: Q_{rxlevmeas}, 这个值必须大于所要求的最小值Q_{rxlevmin}. 即Q_{rxlevmeas} - Q_{rxlevmin} > 0, 其中Q_{rxlevmin}是由UE从每个eNodeN的SIB1中获取的.
最后一个标准CSG, 他是由被称为CSG指示的true-or-false参数和简单数字CSG标识的组合. 基本规则是UE不能驻留到具有不同CSG标识的eNodeB. 但是, 只有当CSG指示被视为真实时, 才会强制执行此规则. 更多细节参见用户文档Network Attachment
当一个单元通过上述的所有标准后, 这个单元被视为合适的. 然后UE会驻留到这个单元中(即转变为IDLE_CAMPED_NORMALLY状态)
在这之后, 上层会要求UE进入CONNECTED模式. 更多细节见RRC connection establishment
另一方面, 当着个单元没有通过CGS标准时, 该单元就会被标注为acceptable(Section 10.1.1.1 [TS36300]). 这种情况下, RRC实体会让其PHY实体同步到第二个最强的单元, 并使用该单元重复初始单元选择过程. 只要没有合适的单元被发现, 这个UE将会重复执行上述过程, 与此同时将会避开那些别标准为acceptable的单元.
eNB RRC通过回复UE发送的RRC CONNECTION REQUEST信息的RRC CONNECTION SETUP或 RRC CONNECTION REJECT来支持无线接纳控制, 判断是否接纳一个新的UE. 在目前的实现中, 这个行为是由ns3::LteEnbRrc::AdmitRrcConnectionRequest这个布尔值来决定. 目前没有无线电接纳控制算法可动态地决定是否允许新的连接
在RRC中已经就无线电承载的建立做出了一些实现选择:
根据以下策略,配置三个逻辑信道组(四个可用)用于上行链路缓冲区状态报告:
LCG 0用于信令无线电承载
LCG 1用于GBR数据无线电承载
LCG 2用于非GBR数据无线电承载
由于在此阶段RRC仅支持CONNECTED模式, 因此不处理无线链路故障(RLF). 原因是RLF(当RRC重新建立失败时)的可能结果之一是离开RRC CONNECTED通知NAS RRC连接失败. 为了适当地建模RLF, 应该支持RRC空闲模式, 包括特别是空闲模式小区(重新)选择
目前的模型中, 当一个UE有着较坏的连接质量并且没有切换(即没有相邻的单元, 或切换失败, 或切换阀值配置错误), 它将会继续保持和同一个eNB进行联系, 然而调度器将会停止分配传输资源
UE RRC实体为UE测量提供支持, 特别地, 它执行了[TS36331]第5.5节所述的程序, 但有以下简化假设:
该模型基于UE测量消费者的概念, UE测量消费者是可以请求eNodeB RRC实体提供UE测量报告的实体. 消费者例如是切换算法, 其基于UE测量报告来计算切换决定。测试用例和用户程序也可能成为消费者. 图Relationship between UE measurements and its consumers描述了这些实体之间的关系。
RRC级别的整个UE测量功能分为4个主要部分:
接下来的小结将会阐述以上4个部分
一个eNodeB RRC实体通过发送配置参数到UE RRC实体来配置UE测量. 该组参数在RRC连接重新配置消息(RRC连接重新配置)的MeasConfig信息元素(IE)内定义。
eNodeB RRC实体实现[TS36331]的第5.5.2节中描述的配置参数和过程,具有以下简化假设:
这里的eNodeB RRC实例充当消费者和所连接的UE之间的中介.在模拟开始时, 每个使用者向eNodeB RRC实例提供所需的UE度量配置. 然后, eNodeB RRC将配置分发给附加的UEs.
用户可以使用多种方法自定义测量配置. 有关这些方法的说明, 参阅Configure UE measurements一节
UE RRC周期性地从UE PHY接收RSRP和RSRQ测量,如UE PHY Measurements Model所述. 第3层过滤将应用于这些接收的测量. 过滤的实现遵循[TS36331]的第5.5.3.2节:
F_n = (1 - a) × F_{n-1} + a × M_n
其中:
k = 4是默认值, 但可以通过在LteEnbRrc中设置RsrpFilterCoefficient和RsrqFilterCoefficient属性来配置.
因此当k = 0将禁用第3层过滤. 另一方面,过去的测量可以通过使用更大的k值来扩大对过滤结果的影响
在该部分中, UE RRC将通过有效测量配置列表并根据[TS36331]的第5.5.4节检查是否满足触发条件. 当满足来自所有有效测量配置的至少一个触发条件时, 将启动测量报告过程(在下一小节中描述)。
3GPP定义了两种triggerType: periodical and event-based. 目前只有event-based标准被支持. 支持的基于事件的触发条件列表如下
Name | Description |
Event A1 | Serving cell becomes better than threshold |
Event A2 | Serving cell becomes worse than threshold |
Event A3 | Neighbour becomes offset dB better than serving cell |
Event A4 | Neighbour becomes better than threshold |
Event A5 | Serving becomes worse than threshold1 AND neighbour becomes better than threshold2 |
在基于事件的触发器中要检查的两个主要条件是进入条件和离开条件。关于这两者的更多细节可以在[TS36331]的第5.5.4节中找到
通过引入滞后和触发时间来进一步配置基于事件的触发器. 滞后(H_ys)定义进入和离开条件之间的距离,单位为dB. 类似地, 触发时间引入进入和离开条件的延迟, 但是作为一个时间单位。
不支持定期类型的报告触发器, 但可以使用基于事件的触发器轻松获取其行为. 这可以通过以始终满足进入条件的方式配置测量来完成, 例如通过将事件A1的阈值设置为0(最小级别). 因此, 测量报告将始终在每个特定时间间隔触发, 时间间隔由LteRrcSap::ReportConfigEutra中的reportInterval字段确定, 因此产生与定期报告相同的行为
作为关于3GPP规范的限制, 当前模型不支持任何特定于小区的配置. 这些配置参数在测量对象中定义. 因此, 不支持将黑色单元列表合并到触发过程中.此外, 也不支持小区特定的偏移(即, Q_cn和Q_cp在事件A3, A4和A5中). 始终假定值为0来代替它们
该部分处理通过RRC协议从UE RRC实体向服务eNodeB实体提交测量报告. 采用了几种简化假设:
LTE模块支持简化的自动邻居关系(ANR)功能. 这由LteAnr类处理, 该类通过ANR SAP接口与eNodeB RRC实例交互
ANR保持邻居关系表(Neighbour Relation Table NRT),类似于[TS36300]的第22.3.2a节中的描述. 表中的每个条目称为邻居关系(Neighbour Relation NR), 表示检测到的相邻单元, 其中包含以下布尔字段:
每个NR条目可能至少具有以下属性中的一个:
为了自动创建网络检测到的NR, ANR利用UE测量. 换句话说, ANR是UE测量的消费者, 如图Relationship between UE measurements and its consumers. RSRQ和事件A4(邻居变得优于阈值)用于报告配置. 默认事件A4阈值设置为可能的最低值, 即最大检测能力, 但可以通过设置LteAnr类的Threshold属性来更改. 注意, A2-A4-RSRQ切换算法也使用类似的报告配置. 尽管相似, 但当ANR和该切换算法在eNodeB中都是活动的时, 它们使用单??独的报告配置
另请注意, 不支持自动设置X2接口. 这就是为什么在检测到网络但不是用户检测到的NR中, No X2和No HO字段为真的原因
ANR SAP接口提供ANR和eNodeB RRC之间的通信方法. eNodeB RRC使用一些接口函数与NRT交互, 如下所示:
存在其他接口功能以支持ANR作为UE测量消费者的角色,如下所示:
有关用法和所需参数的更多详细信息, 请参阅LteAnrSap类的相应API文档
ANR被eNodeB RRC实例用作数据结构以跟踪附近相邻小区的情况. ANR还帮助eNodeB RRC实例确定是否可以执行到相邻小区的切换过程. 这通过如下方法来实现: 如果目标小区的NR条目具有No HO和No X2字段都设置为假, 则eNodeB RRC将仅允许发生切换过程
默认情况下, 在模拟中的每个eNodeB实例中启用ANR. 可以通过将LteHelper类中的AnrEnabled属性设置为false来禁用它
在本节中, 我们提供了一些序列图, 用于解释正在建模的最重要的RRC过程
图Sequence diagram of the RRC Connection Establishment procedure表示了如何建模RRC连接建立过程, 突出显示RRC层在UE和eNB处的角色, 以及与其他层的交互
有几个与此过程相关的超时, 超时时间在Timers in RRC connection establishment procedure列出. 如果这些定时器中的任何一个到期, 则RRC连接建立过程终止失败. 在这种情况下, 上层(UE NAS)将立即尝试重试该过程, 直到它成功完成
Name | Location | Timer starts | Timer stops | Default duration | When timer expired |
Connection request timeout | eNodeB RRC | New UE context added | Receive RRC CONNECTION REQUEST | 15 ms | Remove UE context |
Connection timeout (T300 timer) | UE RRC | Send RRC CONNECTION REQUEST | Receive RRC CONNECTION SETUP or REJECT | 100 ms | Reset UE MAC |
Connection setup timeout | eNodeB RRC | Send RRC CONNECTION SETUP | Receive RRC CONNECTION SETUP COMPLETE | 100 ms | Remove UE context |
Connection rejected timeout | eNodeB RRC | Send RRC CONNECTION REJECT | Never | 30 ms | Remove UE context |
图Sequence diagram of the RRC Connection Reconfiguration procedure表示了如何针对未提供MobilityControlInfo的情况(即, 不执行切换)对RRC连接重新配置过程进行建模
图Sequence diagram of the RRC Connection Reconfiguration procedure for the handover case表示了如何针对提供MobilityControlInfo的情况建模RRC连接重新配置过程, 即, 要执行切换. 如[TS36331]中所规定的, 在接收到切换消息之后, UE尝试根据在[TS36321]中定义的随机接入资源选择在第一可用RACH时机访问目标小区, 即切换是异步的. 因此, 当在目标小区中为随机接入分配专用前导码时, E-UTRA应确保其可从UE可能使用的第一RACH时机获得. 在成功完成切换后, UE发送用于确认切换的消息. 注意, 在这种情况下的随机接入过程是基于非竞争的,因此在真实的LTE系统中, 它与在建立的RRC连接中使用的略有不同. 还要注意, 通过从目标eNB发送到源eNB的X2切换请求ACK消息中包括的切换命令来发信号通知RA前导ID; 特别地, 前导码包含在RACH-ConfigDedicated IE中, 它是MobilityControlInfo的一部分
如前所述, 我们为RRC消息的传输和接收提供了两种不同的模型: Ideal和Real. 它们中的每一个都在以下小节描述.
根据该类型, 在类和LteUeRrcProtocolIdeal和LteEnbRrcProtocolIdeal中实现, 所有RRC消息和信息元素以理想的方式在eNB和UE之间传输, 而不消耗无线电资源且没有错误. 从实现的角度来看, 这是通过在UE和eNB RRC实体之间直接传递RRC数据结构来实现的, 而不涉及较低层(PDCP, RLC, MAC, 调度器)
该模型在类LteUeRrcProtocolReal和LteEnbRrcProtocolReal中实现, 并且旨在建模通常在真实LTE系统中执行的RRC PDU的传输. 特别是:
现在开始描述用于Real RRC协议模型的信令无线电承载模型
SRB0 消息(CCCH承载):
SRB1消息(DCCH承载):
SRB2消息(DCCH承载):
RRC SAP中定义的消息(对所有Ue/Enb SAP user/provider来说是通用的)在透明容器中传输到Ue/Enb或从Ue/Enb传输. 不同信息单元的编码格式在[TS36331]中指定, 在未对齐变体中使用ASN.1规则. Ns3/Lte中的实现分为以下几类:
根据ITU-T X.691中的打包编码规则, 该类实现了序列化/反序列化[TS36331]中使用的ASN.1类型的方法. 考虑的类型是:
该类继承自ns-3 Header, 但Deserialize()函数被声明为纯虚拟, 因此继承的类必须实现它. 原因是反序列化将检索RRC消息中的元素, 每个元素包含不同的信息元素.
另外, 必须注意, 并且由于优化的编码, 特定类型/消息的结果字节长度可以根据可选字段的存在而变化. 因此, 序列化的位将使用PreSerialize()函数进行处理, 将结果保存在m_serializationResult Buffer中. 由于ns3缓冲区中的读/写方法是以字节为基础定义的, 因此序列化位存储在m_serializationPendingBits属性中, 直到设置了8位并且可以写入缓冲区迭代器. 最后, 在调用Serialize()时, m_serializationResult属性的内容将被复制到Buffer::Iterator参数
由于一些信息元素被用于多个RRC消息,因此该类实现了以下常见的IE:
以下RRC SAP已实施:
标签:阈值 利用 展示 适合 条件 ever center 聚合 sage
原文地址:https://www.cnblogs.com/hesper/p/9901753.html