ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

5GNR UE开机到时间同步的全过程

2026/8/5 11:12:57 拓冰建站 浏览量
5GNR UE开机到时间同步的全过程

**博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!**

有问题欢迎评论区讨论交流,大家一起学习~


文章目录

  • 概要
  • 场景设定
  • 1 接收下行IQ数据
  • 2 检测CP确认符号边界
  • 3 寻找SSB → 连续4个符号确认为SSB block
  • 4 从采样位置算出 slot 和 symbol → 确定"几楼几号房"
    • 4.1 UE都已经找到了SSB,为什么还不知道是属于前半帧还是后半帧
  • 5 解码SSB符号1 — PSS检测 → 确定NID2
  • 6 解码SSB符号3 — SSS检测 → 确定NID1
  • 7 解码SSB符号2+4 — PBCH/MIB → 确定"哪栋楼、A座还是B座"
  • 8 UE开始接入小区
  • 9 总结对照表

概要

本文用生动形象的例子说明下行同步的过程。
假如:

  • 你在一栋楼里醒来,什么都不知道。
  • 这栋楼有A座和B座,结构完全相同
  • 你需要搞清楚:我在哪栋楼(SFN)?A座还是B座(半帧)?几楼(slot)?哪个房间(symbol)?

场景设定

基站配置:

  • 30kHz SCS (numerology 1)
  • PCI = 148 (NID1=49, NID2=1)
  • SSB在SFN=83帧的后半帧发送
  • SSB#2 (起始在半帧内符号16)

1 接收下行IQ数据

比喻: 你刚醒来,先确认眼睛能看到东西(有光/有信号)

UE开始接收下行IQ采样流:
…0000000000[有信号有信号有信号有信号有信号]00000…

检查: 整个IQ数据里面是否有数据(长度是否非零)?

2 检测CP确认符号边界

比喻:

你开始用手摸墙壁,找到了重复的花纹(CP是符号尾部的拷贝)

原理:
CP是OFDM符号尾部拷贝到开头的一段,找到重复就是符号边界

IQ流中某段:
[CP][数据尾部]
↑ ↑
这两段相同!

方法:
取一段采样,和距离FFT size后的采样做对比

  • 相似度高 → 这里是CP开始的位置 → 符号边界!
  • 相似度低 → 不是边界,继续滑动

位置100: 对比相似度 = 0.1 (低, 不是)
位置200: 对比相似度 = 0.2 (低, 不是)

位置4416: 对比相似度 = 0.95 (高!) → 找到一个CP!
位置6608: 对比相似度 = 0.93 (高!) → 又找到一个CP!
位置8800: 对比相似度 = 0.94 (高!) → 又一个!
位置10992: 对比相似度 = 0.92 (高!) → 又一个!

结果:找到了多个CP位置 → 哪个对比度高就当作CP位置,从而知道了符号边界在哪,但还不知道: 哪些符号是SSB?

3 寻找SSB → 连续4个符号确认为SSB block

比喻: 你发现走廊里有4扇连续的特殊门(和普通门不一样),这就是"公告栏区域"(SSB)
SSB的4个symbol是连续的,所以从找到的多个CP匹配结果中去寻找找是否有连续的4个符号,

找到的CP位置:
…| sym | sym | sym | sym | sym | sym | sym | sym |…
↑ ↑ ↑ ↑
CP✓ CP✓ CP✓ CP✓
连续4个!→ 这很可能是SSB!

4 从采样位置算出 slot 和 symbol → 确定"几楼几号房"

SSB的位置一旦确定后,就可以知道了采样点smaples的绝对位置。

  • 1个slot是14symbol
  • 14个symbols 包含长短symbol
  • 所以1个slot samples长度 = 长symbol fftSize +CP + 13*(短symbols fftSize +CP) samples

例子:假如有如下设定:

  • 找到的SSB的位置是: 35136 samples
  • 1个slot = 30720 samples
  • 长symbol长度(含CP) = 2224 samples
  • 短symbol长度(含CP) = 2192 samples

计算slot位置= 35136/20720 =1
计算symbol位置= 35135%20720 = 4416samples =symbol2

  • slot内:
    • sym0: 0~2223 → 不是
    • sym1: 2224~4415 → 不是
    • sym2: 4416~6607 → 在这里! → symbol 2

确定SSB所在 半帧内符号编号 需要查表:不同numerology下SSB的候选起始符号位置

这里是slot=1, sym=2, 所以 = 1x14 + 2 = 16 → 查表 → SSB#2

结果:
✓ 半帧内 slot 1, symbol 2, SSB#2
✗ 但不知道是前半帧还是后半帧(A座还是B座?)

4.1 UE都已经找到了SSB,为什么还不知道是属于前半帧还是后半帧

38.213 ch4.1 给出了SSB的候选位置是5ms为周期定义。

For a half frame with SS/PBCH blocks, the first symbol indexes for candidate SS/PBCH blocks are determined according to the SCS of SS/PBCH blocks as follows, where index 0 corresponds to the first symbol of the first slot in a half-frame.

所以上一个章节中的SSB sample inde位置只是“半帧内的相对位置”,不是”帧内的相对位置“,即UE不知道这个5ms窗口是帧的哪个5ms:这同一个slot和symbol来自前半帧或者后半帧都有可能。

(10ms):|─────── 5ms ────────|─────── 5ms ────────|前半帧(slot0~9)后半帧(slot10~19)情况A: SSB在前半帧的slot1, sym2 → 帧内slot1 情况B: SSB在后半帧的slot1, sym2 → 帧内slot11

Note:

  • 只有解码MIB才能确认前/后半帧
  • 前后半帧原始是哪里得到的: 是GNB告诉UE是前还是后半帧,GNB在发送SSB时把halfRadioFrame这个bit编码在PBCH里, UE解码后读到

5 解码SSB符号1 — PSS检测 → 确定NID2

比喻: 走进SSB区域的第1扇门,墙上写着"子小区编号=1"

方法: 对SSB第1个符号做相关检测

接收信号 x PSS_0 → corr = 0.3 (小)
接收信号 x PSS_1 → corr = 7.8 (大!超门限) ← 匹配!
接收信号 x PSS_2 → corr = 0.1 (小)

结果:
✓ NID2 = 1

6 解码SSB符号3 — SSS检测 → 确定NID1

比喻: 走进第3扇门,墙上写着"小区组=49"

方法: 利用已知NID2=1,遍历336个候选SSS序列做相关

NID1=48: corr = +1.2 (小)
NID1=49: corr = +7.6 (大!超门限) ← 匹配!
NID1=50: corr = -0.3 (小)

结果:
✓ NID1 = 49
✓ PCI = 49x3 + 1 = 148

7 解码SSB符号2+4 — PBCH/MIB → 确定"哪栋楼、A座还是B座"

比喻:

你在一栋楼里醒来,发现自己在"3楼左边第二个房间"。
但这栋楼有A座和B座,结构完全相同。
你不知道自己在A座还是B座。
然后你看到门上贴着标签:“第83栋B座”。 ← 这就是MIB!

方法:

用PCI=148解调PBCH → 极化码解码 → CRC校验 → 提取字段 → 信道估计 → 均衡 → QPSK解调 → 解扰 → 解码 → CRC通过!

MIB内容:

┌─────────────────────────────────────────────────┐
│ mibSfnMsb = 5 → SFN高6位 │
│ sfnLsb = 3 → SFN低4位 │
│ halfRadioFrame = 1 → 后半帧 (B座!) │
│ ssbBlockIndex = 2 → SSB#2 │
│ pdcchConfigSIB1 = 0x4A → 去哪找SIB1 │
│ cellBarred = 0 → 允许接入 │
└─────────────────────────────────────────────────┘

计算SFN:

SFN = (5 << 4) | 3 = 83

结果:

✓ SFN = 83 → “第83栋楼”
✓ 后半帧 → “B座”
✓ SSB#2 → beam编号
✓ 知道去哪找SIB1

最终结果: 时间同步完成!
UE现在完全知道

┌─────────────────────────┐
│ 小区身份: PCI = 148 │
│ 帧号: SFN = 83 │
│ 半帧: 后半帧 (5~10ms) │
│ 位置: slot 11, symbol 2 (帧内) │
│ beam: SSB#2 │
└─────────────────────── ─┘

对应到帧结构:SFN=83:

┌──────────────────────────────────────┬
│ 前半帧(A座) │ 后半帧(B座) │
│ slot 0 ~ 9 │ slot 10~19 │
│ │ ╔═════╗ │
│ │ slot11 ║SSB #2║ ← 你在这! │
│ │ sym2 ╚═════╝ │
└──────────────────────────────────────┴

8 UE开始接入小区

完成下行同步后,后续过程如下,章节会持续更新。。。

时间同步完成

监听PDCCH (pdcchConfigSIB1告诉了位置)

接收SIB1 (获取完整小区配置)

随机接入 (上报SSB#2给基站,告诉基站用beam#2和我通信)

连接建立 ✓ 可以打电话/上网了

9 总结对照表

步骤技术结果比喻
检测数据确认有信号确认眼睛能看到东西
检测CP符号边界摸到墙上重复的花纹
找SSB定位4个连续特殊符号找到4扇连续的特殊门
算偏移slot+symbol数台阶→3楼2号房
PSS检测N I D ( 2 ) = 1 N_{\mathrm{ID}}^{(2)}=1NID(2)=1第1扇门写着子编号
SSS检测N I D ( 1 ) = 49 ⇒ P C I = 148 N_{\mathrm{ID}}^{(1)}=49 \Rightarrow \mathrm{PCI}=148NID(1)=49PCI=148第3扇门写着组号
MIB解码S F N = 83 \mathrm{SFN}=83SFN=83,后半帧门上标签:“第83栋B座”