LTE系统信息(3)-系统信息变更

1.为什么需要加入系统信息变更机制

从《LTE系统信息(2)-SIB的周期调度》里我们已经知道,UE所需的系统信息绝大多数都包含在不同的SIB块里,分别由SIB1消息和SI消息广播到UE。携带的这些参数信息一般情况下都不会发生变化,但世事无绝对,考虑到网侧某些特定情况下可能需要对一些参数进行修改,比如修改SIB1中的RACH参数,或者修改SIB2中的ac-BarringInfo参数,因而需要增加一种机制,可以让SIB参数有变更的时候,UE能及时的获取到更新之后的系统信息。这种机制也就是本文将要描述的“系统信息变更过程”(change of system information)。

可能有的同学会问了,UE难道不会在每个系统信息的周期时刻都去解码吗?UE显然是知道所有每个系统信息的发送时刻的,eNB也是周期广播的,所以只要UE愿意去读,是能及时获取到最新的系统信息的,那为什么UE不去这么做呢?因为在很多情况下系统信息是不会变化的,如果让UE在已经获取了系统信息的情况下,仍然每隔几十ms不间断的去读系统信息,那是比较费电的。功耗问题是影响UE整体性能的一个非常关键的问题,其它诸如寻呼、CDRX机制也是基于类似的出发点考虑的。

既然UE不会在每个系统信息的发送时刻都去读,那什么时候UE需要去读呢?当发生下面场景中的其中一种时,UE就需要去获取或重新获取系统信息:

(1)开机后的小区选择过程。
(2)准备重选到另一个小区时。
(3)切换过程完成之后。
(4)从其他制式进入到LTE制式之后。
(5)从丢失覆盖返回。
上面这5种场景可以归纳为当UE进入一个新的服务小区之后,需要获取该小区的系统信息。

(6)收到系统信息变更指示。
(7)收到ETWS消息指示。由寻呼消息中是否出现etws-Indication字段决定。
(8)收到CMAS消息指示。寻呼消息中是否出现cmas-Indication字段决定。
上面这3种场景可以归纳为服务小区中的广播参数发生了变化,需要UE重新获取。

(9)收到CDMA2000上层指示。此时UE需要重新获取携带CDMA2000参数的SIB8。
(10)超过系统信息的最大有效期。如果UE已经读过系统信息,那么UE存储的系统信息只有3个小时的有效期,超过3个小时就需要重新获取系统信息。

2.系统信息变更过程

系统信息的变更只能发生在特定的无线帧中,这些特定的无线帧也被称作“变更周期”(modification period,简称MP)。变更周期的边界或者说起始的帧位置要符合条件(SFN mod m = 0)。其中,m表示变更周期,由SIB2块中的modificationPeriodCoeff参数和defaultPagingCycle参数共同决定,如图1所示。比如,modificationPeriodCoeff=n2,defaultPagingCycle=rf32,那么变更周期m=2×32=64,单位是无线帧的个数。

(图1 SIB2中与变更周期相关的参数)

当网络需要修改系统信息时,将执行下面的2个过程:

(1)发送系统信息变更指示。eNB会给UE发送一个系统信息变更指示,告知UE在接下来的系统变更周期中需要重新读取系统信息。UE一旦收到系统信息变更指示,就会在下个变更周期的起始位置开始获取新的系统信息。UE在解码到新的系统信息之前,需要继续使用旧的系统信息参数。

(2)在接下来的一个变更周期里,网侧广播修改后的系统信息。

如图2所示,不同的颜色块代表不同的系统信息。在系统变更周期n里,UE收到了系统变更指示,但此时的系统信息仍然是旧的系统信息,即图中的红色标识块,在接下来系统变更周期(n+1)里,网侧开始广播新的系统信息块,即图中的粉色内容。黄色的系统信息块在此过程中没有改变。

(图2 系统信息变更过程)

根据待修改的系统信息参数的不同,这个变更指示参数被分成了2个部分:寻呼消息里的systemInfoModification字段和SIB1中的systemInfoValueTag字段。如果是修改除SIB10/11/12三种之外的系统信息,则需要在寻呼消息里增加systemInfoModification字段;而如果是修改除MIB/SIB1/SIB10/SIB11/SIB12之外的系统信息,则需要修改SIB1中的systemInfoValueTag字段。如果UE在寻呼消息中发现存在systemInfoModification字段,则需要在同样的系统变更周期中重新读取MIB和SIB1消息,从而获知是否有SI消息发生修改。

博文《DRX不连续接收(2)-寻呼Paging》里已经说过,在寻呼消息结构体里有个可选字段systemInfoModification,这个字段表示除SIB10/SIB11/SIB12之外的系统信息是否有改变,如下面的图3所示。如果UE解码寻呼信息时发现包含了该字段,则认为网侧会在下一个系统变更周期内修改系统信息,UE需要执行系统信息变更过程,无论当前UE处于RRC-IDLE态还是处于CONNECTED态。寻呼消息中携带的系统信息变更指示只是一个标记位,只能告诉UE“系统信息有修改”这个简单的信息,无法告诉UE具体是哪些系统信息要修改。

(图3 寻呼消息中的系统信息变更指示)

SIB1里包含了一个systemInfoValueTag字段,可以通过这个字段,来判断当前除MIB/SIB1/SIB10/SIB11/SIB12之外的系统信息是否仍然有效,如下面的图4所示。systemInfoValueTag字段的取值范围是0~31,网络每执行1次系统信息变更过程,就将该字段递增1,UE侧通过该值是否发生变化来判断是否需要执行系统信息变更过程。

(图4 SIB1中与消息变更相关的参数)

如果在一个变更周期内UE没有收到寻呼消息,UE可能会认为在接下来的一个变更周期里不会发生系统信息变更。所以,如果网侧要修改系统信息参数(除ETWS和CMAS),应该要发送寻呼消息,且在寻呼消息里增加systemInfoModification字段。

从上面的描述中可以看到,无论是寻呼消息中的systemInfoModification字段还是SIB1中的systemInfoValueTag字段,都不能表示ETWS或CMAS消息是否发生了变化。SIB10/11/12所携带的ETWS和CMAS消息,需要通过寻呼消息是否包含etws-Indication和cmas-Indication字段来决定。

3.系统信息变更方案的演进

如何让UE及时的获知系统信息的变化,最开始是由Motorola在2007年韩国的一次3GPP会议中提出来的。Moto提出:首先可以在MIB中增加一个mib_value_tag字段,用来表示SIB1或其它SIB块是否发生了改变;同时,在SIB1中为每个其它的SIB块绑定一个sib_value_tag字段,这些字段用来表示某个具体的SIB块是否发生了变化。这样设计之后,eNB就可以通过修改MIB中的mib_value_tag字段和SIB1中的sib_value_tag集字段,来控制UE读取系统信息的行为。熟悉GSM-RR/RRC协议的同学会发现,这个原始的方案类似于GSM中SI-type13消息的BCCH_CHANGE_MARK和SI_CHANGE_FIELD字段的设计,感兴趣的同学可以看看44018和44060这两篇协议。

仔细研究一下会发现,仅仅这样实现系统信息的变更过程是不行的,为什么呢?因为UE不会一直去读取系统信息(MIB和SIB),UE无法准确的知道网侧什么时候修改系统信息参数,所以这里就需要给UE再绑定一个定时器(比如GSM中使用30s定时器)。当定时器超时之后,每个UE就主动的重新读取MIB消息,检测其中的mib_value_tag字段,一旦mib_value_tag字段发生了改变就去重新读取SIB1消息,检测其中的sib_value_tag值,从而确定其它的SIB块是否发生了变化。

到了这里是不是就可以了呢?同样的有问题。因为什么时候开启这个定时器是有讲究的。服务小区广播的系统参数一旦改变,那么这个小区内所有的UE都应该同时去获取更新后的系统信息,如果不同UE的定时器开启时间不一致,就会导致有的UE已经收到了新的系统信息参数,而有的UE却还是旧的系统信息参数。所以规定:一旦UE解码到MIB之后就开启该定时器。这样,同一个小区里所有的UE就可以保持系统信息更新过程的同步。

后来英飞凌对此进行了优化:MIB中携带的是最基本的信息,不应该将系统信息的修改字段value_tag放在MIB中,我们可以把value_tag字段转移放在寻呼消息中。因为同一个服务小区里所有的UE都能解码到P-RNTI加扰的寻呼消息,这样可以保证每个UE都能收到同样的value_tag。为方便区别,这里把放在寻呼消息里的value_tag暂记为paging_value_tag。通过paging_value_tag字段来表示MIB/SIB1/SIB2/../SIB9/SIB13是否有修改,而SIB1中的sib1_value_tag字段用来表示SIB2/SIB3/../SIB9/SIB13是否有修改。

DRX不连续接收(2)-寻呼Paging》里已经分析过,对于同一个服务小区里的不同UE来说,寻呼消息的发送时刻是与IMSI相关的,不同的UE对应的寻呼时刻并不相同。为了保证所有UE能同时读取到更新后的系统信息,所有UE只能从统一的“指定时刻”去读取系统信息。.不同的UE在接收到value_tag之后不要急着去读新的系统信息,而只在到了“指定时刻”才去读系统信息。这个“指定时刻”就是通过前文所述的“系统变更周期”来区分。

经过这样的优化之后,UE就可以通过读取寻呼消息中的paging_value_tag字段和SIB1中的sib_value_tag字段,来判断是否需要重新读取系统信息了。

参考资料:
(1)3GPP TS 36.331 V9.18.0 (2014-06) Radio Resource Control (RRC)

时间: 2024-08-08 01:47:45

LTE系统信息(3)-系统信息变更的相关文章

Linux系统用户网络磁盘命令

我们在上节内容详细了解了查看查找帮助命令,查找类命令中which,find是我们一定要掌握的,查看类命令中cat,head,tail是我一定要掌握的,至于帮助命令我们知道help简单的用法即可,有童鞋可能就会感到纳闷,比较出名的书鸟哥都说了很多命令需要掌握,怎么我说就这几个?对没错!就这几个,这样是想大家尽快的入门,能在最短的时间内学会然后工作,命令刚开始学的太多,会让你产生放弃的想法.所以我在编写的时候适当的放弃一些,捡最重要讲解.废话不多说了,接着咱们的命令开始 今天我给大家讲解系统信息类命

IO流03--毕向东JAVA基础教程视频学习笔记

提要 16 读取转换流17 写入转换流18 流操作规律-119 流操作规律-220 改变标准输入输出设备21 异常的日志信息22 系统信息 16 读取转换流 字符流体系中的InputStreamReader,是字节流通向字符流的桥梁:它使用指定的charset读取字节并将其解码为字符. 它使用的字符集可以由名称指定或显示给定,或者可以使用平台默认的字符集. 1 /* 2 通过上一小节15-读取键盘录入中键盘录入一行数据并打印其大写,发现就是读一行数据的原理. 3 也就是readLine方法. 4

kettle教程一

转载:http://www.cnblogs.com/limengqiang/archive/2013/01/16/KettleApply1.html ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少,这里我介绍一个我在工作中使用了3年左右的ETL工具Kettle,本着好东西不独享的想法,跟大家分享碰撞交流一下!在使用中我感觉这个工具真的很强大,

计算机常用英语词汇

计算机常用英语词汇一.硬件类(Hardware)二.软件类(Software)三.网络类(Network)四.其它CPU(Center Processor Unit)中央处理单元Main board主板RAM(random access memory)随机存储器(内存)ROM(Read Only Memory)只读存储器Floppy Disk软盘Hard Disk硬盘CD-ROM光盘驱动器(光驱)Monitor监视器Keyboard键盘Mouse鼠标Chip芯片CD-R光盘刻录机HUB集线器Mo

Linux 磁带机备份完全攻略

一.确定数据备份策略 首先必须确定在备份过程中操作哪些文件.在商业环境中,这是非常困难的一个决定,而且会产生严重的影响.如果备份了太多数据,会导致备份系统的成本过于庞大,会削减其他方面的开支.如果没有备份足够的数据,那么重要的数据就可能会丢失. 备份整个系统非常简单(请确保不要备份NFS挂载的一些目录和诸如/proc/之类的特殊文件系统),但是通常这样备份的内容都太多了.如果整个系统盘上的数据都丢失了,那么在恢复任何数据之前,很可能不得不重新安装基本的操作系统.将这些系统文件保存在备份磁带上不是

etl学习系列1——etl工具安装

ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少,这里我介绍一个我在工作中使用了3年左右的ETL工具Kettle,本着好东西不独享的想法,跟大家分享碰撞交流一下!在使用中我感觉这个工具真的很强大,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取.质量检测.数据清洗.数据转换.数据过滤等方面有着比较稳定的表现,

网络常用英语术语精选

ANSI美国国家标准协会 able 能 activefile 活动文件 addwatch 添加监视点 allfiles 所有文件 allrightsreserved 所有的权力保留 altdirlst 切换目录格式 andfixamuchwiderrangeofdiskproblems 并能够解决更大范围内的磁盘问题 andotherinFORMation 以及其它的信息 archivefileattribute 归档文件属性 assignto 指定到 autoanswer 自动应答 autod

(转)ETL利器Kettle实战应用解析系列一【Kettle使用介绍】

原文地址:http://www.cnblogs.com/limengqiang/archive/2013/01/16/KettleApply1.html 本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析系列二 [应用场景和实战DEMO下载] 三.ETL利器Kettle实战应用解析系列三 [ETL后台进程执行配置方式] 本文主要阅读目录如下: 1.Kettle概念 2.下载和部署 3.Kettle环境配置 4.K

Saltstack系列:Saltstack的Grains和Pillar

Grains和Pillar的用途: Grains : 用于存储minion的基本数据信息: Pillar : 用于存储master分配给minion的数据信息. Grains和Pillar的存储区域: Grains : 元数据存储在minion端: Pillar : 元数据存储在master端. Grains和Pillar的更新方式: Grains : 在minion启动时进行更新: Pillar : 元数据存储在master端,使用 saltutil.refresh_pillar进行刷新,效率