目录

消息

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. #线段树,倒序#CF356A Knight Tournament

    题目 分析 要求覆盖必须是第一个覆盖的, 考虑最后一个覆盖的很简单做线段树区间赋值, 那么倒序区间赋值就可以了 代码 #include <cstdio> #include <ccty ...

  2. 一图读懂DCI版权服务

    访问华为开发者联盟官网 获取开发指导文档 华为移动服务开源仓库地址:GitHub.Gitee 关注我们,第一时间了解 HMS Core 最新技术资讯~

  3. Android 开发入门(1)

    0x01 准备 (1)概述 安卓(Android)基于 Linux 内核开发的操作系统,由 Google 等领导开发. (2)版本 Android 版本号 API 发布时间 Android 14 - ...

  4. Python 爬虫初探

    准备部分 0x01 爬虫的简介和价值 a. 简介 自动抓取互联网数据的程序,是基础技术之一 b. 价值 快速提取网络中有价值的信息 0x02 爬虫的开发环境 a. 环境清单 Python3.7 开发环 ...

  5. CentOS升级内核-- CentOS9 Stream/CentOS8 Stream/CentOS7

    官方文档在此 升级原因 当我们安装一些软件(对,我说的就是Kubernetes),可能需要新内核的支持,而CentOS又比较保守,不太升级,所以需要我们手工升级. # 看下目前是什么版本内核 unam ...

  6. 如何用vsftpd实现用户不同权限:只能下载,可上传,管理权限等 [仅供参考未亲测]

    如何用vsftpd实现用户不同权限:只能下载,可上传,管理权限等  2007-01-29 10:20:09 分类: LINUX 前提条件:       必须安装包:vsftpd-2.0.1-5     ...

  7. 美团二面:如何保证Redis与Mysql双写一致性?连续两个面试问到了!

    引言 Redis作为一款高效的内存数据存储系统,凭借其优异的读写性能和丰富的数据结构支持,被广泛应用于缓存层以提升整个系统的响应速度和吞吐量.尤其是在与关系型数据库(如MySQL.PostgreSQL ...

  8. 阿里云EMAS旗下低代码平台Mobi开放定向内测

    ​简介:[低代码深度共创]EMAS旗下低代码平台Mobi开放定向内测名额,限时限量,参与调研先到先得! Mobi是面向全端(Web.Native App.H5.全平台小程序等)场景,模型驱动的低代码开 ...

  9. Apache Flink 在实时金融数据湖的应用

    简介: 本文由京东搜索算法架构团队分享,主要介绍 Apache Flink 在京东商品搜索排序在线学习中的应用实践 一.背景 在京东的商品搜索排序中,经常会遇到搜索结果多样性不足导致系统非最优解的问题 ...

  10. 解决 Serverless 落地困难的关键,是给开发者足够的“安全感”

    ​简介:越来越多的云产品都会向全托管.Serverless 形态演进.当云的产品体系 Serverless 化达到一个临界值,通过函数计算这样的 Serverless 计算服务结合其他 Serverl ...