目录

消息

LTE 的系统消息是蜂窝网络与 UE 互相交互的与 LTE 系统相关的、特殊的信息。可分为:

  • 主消息块(Master Information Block,MIB)
  • 多个系统消息块(System Information Blocks,SIBs)

MIB(主消息块)

MIB 承载于信道 BCCH(广播控制信道)-> BCH(广播信道)-> PBCH(物理广播信道)之上。包括了有限个用以读取其他小区信息的最重要、最常用的传输参数(如:系统带宽、系统帧号、PHICH 配置信息)

MIB 的时域为:40ms 的周期,以 10ms 为周期重传 4 次。

频域为:位于系统带宽中央的 72 个子载波(1.08MHz)。

SIBs(多个系统消息块)

SIBs 承载在信道 BCCH(广播控制信道)-> DL-SCH(下行共享信道)-> PDSCH(物理下行共享信道)上。

除 MIB 外的系统信息都是 SIBs 信息,包括 SIB1 ~ SIB12。SIB1 是除 MIB 外最重要的系统消息

系统消息的映射和调度

每个信息块如何发送、何时发送,需要总体有个调度机制,因此引入调度周期的概念。MIB 的调度周期为 40ms,每 10ms 重传 1 次。而 SIB 的调度周期为 80ms,每 20ms 重传 1 次。即 SIB1 在每 2 个无线帧(20ms)的子帧 #5 中重传(SFN mod 2=0,SFN mod 8 不等于 0)一次,如果满足 SFN mod 8=0 时,SIB1 的内容可能改变,新传一次。

对于 PHY 来说,一般不作 SIB 的解析,只是接收 SIB 并上报。只要高层协议栈没有下发命令停止接收,则 PHY 要持续检测 PDCCH(物理下行控制信道)的 SI-RNTI(系统消息,PDCCH 通过 SI-RNTI 加扰,且按照 eNB 规定周期性发送),并接收后面的 PDSCH(物理下行共享信道)。所以,SIB1 的传输通过携带 SI-RNTI 的 PDCCH(物理下行控制信道)调度来完成。

SIB1 中的 SchedulingInfoList 携带所有 SI(System Information)的调度消息,接收 SIB1 以后,即可接收其他 SI 消息。除 SIB1 外,SIB2 ~ SIB12 均通过 SI 映射。最终在空口调度,所以这就涉及到 SI 的调度。

SI 其实可以看成多个 SIBs 构成的一个组,SIBs 到 SI 消息的映射是灵活配置的。类似于传输信道与物理信道之间的映射,多个 SIB 映射到同一个 SI 中,可进行统一调度。至于这些 SIB 如何映射,在 SIB1 中完成的,下面的 SIB 消息就是一个例子:

从上图可以看出,SIB2 是肯定在 SI1 中的,所以图中所示的 schedinglnfoList 是从 SIB3 开始组合的。至于如何组合,那是由 eNB 自己决定的事情。关于 SI 的调度,需要明确一个概念 —— SI-Window

SI-Window 就是上图中的 si-WindowLength,时域为 5ms。一个 SI 窗口只能发送一个 SI 消息,可重复发送,并且每个 SI 窗口都是紧挨着的。在 SI 窗口内,SI 不需要连续发送,有时候,一个子帧发送 SI 就足够,而有时候需要多个子帧发送。

UE 通过 SI-RNTI 去解加扰的 PDSCH(物理下行共享信道),拿到相关 SI 的内容后,就能够知道当前小区的驻留参数,以及重选参数,同频,异频,异系统邻区等等,完成小区选择

丰富的 SIBs 消息,会给 UE 带来该小区(Cell)的大量信息,用作各种用途,比如小区选择,重选等等。而在实际应用中,并不是所有 SIBs 都需要广播的,运营商本身会定义自己的 eNB 所需要广播的信息。

系统信息的更改通知

对于系统消息来说,不可能在整个运行周期内,参数方面都是一层不变。那么,当上层参数发生变化后,系统层面应该通知到终端。系统消息的更新一般分两种情况:

  1. 如果系统消息长期不变(3 小时),UE 就会再主动尝试接收系统消息;
  2. 如果网络侧的系统信息发生改变了,那么网络侧就需要通知 UE 更新系统信息。对于处于 IDLE(空闲)和 CONNECTED(已连接)状态的 UE 都可以通过寻呼(Paging)来通知。

我们先关注第 2 种情况,当 eNB 侧的某些参数发生改变了,是如何通知 UE 的呢?当 eNB 侧在线改变个系统消息的参数时,比如某些定时器,那 eNB 就会以 Paging 的方式通知到 UE。

Paging 消息内带有系统信息修改为 True,就是通知 UE,系统消息有更新,请重新读取。

另外一种方式,是当 SIB1 中的 IE systemInfoValueTag 与之前的存储的有不同,如下图,之前是 0,这一次是 1,那就意味着系统消息有变化,需要更新了。



以上只是 eNB 去通知 UE 需要更新系统信息,但 UE 何时更新?这里面还有一个修改周期的概念。在 SIB2 中有以下两个参数:

修改周期是这两个参数相乘:modificationPeriod = modificationPeriodCoeff X DefaultPagingCycle。上图中,修改周期就是 640ms。所以即使在本次周期中,收到更改通知,也要到下一个修改周期才会重新监听并存储系统信息。

4G EPS 中的消息类型的更多相关文章

  1. RabbitMQ中各种消息类型如何处理?

    一:消息类型 Map String(含json字符串类型) 二:处理方法 2.1 Map消息 如果发送的消息类型是map类型,可以通过SerializationUtils.deserialize方法将 ...

  2. Activemq消息类型

    Activemq消息类型JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage.BytesMessage.和StreamMessage等五种.ActiveM ...

  3. ActiveMQ之二--JMS消息类型

    1.前言 //发送文本消息 session.createTextMessage(msg); //接受文本消息 public void onMessage(Message msg) { TextMess ...

  4. ActiveMQ常见消息类型

    JMS由下面三部分组成:消息头.属性.消息体.其中消息体定义了五种消息体格式,也可以称为消息类型. JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage. ...

  5. Activemq 消息类型 (转)

    Activemq消息类型JMS规范中的消息类型包括TextMessage.MapMessage.ObjectMessage.BytesMessage.和StreamMessage等五种.ActiveM ...

  6. Language Guide (proto3) | proto3 语言指南(一)定义消息类型

    定义消息类型 首先让我们看一个非常简单的例子.假设您想定义一个搜索请求消息格式,其中每个搜索请求都有一个查询字符串.您感兴趣的特定结果页以及每页的结果数.下面是用于定义.proto消息类型的文件. s ...

  7. 分析器错误消息: 类型“test.test.testx”不明确: 它可能来自程序集“F:\testProject\bin\test.test.DLL”或程序集“F:\testProject\bin \testProject.DLL”。请在类型名称中显式指定程序集。

    问题描述: RT 分析器错误消息: 类型“test.test.testx”不明确: 它可能来自程序集“F:\testProject\bin\test.test.DLL”或程序集“F:\testProj ...

  8. 编译器错误消息: CS0234: 命名空间“Purple”中不存在类型或命名空间名称“Model”(是否缺少程序集引用?)

    编译错误 “/storeimg”应用程序中的服务器错误. 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息: CS023 ...

  9. 如何应用.NET中的消息队列服务

    建立一个队列是应用MSMQ的第一步.您可以通过Windows计算机管理控制台中的消息队列选项完成这一操作,或者自己编程建立一个队列.列表A中的C#代码建立了一个新的私有MSMQ消息队列(如果不存在队列 ...

  10. Delphi中window消息截获的实现方式(2)

    Delphi是Borland公司提供的一种全新的WINDOWS编程开发工具.由于它采用了具有弹性的和可重用的面向对象Pascal(object-orientedpascal)语言,并有强大的数据库引擎 ...

随机推荐

  1. 「Cnoi2020」Cirno's Easy Round

    目录 前言 A 光图 分析 代码 B 向量 分析 C 高维 分析 D 四角链 分析 代码 E 领域极限 分析 代码 F 明天后的幻想乡 题目 前言 200分果断自闭,F是原题,所以就用原题算了 A,B ...

  2. #根号分治,树上倍增#洛谷 3591 [POI2015]ODW

    题目 分析 考虑直接用倍增跳会TLE,设\(f[x][i]\)表示以\(x\)为起点每次跳\(i\)步的点权和, 这可以预处理出来,综合一下两种做法,当\(i>\sqrt{n}\)时直接上倍增, ...

  3. #循环节,gcd#JZOJ 5362 密码

    题目 询问一个排列\(A\)是否能够通过\(A_i=A_{A_i}\)得到, 同时还要满足给定的两个数通过加减或者交换能够得到已知的两个数 分析 下面的就是要保证\(\gcd\)相同,但是还有上面的操 ...

  4. Qt使用https协议发送带参数的post请求

    背景: 现在公司项目需要做一个检测更新的功能,通过访问后台接口,判断是否需要更新. 后台接口是 https 协议的,接口需要post请求,需要带参数,来判断是哪个软件需要做检测更新的操作. 客户端软件 ...

  5. Linux Ubuntu安装配置教程

    Ubuntu是一个基于Linux的开源操作系统,它遵循GNU通用公共许可证,用户可以自由使用.复制.分发和修改.它提供直观易用的桌面环境,适合新手和有经验用户.Ubuntu有强大的软件中心,支持多硬件 ...

  6. sql 语句系列(分割ip)[八百章之第十四章]

    前言 单独列出的章节.因为用处比较多. mysql select SUBSTRING_INDEX(SUBSTRING_INDEX("192.168.1.1",".&quo ...

  7. signalr 应用于微信小程序(一)

    前言 在2017年基于signalr 和微信小程序 写的脚本. 正文 先安装signalr: 1.安装singalr,用nutget就行,用这个包管理就行. 2.使用singalr 3.根据singa ...

  8. golang开发 深入理解 context

    context的历史 context包在Go 1.7版本正式加入Go标准库.在加入之前我们看看Go团队核心成员Sameer Ajmani在2014年发表的一篇关于context介绍博客,地址:http ...

  9. Web Audio API 第5章 音频的分析与可视化

    到目前为止,我们仅讨论了音频的合成与处理,但这仅是 Web Audio API 提供的一半功能.另一半功能则是音频的分析,它播放起来应该是什么样子的.它最典型的例子就是音频可视化,但其实有更多的其它应 ...

  10. 【Oracle】Oracle数据库,第N大数据取值

    Oracle数据库,第N大数据取值 没想到力扣还有数据库的练习,正好本菜鸡跑过来练手 要显示第二大的数据可以使用order by进行排序,然后用limit对显示的数据进行限制,limit1,1,以此来 ...