【协议详解】卫星通信5G IoT NTN SIB31-NB 信令详解

一. SIB31信令概述

SystemInformationBlockType31 (SIB31) 是 3GPP网络中的一种特定系统信息块,用于为服务小区提供卫星辅助信息。这种信息特别适用于非地面网络(NTN, Non-Terrestrial Networks),包括基于卫星的通信系统。

1. 用途:

SIB31 用于向 NTN 小区中的用户设备(UE)提供卫星特定的辅助数据。这些信息帮助 UE 在基于卫星的网络中优化连接和性能,因为卫星通信中存在传播延迟、多普勒频移等特殊挑战。

2. 仅适用于 NTN:

SIB31 仅在 NTN 小区中广播。在传统的地面网络(蜂窝网络)中,不会传输此 SIB。

3. 内容:

SIB31 中的卫星辅助信息可能包括:

  • 卫星星历数据:关于卫星位置和运动的信息。

  • 定时信息:用于补偿由于卫星与 UE 之间长距离传播导致的延迟。

  • 多普勒频移信息:帮助 UE 调整因卫星相对运动引起的频率偏移。

  • 小区特定参数:针对卫星小区独特特性的参数。

4. UE 行为:

当 UE 接收到 SIB31 后,会利用提供的卫星辅助信息来改善同步、移动性管理以及整体通信性能,从而更好地适应 NTN 环境。

SIB31 是一种专为支持 5G 网络中的 NTN 操作而设计的系统信息块。它向 UE 提供关键的卫星辅助信息,使 UE 能够在基于卫星的小区中有效通信。这是将 5G 连接扩展到全球和偏远地区的重要功能。

SIB31消息的ASN.1编码结构如下:

二. SIB31信令详解

SIB31 ASN.1消息包含多个信令(IE)。这些IE根据功能的不同,可以分为以下几类:

distanceThresh

  • 描述 :表示从服务小区参考位置的距离,用于在 RRC_IDLERRC_CONNECTED 状态下基于位置的测量启动(参见 TS 36.304 [4])。

  • 单位 :每个步长代表 50 米


epochTime

  • 描述:表示卫星星历数据和公共 TA(Timing Advance)参数的纪元时间(参见 TS 36.213 [23])。如果存在地球移动小区的参考位置,该字段也指示其纪元时间。

  • 参考点:纪元时间的参考点是上行链路时间同步参考点。

  • 具体说明

    • epochTime 是由 startSFNstartSubframe 指示的 DL(下行链路)子帧的起始时间。

    • 对于服务小区,startSFN 指示当前 SFN(系统帧号)或接收到 epochTime 消息后的下一个 SFN。

    • 如果该字段不存在,则纪元时间是承载 SIB31(-NB) 的 SI 消息传输结束时的 DL 子帧起始时间。

    • 在切换或条件切换情况下,该字段基于目标小区的定时,即 startSFNstartSubFrame 指示目标小区的 SFN 和子帧号。

  • 专用信令 :当通过专用信令提供 SIB31(-NB) 时,E-UTRAN 始终包含 epochTime


k-Mac

  • 描述:当下行链路和上行链路帧定时在 eNB 处未对齐时使用的调度偏移(参见 TS 36.213 [23])。

  • 单位:毫秒(ms)。

  • 默认值 :如果字段不存在,UE 使用默认值 0


k-Offset

  • 描述:用于 NTN 中定时关系的调度偏移(参见 TS 36.213 [23])。

  • 单位:毫秒(ms)。


nta-Common

  • 描述:网络控制的公共 TA(Timing Advance)参数(参见 TS 36.213 [23])。

  • 单位:微秒(μs)。

  • 步长 :每个步长为 32.55208 × 10⁻³ μs。实际值 = 字段值 × 32.55208 × 10⁻³。

  • 默认值 :如果字段不存在,UE 使用默认值 0


nta-CommonDrift

  • 描述:公共 TA 的漂移率(参见 TS 36.213 [23])。

  • 单位:微秒/秒(μs/s)。

  • 步长 :每个步长为 0.2 × 10⁻³ μs/s。实际值 = 字段值 × 0.2 × 10⁻³。

  • 默认值 :如果字段不存在,UE 使用默认值 0


nta-CommonDriftVariation

  • 描述:公共 TA 的漂移率变化(参见 TS 36.213 [23])。

  • 单位:微秒/秒²(μs/s²)。

  • 步长 :每个步长为 0.2 × 10⁻⁴ μs/s²。实际值 = 字段值 × 0.2 × 10⁻⁴。

  • 默认值 :如果字段不存在,UE 使用默认值 0


orbitalParameters

  • 描述 :卫星轨道参数的瞬时值。这些值至少在 ul-SyncValidityDurationepochTime 定义的持续时间内有效。

referenceLocation

  • 描述 :NTN(准)地球固定小区或地球移动小区的参考位置,用于在 RRC_IDLERRC_CONNECTED 状态下基于位置的测量启动(如果配置了 distanceThresh)。对于地球移动小区,广播的参考位置对应于 epochTime,并用于评估事件 D2 和条件事件 D2。

  • UE 行为:UE 基于服务卫星星历数据推导实时参考位置(参见 TS 36.304 [4])。


stateVectors

  • 描述 :卫星状态向量的瞬时值。这些值至少在 ul-SyncValidityDurationepochTime 定义的持续时间内有效。

ul-SyncValidityDuration

  • 描述 :卫星星历数据和公共 TA 参数的有效期,即 UE 可以应用卫星星历数据而无需获取新星历数据的最大时间(从 epochTime 开始计算,参见 TS 36.213 [23])。

  • 单位:秒(s)。

  • 取值

    • s5 对应 5 秒,

    • s10 对应 10 秒,

    • 以此类推。

  • 更新条件 :仅当 epochTimenta-CommonParametersephemerisInfo 中的至少一个更新时,ul-SyncValidityDuration 才会更新。

三. 星历信令解析

EphemerisOrbitalParameters 用于以 轨道参数 的形式提供卫星星历数据,其坐标系为 地心惯性坐标系(ECI, Earth-Centered Inertial)


关键点:

  • 坐标系

    • ECI(地心惯性坐标系):一种以地球为中心但不随地球旋转的坐标系,通常用于描述卫星轨道。

    • ECEF(地心地固坐标系):一种以地球为中心并随地球旋转的坐标系,通常用于地面定位。

    • 关系 :在 纪元时间(Epoch Time),ECI 和 ECEF 坐标系是重合的(即它们的 x、y、z 轴对齐)。

  • 用途

    • 提供卫星的轨道参数,用于计算卫星的位置和速度。

    • 这些参数在 纪元时间 是有效的,并且可以用于推导卫星在特定时间点的状态。

EphemerisOrbitalParameters消息的ASN.1编码结构如下:

EphemerisOrbitalParameters 中的轨道参数(六根数)定义如下

EphemerisOrbitalParameters 提供了卫星轨道的详细参数,包括平近点角、偏心率、倾角、升交点赤经、近地点幅角和半长轴。这些参数以特定的步长和单位进行编码,UE 可以通过字段值计算出实际值,从而推导卫星的轨道状态。这些信息对于 NTN 环境中的卫星通信至关重要。

EphemerisStateVectors 用于以 位置和速度状态向量 的形式提供卫星星历数据,其坐标系为 地心地固坐标系(ECEF, Earth-Centered Earth-Fixed)


关键点:

  • 坐标系

    • ECEF(地心地固坐标系):一种以地球为中心并随地球旋转的坐标系,通常用于地面定位和导航。

    • 在 ECEF 坐标系中,卫星的位置和速度可以直接用于计算与地面站的相对关系。

  • 用途

    • 提供卫星的位置和速度状态向量,用于精确描述卫星在特定时间点的运动状态。

    • 这些信息对于 UE 在 NTN 环境中的同步、测量和通信至关重要。

  • 状态向量

    • 位置向量(Position Vector):卫星在 ECEF 坐标系中的位置(x, y, z)。

    • 速度向量(Velocity Vector):卫星在 ECEF 坐标系中的速度(vx, vy, vz)。

  • 有效期

    • 状态向量的有效期通常由 ul-SyncValidityDuration 字段定义,表示从 纪元时间(Epoch Time) 开始的最大有效时间。

EphemerisStateVectors 消息的ASN.1编码结构如下:

四. SIB31的应用场景

非地面网络(NTN, Non-Terrestrial Networks) 中,由于卫星与地面用户设备(UE)之间的距离较远且卫星高速运动,UE 需要处理 传播延迟多普勒频移 问题。SystemInformationBlockType31 (SIB31) 提供了关键的信息,帮助 UE 实现传播延迟补偿和多普勒频移补偿。


1. 传播延迟补偿

传播延迟是由于信号在卫星与 UE 之间传播所需的时间引起的,尤其是在地球静止轨道(GEO)卫星中,延迟可能达到数百毫秒。SIB31 提供了以下信息来帮助 UE 补偿传播延迟:

SIB31 中的相关字段

  • nta-Common

    • 表示网络控制的公共定时提前量(TA, Timing Advance)。

    • 作用:UE 根据此值调整上行链路信号的发送时间,以补偿传播延迟。

  • epochTime

    • 表示卫星星历数据和公共 TA 参数的纪元时间。

    • 作用:UE 使用此时间作为参考点,计算当前的传播延迟。

  • ul-SyncValidityDuration

    • 表示卫星星历数据和公共 TA 参数的有效期。

    • 作用:UE 在此有效期内应用 TA 值,超出有效期后需要重新获取 SIB31。

UE 的处理流程

  1. 接收 SIB31

    • UE 从服务小区接收 SIB31,提取 nta-CommonepochTime 字段。
  2. 计算传播延迟

    • UE 根据 nta-Common 提供的 TA 值,计算当前的上行链路定时调整量。

    • 例如,如果 nta-Common 字段值为 100,则实际 TA 值 = 100 × 32.55208 × 10⁻³ = 3.255208 μs。

  3. 调整上行链路定时

    • UE 根据计算出的 TA 值,提前发送上行链路信号,以补偿传播延迟。

    • 例如,如果传播延迟为 10 ms,UE 会提前 10 ms 发送上行链路信号。

  4. 有效期管理

    • UE 在 ul-SyncValidityDuration 定义的有效期内使用当前的 TA 值,超出有效期后重新获取 SIB31 并更新 TA 值。

2. 多普勒频移补偿

多普勒频移是由于卫星与 UE 之间的相对运动引起的频率偏移。SIB31 提供了以下信息来帮助 UE 补偿多普勒频移:

SIB31 中的相关字段

  • velocityVX, velocityVY, velocityVZ

    • 表示卫星在 ECEF 坐标系中的速度向量。

    • 作用:UE 根据卫星速度计算多普勒频移。

  • stateVectors

    • 表示卫星的状态向量(位置和速度)。

    • 作用:UE 使用此信息计算卫星与 UE 之间的相对速度。

  • orbitalParameters

    • 表示卫星的轨道参数。

    • 作用:UE 使用此信息推导卫星的实时位置和速度。

UE 的处理流程

  1. 接收 SIB31

    • UE 从服务小区接收 SIB31,提取 velocityVXvelocityVYvelocityVZstateVectors 字段。
  2. 计算卫星速度

    • UE 根据 velocityVXvelocityVYvelocityVZ 字段计算卫星的实际速度。
  3. 计算多普勒频移

    • UE 根据卫星速度和 UE 自身的运动状态,计算多普勒频移。
  4. 调整上行链路频率

    • UE 根据计算出的多普勒频移,调整上行链路信号的发送频率,以补偿频率偏移。

    • 例如,如果多普勒频移为 1 kHz,UE 会将上行链路频率增加 1 kHz。

  5. 动态更新

    • 由于卫星和 UE 的运动状态可能随时间变化,UE 需要定期接收 SIB31 并更新多普勒频移补偿值。

通过以上处理,UE 能够在 NTN 环境中实现高效同步和通信,克服卫星通信中的传播延迟和多普勒频移挑战。

相关推荐
DKPT39 分钟前
计算机网络之计算机网络的分类
开发语言·笔记·学习·计算机网络·算法
Sunsets_Red2 小时前
[ABC137E] Coins Respawn 题解
linux·c++·学习·算法·深度优先·信息与通信
yqcoder4 小时前
原生 Node 开发 Web 服务器
运维·服务器·前端·javascript·node.js
朝九晚五ฺ4 小时前
【Linux探索学习】第二十七弹——信号(一):Linux 信号基础详解
linux·运维·服务器·学习
滚雪球~5 小时前
宝塔面板SSL加密访问设置教程
网络·网络协议·ssl
常应常静ZZY5 小时前
fatal error C1083: ޷[特殊字符]ļ: openssl/opensslv.h: No such file or directory
学习
GIS小小研究僧5 小时前
PostGIS笔记:PostgreSQL中表、键和索引的基础操作
数据库·笔记·postgresql
随地大小学的码农5 小时前
二次封装的方法
前端·javascript·vue.js
Suwg2095 小时前
《Effective Java》学习笔记——第8部分 序列化
java·笔记·学习
爱煲汤的夏二5 小时前
小阿卡纳牌
笔记