尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

5G NR小区搜索全流程解析:从PSS/SSS到SIB1解码与外场优化

发布时间:2026/9/27 21:03:24

资讯中心
01
ARTICLE

5G NR小区搜索全流程解析:从PSS/SSS到SIB1解码与外场优化

5G NR小区搜索全流程解析:从PSS/SSS到SIB1解码与外场优化
简介这份文档面向5G网络优化工程师、无线接入网研发人员及通信专业学习者系统梳理了NR终端从开机到驻留小区所经历的小区搜索与SIB1探测全流程帮助读者理解连接建立的第一步为何是网络优化的关键环节。资源为单个docx文件压缩包约15KB内容围绕3GPP TS 38.300-5.2.5.3展开依次讲解频率调谐、PSS/SSS检测、PBCH与MIB解码、基于pdcch-ConfigSIB1定位CORESET0与搜索空间、DCI 1_0盲解、SI-RNTI解析、PDSCH检测及SIB1与其他SIBs解码等九个阶段并特别说明SSB探测如何将PSS/SSS检测与PBCH解码合并为一步以提升效率。目前已有375人学习适合需要快速掌握小区搜索信令脉络、排查接入失败与弱信号高移动场景问题的读者作为案头参考。1. 5G(NR)小区搜索到底在搜什么从PSS/SSS到SIB1的完整链路做5G网络优化的人迟早会碰到一个绕不开的问题终端明明在信号覆盖范围内却迟迟驻留不上小区或者驻留了但业务建立失败。翻遍路测日志最后往往指向同一个环节——小区搜索没走完或者SIB1没读全。这份文档把TS 38.300 5.2.5.3里定义的小区搜索流程拆成了九个步骤从频率调谐一路讲到SIB1解码核心价值在于把“终端怎么从一片空白到能接入网络”这件事讲透了。它适合两类人一是做外场优化、需要定位接入失败根因的工程师二是做终端侧协议栈开发、需要对齐3GPP流程的实现者。文档本身是docx格式内容围绕流程定义展开不涉及具体厂商私有实现属于标准流程的工程化梳理。2. 小区搜索的物理层基础PSS、SSS和PBCH-DMRS怎么配合2.1 同步信号的三件套各自负责什么5G NR的小区搜索依赖三个物理信号PSS主同步信号、SSS次同步信号和PBCH上的DMRS解调参考信号。PSS和SSS合起来叫SSB同步信号块里的同步栅格部分终端通过检测这两个信号拿到时间和频率同步同时确定物理小区IDPCI的一部分。具体来说NR定义了1008个PCIPSS承载其中3个取值0/1/2对应小区ID的N_ID(2)SSS承载336个取值0~335对应N_ID(1)。最终PCI 3 × N_ID(1) N_ID(2)。这个设计比LTE的504个PCI多了整整一倍目的是降低小区间PCI冲突的概率尤其是在密集组网场景下。PBCH上的DMRS则负责另一件事终端在解码PBCH时需要知道PBCH的参考信号长什么样才能做信道估计。NR的PBCH DMRS序列与PCI和SSB索引SSB index都有关联终端在盲检PBCH时会尝试不同的DMRS假设直到解出MIB。这里有个容易混淆的点PSS/SSS检测和PBCH解码在流程上可以合并成一步也就是文档里提到的“SSB探测”。实际实现中终端芯片通常会在同一个处理窗口内完成PSS/SSS相关和PBCH DMRS相关再统一做PBCH解码。2.2 同步栅格与信道栅格的区别文档里提到了“同步栅格synchronization raster”这个概念和“信道栅格channel raster”经常被搞混。信道栅格是终端调谐频率时的最小步长NR在FR1里定义了多种信道栅格比如100kHz、15kHz等取决于频段。而同步栅格是SSB可能出现的频点集合终端在小区搜索时不需要扫描所有信道栅格点只需要在同步栅格上尝试。NR的同步栅格在FR1里定义了全局同步信道号GSCN每个GSCN对应一个SSB中心频点。终端开机后会按照GSCN列表逐个尝试而不是全频段盲扫。这个设计大幅缩短了初始小区搜索的时间。注意同步栅格和信道栅格不是一回事。做频率规划时如果只对齐了信道栅格而忽略了同步栅格终端可能根本找不到SSB。2.3 SSB的时域结构为什么终端知道去哪里找NR的SSB在时域上由4个OFDM符号组成第0个符号是PSS第1个符号是PBCH第2个符号是SSS和PBCH频分复用第3个符号是PBCH。SSB在半个无线帧5ms内可以配置多个候选位置具体取决于子载波间隔。比如15kHz SCS下候选位置有4个30kHz SCS下有8个120kHz SCS下有64个。终端在小区搜索时会按照这些候选位置逐个尝试检测PSS。一旦检测到PSS终端就知道了SSB的时域位置进而知道帧边界的大致位置。这里的关键参数是ssb-PositionsInBurst它在MIB里指示了实际发送了哪些SSB。终端在初始搜索阶段还不知道这个参数所以需要盲检所有候选位置。2.4 从PSS/SSS到PBCH终端怎么一步步缩小范围终端调谐到某个GSCN频点后第一步是检测PSS。PSS在时域上是一个长度为127的Zadoff-Chu序列终端通过滑动相关找到峰值确定SSB的起始符号。第二步是检测SSSSSS序列与PSS序列有固定的映射关系终端在PSS已知的情况下解出SSS得到完整的PCI。第三步是解码PBCH。PBCH携带MIBMIB里包含系统帧号SFN的高位、子载波间隔、pdcch-ConfigSIB1等关键信息。PBCH的DMRS序列与PCI和SSB index绑定终端在已知PCI的情况下只需要盲检SSB index和半帧指示。PBCH解码成功后终端就拿到了MIB小区搜索的第一阶段完成。这一步的失败模式很典型PSS检测不到通常是频点不对或者信号太弱SSS检测到了但PBCH解不出来往往是DMRS假设不对或者信道条件太差。外场优化时如果发现终端在某个频点反复尝试但始终读不到MIB优先检查该频点的SSB功率和波束配置。3. 从MIB到SIB1CORESET0和DCI 1_0的盲检逻辑3.1 MIB里的pdcch-ConfigSIB1到底给了什么MIB解码成功后终端拿到的最关键参数是pdcch-ConfigSIB1。这个参数只有8个比特但信息量很大它指示了CORESET0的时频资源位置和PDCCH的搜索空间配置。具体来说这8个比特分成两部分高4位是controlResourceSetZero低4位是searchSpaceZero。controlResourceSetZero对应一张协议预定义的表格终端根据这个值查表得到CORESET0的频域宽度以RB为单位、时域符号数1/2/3个符号和频域偏移。searchSpaceZero则指示了PDCCH监听时机包括监听周期和偏移。这里有个工程上容易踩的坑CORESET0的频域位置是相对于SSB的而不是相对于载波中心。终端在解码MIB之前只知道SSB的位置所以协议设计上让CORESET0的频域资源与SSB绑定。具体来说CORESET0的频域起始RB是根据SSB的RB偏移和controlResourceSetZero查表得到的。如果网络侧配置的CORESET0与SSB频域关系不对终端就找不到PDCCHSIB1自然读不到。3.2 CORESET0的时频资源解析CORESET0是终端在初始接入阶段唯一能用的控制资源集。它的频域宽度可以是24、48或96个RB时域长度可以是1、2或3个OFDM符号。具体取值由controlResourceSetZero查表决定。表格在TS 38.213的Table 13-1到13-10里定义不同频段和子载波间隔对应不同的表格。终端在解码MIB后根据pdcch-ConfigSIB1的高4位和当前频段、SCS查表得到CORESET0的具体配置。频域偏移的计算稍微复杂一些。以FR1为例CORESET0的RB起始位置 SSB的RB起始位置 偏移值。偏移值由表格给出单位是RB。终端在已知SSB频域位置的情况下加上偏移就得到了CORESET0的频域位置。如果这个位置超出了当前载波的带宽范围终端就认为该小区不可接入。外场优化时如果发现终端能读到MIB但读不到SIB1优先检查CORESET0的频域配置是否与SSB对齐。3.3 DCI 1_0的盲检SI-RNTI加扰的PDCCH怎么找终端在CORESET0里监听PDCCH目的是找到用SI-RNTI加扰的DCI 1_0。SI-RNTI是一个固定值0xFFFF终端在初始接入阶段不需要额外配置就知道。DCI 1_0的格式在TS 38.212里定义用于调度SIB1的PDSCH。终端在搜索空间里按照预定义的聚合等级AL和候选位置进行盲检。NR的PDCCH盲检次数比LTE少因为引入了CORESET和搜索空间的概念终端不需要全盲扫。盲检的具体过程是终端对每个候选位置用SI-RNTI解扰PDCCH的CRC如果CRC校验通过就认为找到了DCI 1_0。DCI 1_0里包含频域资源分配、时域资源分配、调制编码方案MCS、冗余版本等参数。终端根据这些参数去解码PDSCH上的SIB1。这里的关键是搜索空间的监听时机searchSpaceZero查表得到的是PDCCH的监听周期和偏移单位是时隙。终端只在特定的时隙里监听PDCCH而不是每个时隙都监听。3.4 一个可复现的SIB1解码流程下面用伪代码描述终端从MIB到SIB1的完整处理逻辑方便对照协议实现# 假设已经完成SSB探测拿到MIB mib decode_pbch(ssb_buffer) # 从MIB提取pdcch-ConfigSIB1 pdcch_config_sib1 mib.pdcch_ConfigSIB1 # 8 bits coreset0_index (pdcch_config_sib1 4) 0x0F # 高4位 searchspace0_index pdcch_config_sib1 0x0F # 低4位 # 根据频段和SCS查表得到CORESET0配置 # 表格来源TS 38.213 Table 13-1 ~ 13-10 coreset0 lookup_coreset0_table(coreset0_index, band, scs) # coreset0包含频域RB数、时域符号数、频域偏移 # 计算CORESET0的频域起始RB ssb_rb_start get_ssb_rb_start(ssb_frequency, scs) coreset0_rb_start ssb_rb_start coreset0.freq_offset # 根据searchspace0_index查表得到PDCCH监听时机 searchspace0 lookup_searchspace0_table(searchspace0_index, scs) # searchspace0包含监听周期时隙数、偏移时隙数 # 在CORESET0里盲检SI-RNTI加扰的DCI 1_0 si_rnti 0xFFFF for slot in searchspace0.monitoring_slots: for candidate in searchspace0.candidates: dci blind_decode_pdcch(coreset0, slot, candidate, si_rnti) if dci is not None: # 找到DCI 1_0解析PDSCH调度信息 break # 根据DCI 1_0调度信息解码PDSCH上的SIB1 sib1 decode_pdsch(dci.freq_alloc, dci.time_alloc, dci.mcs)这段逻辑的核心是查表和盲检。lookup_coreset0_table和lookup_searchspace0_table对应协议里的预定义表格实现时直接硬编码即可。盲检部分需要注意终端在初始接入阶段只监听SI-RNTI不需要监听其他RNTI。如果在这一步失败常见原因是CORESET0配置与SSB不对齐或者搜索空间监听时机配错。提示做协议栈开发时CORESET0的查表逻辑建议直接对照TS 38.213的表格逐项核对不要凭记忆写。不同频段和SCS对应的表格不同搞混了会导致终端在特定频段上无法接入。4. 外场优化中小区搜索的避坑与排查4.1 现象终端反复尝试但始终读不到MIB原因最常见的是SSB频点与终端搜索的GSCN不匹配。NR的同步栅格在FR1里不是连续的终端按照GSCN列表逐个尝试如果网络侧配置的SSB频点不在终端支持的GSCN列表里终端就永远找不到。另一个原因是SSB功率配置过低终端在PSS检测阶段就失败了。解决先确认网络侧SSB的频点配置对照终端支持的GSCN列表检查是否在范围内。如果是功率问题调整SSB的功率偏移ss-PBCH-BlockPower确保终端在小区边缘也能检测到PSS。外场测试时可以用扫频仪确认SSB的实际发射频点和功率再与终端日志对比。4.2 现象MIB能读到但SIB1读不到原因CORESET0的频域配置与SSB不对齐或者pdcch-ConfigSIB1的配置值与实际网络侧不一致。另一个常见原因是PDCCH的聚合等级配置过高终端在弱信号下无法解调。解决检查MIB里的pdcch-ConfigSIB1值查表得到CORESET0的频域起始RB确认是否与SSB的RB位置对齐。如果不对齐需要调整网络侧的CORESET0配置。聚合等级方面初始接入阶段通常用AL8或AL16如果外场发现终端在弱场下读不到SIB1可以尝试降低聚合等级但要注意覆盖和容量的平衡。4.3 现象SIB1能读到但终端不驻留原因SIB1里的cellBarred字段被设置为barred或者cellReservedForOperatorUse被设置为reserved。另一个原因是SIB1里的q-RxLevMin设置过高终端认为当前信号质量不满足驻留条件。解决检查SIB1里的cellBarred和cellReservedForOperatorUse字段。如果是barred说明该小区被禁止接入需要确认是否是有意配置。如果是q-RxLevMin问题根据外场实测的RSRP调整该参数确保终端在目标覆盖区域内能正常驻留。4.4 现象终端在多个频点间反复跳转原因终端在某个频点读不到SIB1后会回到第一步重新调谐到下一个GSCN。如果多个频点都读不到SIB1终端就会在频点间反复跳转导致接入时间过长。常见原因是网络侧多个频点的CORESET0配置不一致或者某些频点的SSB功率不足。解决检查各频点的CORESET0配置是否一致确保终端在每个频点都能正常读到SIB1。如果某些频点确实不需要终端驻留可以在SIB1里设置cellBarred让终端快速跳过。外场优化时建议用终端侧日志记录每次频点跳转的原因定位是哪个频点出了问题。4.5 现象NSA组网下终端搜不到NR小区原因NSA组网下NR小区的搜索依赖于LTE锚点提供的NR测量配置。如果LTE侧没有下发正确的B1或B2测量事件终端不会主动搜索NR小区。另一个原因是NR小区的SSB频点没有在LTE侧的测量配置里正确指示。解决检查LTE侧的RRC重配置消息确认measConfig里包含了NR的测量对象且ssbFrequency指向了正确的GSCN。如果终端仍然搜不到检查NR小区的SSB是否实际发送以及功率是否足够。NSA场景下NR小区的搜索时机和独立组网不同终端只在LTE侧指示的测量间隙里搜索NR所以测量间隙的配置也会影响搜索成功率。5. 进阶技巧用QGIS和终端日志交叉验证小区搜索流程5.1 把终端日志里的SSB信息落到地图上外场优化时终端日志里会记录每次SSB探测的PCI、RSRP、SSB index等信息。把这些信息导出成CSV用QGIS加载可以直观看到终端在哪些位置能搜到小区、哪些位置搜不到。具体做法是从日志里提取SSB_RSRP和PCI字段加上GPS经纬度生成点图层。然后按RSRP值做分级渲染红色表示弱覆盖绿色表示好覆盖。这样一眼就能看出小区搜索失败的区域是否与弱覆盖区域重合。如果发现某个PCI在多个位置都搜不到但该位置的RSRP并不差那问题可能出在SSB的波束配置上。NR的SSB是波束赋形的每个SSB index对应一个波束方向。如果某个方向的波束功率不足终端在该方向就搜不到SSB。这时候需要检查网络侧的SSB波束配置确认是否所有方向的波束都正常发送。5.2 用SIB1解码成功率定位CORESET0配置问题终端日志里通常会记录SIB1解码的成功和失败次数。把SIB1解码成功率按小区和频点统计如果某个小区的成功率明显偏低优先检查该小区的CORESET0配置。具体做法是从MIB里提取pdcch-ConfigSIB1值查表得到CORESET0的频域起始RB然后与SSB的RB位置对比。如果偏移量不在协议允许的范围内终端就解不到PDCCH。这里有个实操技巧把CORESET0的频域配置和SSB的频域配置画在同一张频谱图上直观对比两者的相对位置。如果CORESET0的RB完全落在SSB的RB范围之外且偏移量超过了协议表格的最大值那基本可以确定是配置错误。这种问题在跨频段组网时特别常见因为不同频段的表格不同配置时容易搞混。5.3 一个我踩过的坑忽略SSB index导致误判有一次外场测试终端在某个位置始终读不到SIB1但SSB RSRP很好。查了半天CORESET0配置发现没问题。后来把终端日志里的SSB index打出来发现终端只检测到了SSB index 0而网络侧实际发送了8个SSB。原因是终端在初始搜索阶段只尝试了SSB index 0的PBCH DMRS假设没有遍历所有候选位置。后来在终端侧调整了盲检策略遍历所有SSB index问题解决。从那以后我每次排查SIB1解码失败都强制走一遍SSB index的检查先确认网络侧实际发送了哪些SSB再确认终端日志里检测到了哪些SSB两者对比就能快速定位是终端盲检策略问题还是网络侧配置问题。这个习惯帮我省了很多来回折腾的时间。希望帮到你。本文还有配套的精品资源点击获取
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。