目录

消息

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. #启发式合并,链表#洛谷 3201 [HNOI2009] 梦幻布丁

    题目 \(n\)个布丁摆成一行,进行\(m\)次操作. 每次将某个颜色的布丁全部变成另一种颜色的, 然后再询问当前一共有多少段颜色. (\(n,m\leq 10^5,col\leq 10^6\)) 分 ...

  2. JDK10的新特性:本地变量类型var

    目录 简介 为什么我们需要var var使用在什么地方 var不能用在什么地方 其他var的特点 总结 简介 java以面向对象的特性显著于世并得到了蓬勃的发展.在语言的发展过程中,为了让java语言 ...

  3. OpenHarmony社区运营报告(2023年9月)

      ●9月12日,由宁夏回族自治区教育厅.OpenAtom OpenHarmony(以下简称"OpenHarmony")项目群工作委员会指导,北京新大陆时代科技有限公司主办,宁夏职 ...

  4. HTTP 使用指南

    0x1 初识 HTTP 协议 网页加载流程 graph LR A(user 输入网址)==>B(browser 进程) B==>C(处理输入信息) B-->D(页面加载完成) C== ...

  5. win7自带屏幕录像工具

    win7自带屏幕录像工具 2012-03-28 09:23:05      我来说两句      收藏     我要投稿 相信win7自带的屏幕录像工具很多朋友都没用过甚至没有听说过,   但是这款实 ...

  6. Thread.Suspend和Abort 的区别

    理解: 在C#中,Thread.Suspend是一个方法,用于暂停当前线程的执行.它会导致线程停止执行并进入挂起状态,直到调用Thread.Resume方法才能继续执行. 然而,Thread.Susp ...

  7. 浅谈TypeScript对业务可维护性的影响

    前言 笔者认为, TypeScript是服务于业务的, 核心就是提高代码的可维护性. TypeScript是把双刃剑, 如果类型系统使用的不好, 反而会阻碍开发, 甚至最后就变成了anyScript. ...

  8. 记一次WPF的DataGrid绑定数据

    之前一直在用winform,但是感觉界面不好看,然后就自己在网上学习WPF.一开始看到DataGrid的时候,还以为它是DataGridView,然后用winform的方法绑定数据发现不行,在不断的查 ...

  9. 力扣27(java&python)-移除元素(简单)

    题目: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度. 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入 ...

  10. 技术干货 | Native 页面下如何实现导航栏的定制化开发?

    ​简介: 通过不同实际场景的描述,供大家参考完成 Native 页面的定制化开发. ​ 很多 mPaaS Coder 在接入 H5 容器后都会对容器的导航栏进行深度定制,本文旨在通过不同实际场景的描述 ...