你以为手机锁屏放进兜里就"睡着了"?其实在你看不到的地方,它每隔几秒就在悄悄"看房"——比较周围几十个基站的信号强弱,随时准备换一个信号更好的小区住下来。这个过程,工程师管它叫小区选择(Cell Selection)和小区重选(Cell Reselection)。
这是移动性管理里最底层、最容易被忽视,却又决定全网体验的一环。今天这篇,我们就把这两件事的原理彻底讲透。
先把移动性管理的大框架摆出来。手机在 5G 网络里有三种主要状态:
flowchart LR
A[RRC_IDLE 空闲态] -->|有数据要收发| B[RRC_CONNECTED 连接态]
B -->|数据结束| C[RRC_INACTIVE 非激活态]
C -->|长时间无活动| A
B -->|释放| A
A -->|选好小区后可被寻呼| A
连接态下,手机归网络"统一调度",换基站叫切换(Handover),由基站发命令、信令驱动,这事我们之前讲"条件切换"时聊过。但空闲态不一样——此时手机和网络之间没有专用的无线连接,基站根本不知道你具体在哪个小区,只大致知道你在哪个"注册区"里。
这就引出一个核心矛盾:网络不能指挥你搬家,但你又必须一直待在信号最好的小区,否则来电话时收不到寻呼。
解决办法是把决策权下放给手机自己。手机靠两套数学准则自己做判断:
一个解决"能不能住",一个解决"住哪个最好"。整个空闲态移动性,就是这两条准则在不同场景下的反复应用。
假设你去看房,你的心里有两条底线:面积不能小于 60 平米,采光不能低于 6 小时。任何房子要同时满足这两条,你才考虑租。S 准则干的就是这事——它不是在比较谁更好,而是在给每个小区设一道"及格线",过了线的才算"suitable cell(合适小区)"。
5G 的小区选择要同时看两个量,缺一不可:
$$S_{rxlev} = Q_{rxlevmeas} - (Q_{rxlevmin} + Q_{rxlevminoffset}) - P_{compensation}$$
$$S_{qual} = Q_{qualmeas} - (Q_{qualmin} + Q_{qualminoffset})$$
只有当 $S_{rxlev} > 0$ 且 $S_{qual} > 0$ 同时成立,这个小区才算合格。其中:
这是个典型"为什么这样设计"的问题。只用 RSRP 行不行?不行。
想象一个场景:你在体育场里,周围几十个基站信号都"满格"(RSRP 很高),但因为大家都在抢同一块频谱,干扰大得惊人,RSRQ 低到离谱。如果只看 RSRP,你会觉得信号很好,结果一接通就断断续续。RSRQ 把"干扰程度"这个维度加进来,相当于在看房时不只看面积,还去看隔音和采光——一个小区信号强且干净,才是真正能住的好小区。
公式里那个 $P_{compensation}$ 经常让新人困惑。它的物理意义是:手机的发射功率够不够打回基站。
通信是双向的。下行(基站→你)信号好不代表上行(你→基站)也通。如果你离基站太远,基站的声音你能听见,但你扯着嗓子喊基站却听不清,这个小区对你依然没用。$P_{compensation}$ 就是对上行能力的补偿修正,确保选中的小区是"双向可达"的:
$$P_{compensation} = \max(P_{EMAX} - P_{UMAX},\ 0)$$
其中 $P_{EMAX}$ 是网络允许手机用的最大发射功率,$P_{UMAX}$ 是手机本身能发的最大功率。如果手机能力绰绰有余,这项就是 0,不影响判断。
flowchart TD
Start[开机 / 脱网重搜] --> PLMN[选 PLMN 运营商]
PLMN --> Scan[频段扫描 找最强小区]
Scan --> Sync[同步 解析系统消息 SIB]
Sync --> Scheck{S 准则满足?}
Scheck -->|是| Camp[正常驻留 suitable cell]
Scheck -->|否| Accept[可接受小区 any cell<br/>仅限紧急呼叫]
Accept --> Next[继续找更好小区]
Next --> Scan
这里有个关键细节:手机开机时其实不知道周围有哪些小区,它得先扫频段、找信号最强的小区同步上、读系统消息,拿到 $Q_{rxlevmin}$ 这些参数后,才能算 S 准则。所以参数是"先同步、后获取"的——这解释了为什么系统消息里要反复广播这些门限值。
住进一个小区后,手机会持续监测周围的邻居小区。当某个邻居看起来"更香"时,手机就要决定要不要搬过去。但"更香"不能只看一眼——万一只是邻区信号抖了一下呢?这就需要 R 准则来做严格的排名,并加上防抖机制。
R 准则给服务小区和每个邻居小区各打一个分:
$$R_s = Q_{meas,s} + Q_{hyst} - Q_{offset_temp}$$
$$R_n = Q_{meas,n} - Q_{offset} - Q_{offset_temp}$$
判定规则很直白:当 $R_n > R_s$ 这个不等式持续成立超过 $T_{reselection}$ 秒,就搬过去。
如果严格按 RSRP 实时排名,会发生什么?你在两栋楼的交界处,A 小区信号 1dB 优于 B,你搬去 A;下一秒风吹草动 B 又比 A 高 1dB,你又搬回 B……这就是臭名昭著的乒乓重选。每次重选都要重新同步、读系统消息、做位置更新,极其费电,还可能触发不必要的 TAU 信令风暴。
$Q_{hyst}$ 的作用就是给当前服务小区加一道" incumbency bonus( incumbent 优势)"。它强制要求邻居小区不仅要比你强,还要强出一个 $Q_{hyst}$ 的量才允许搬。典型的 $Q_{hyst}$ 取 2~4 dB,相当于告诉手机:"除非新房子明显好一截,否则别折腾。"
光有幅度迟滞还不够,还要加时间迟滞。即便邻居小区 $R_n$ 真的超过了 $R_s$,手机也不会立刻搬,而是启动一个 $T_{reselection}$ 定时器(通常 1~7 秒)。只有在这个时长内 $R_n > R_s$ 持续成立,重选才真正执行。任何一个瞬间信号抖回去,定时器就清零重来。
幅度迟滞 + 时间迟滞,是工程上对付"瞬时抖动"的经典双保险,在控制论里叫"迟滞比较器",温控器、电梯门防夹都用同样的思想。
还有一个容易被忽略的小细节:NR 规定,手机驻留一个小区不足 1 秒时,不得发起重选。这是防止刚搬过去就又搬走的最后一道防线。
到这里为止,我们讲的都是"同频重选"——服务小区和邻居小区在同一个频率上,用 R 准则直接 PK 就行。但现网里手机要面对多个频率(比如覆盖层用低频广覆盖、容量层用中频高速率),甚至多个制式(4G/5G 互通)。这时绝对优先级(Absolute Priority)机制就登场了。
每个频点被分配一个优先级(0~7,7 最高),重选规则因优先级关系而截然不同:
| 场景 | 测量触发条件 | 重选判决条件 |
|---|---|---|
| 重选到更高优先级频点 | 始终测量(高优先级"特权") | 邻区 $S_{rxlev} > Thresh_{X,High}$ 持续 $T_{reselection}$ |
| 同频 / 同优先级异频 | 服务小区 $S$ 低于门限时测量 | R 准则:$R_n > R_s$ 持续 $T_{reselection}$ |
| 重选到更低优先级频点 | 服务小区 $S \le S_{nonintrasearch}$ | 服务小区 $S < Thresh_{Serving,Low}$ 且 邻区 $S > Thresh_{X,Low}$ 持续 $T_{reselection}$ |
这套设计非常精妙,值得逐条拆解:
高优先级频点的邻区,手机始终在测量,不依赖服务小区的信号好坏。而且只要它强过 $Thresh_{X,High}$ 这条及格线并稳定一段时间,就重选过去。
为什么这样设计?因为高优先级通常是运营商想引导用户去的"主力层"(比如 5G 优先于 4G)。只要这个层信号够用,就应该尽量让用户待在上面,不该因为当前 4G 信号还凑合就赖着不走。
低优先级是反过来的:只有当服务小区信号差到跌破 $Thresh_{Serving,Low}$(说明这层已经待不下去了),同时低优先级邻区信号又高于 $Thresh_{X,Low}$(说明低层还能用),手机才肯"降级"搬过去。
这是典型的"保底"逻辑——高频容量层是首选,低频覆盖层是兜底。日常待在高频拿速率,高频掉光了才退守低频保覆盖。
注意表格里"测量触发条件"那一列。异频测量是要耗电的(手机得不断切换频率去测邻居,这叫 measurement gap)。为了省电,NR 规定:
这就是为什么你在信号好的地方手机省电、在边缘地带掉电快——边缘地带手机要疯狂做异频测量。
把上面的规则合在一起,就是一个完整的重选决策树:
flowchart TD
Idle[手机空闲态 驻留服务小区] --> Q1{服务小区 S 准则<br/>还满足吗?}
Q1 -->|否| ReSel[触发小区重选流程]
Q1 -->|是| Q2{有更高优先级邻区<br/>S > ThreshX-High?}
Q2 -->|是 且持续Treselection| GoHigh[重选到高优先级]
Q2 -->|否| Q3{服务小区信号<br/>跌破 SnonIntraSearch?}
Q3 -->|是| Meas[启动异频/低优先级测量]
Q3 -->|否| Skip[省电 跳过异频测量]
Meas --> Q4{服务小区跌破 ThreshServing-Low<br/>且低优先级邻区 > ThreshX-Low?}
Q4 -->|是 且持续Treselection| GoLow[重选到低优先级]
Q4 -->|否| Q5{同频/同优先级 Rn > Rs?}
Q5 -->|是 且持续Treselection| GoSame[R准则重选]
Q5 -->|否| Stay[继续待在服务小区]
GoHigh --> Idle
GoLow --> Idle
GoSame --> Idle
ReSel --> Idle
这张图你可以存下来慢慢看。它其实就是一个带优先级的"if-else"判断链:先看高优先级有没有机会,再看服务小区是否需要保底,最后才在同频里 PK。
重选不是孤立事件,它会牵动整个空闲态流程。这里把三个机制的协作关系理清楚:
sequenceDiagram
participant UE as 手机
participant OldCell as 老小区
participant NewCell as 新小区
participant Core as 核心网 AMF
Note over UE: 1. R准则判定新小区更好
UE->>OldCell: (断开驻留)
UE->>NewCell: 2. 同步 解析SIB 驻留
Note over UE,NewCell: 3. 检查新小区的TAI
alt 新TAI不在原注册区列表里
UE->>Core: 4. 触发TAU 注册区更新
Core-->>UE: 更新注册区列表
else 仍在原注册区内
Note over UE: 5. 无需TAU 省信令
end
Note over Core: 核心网更新寻呼范围
这里有个极为重要的工程优化点:注册区(TA/RA List)的设计。
手机重选到新小区后,会先看新小区广播的 TAI(跟踪区标识)。如果这个 TAI 还在核心网当初下发给它的"注册区列表"里,手机就什么都不用做——直接驻留,不发任何信令。只有当新 TAI 跑出了列表范围,手机才被迫发起 TAU 位置更新。
这就是为什么核心网一次给手机下发一个包含多个 TA 的列表(TAI List),而不是单个 TA。这个设计让手机在一片区域内来回重选、移动时,绝大多数重选都"静悄悄"完成,不产生信令。这和我们之前讲"TAU 定期打卡"那篇是同一套机制的两面——重选是触发源,TAU 是响应动作,注册区列表是中间的"缓冲带"。
反过来,寻呼也依赖这套机制。网络要找一台空闲态手机时,只在它当前注册区列表覆盖的那些小区下发寻呼。如果手机重选出了注册区却没及时 TAU,就会被寻呼漏掉——这就是所谓的"寻呼失败"。所以重选、TAU、寻呼三者是一个紧耦合的闭环。
理论讲完了,落到工程师日常,小区重选参数是网优调优的"主战场"。常见的参数和它们的影响方向汇总如下:
| 参数 | 典型值 | 调大的影响 | 调小的影响 | 调优场景 |
|---|---|---|---|---|
| $Q_{hyst}$ | 2~4 dB | 防乒乓,但滞后性强,用户待在次优小区 | 灵敏,但易乒乓费电 | 边缘地带掉话率高→调大;驻留拥塞小区→调小 |
| $T_{reselection}$ | 1~7 s | 抗抖动强,响应慢 | 响应快,易误判 | 高铁等高速场景→调小;静止场景→调大 |
| $Thresh_{X,High}$ | 视频点而定 | 难重选到高优先级 | 容易去高优先级层 | 引导 5G 占比→调小 |
| $Q_{rxlevmin}$ | -100~-70 dBm | 要求高,驻留难,覆盖收缩 | 驻留易,但边缘质量差 | 覆盖优化核心参数 |
| 频点优先级 | 0~7 | 引导用户到该层 | 让用户离开该层 | 负载均衡、容量分层 |
陷阱一:只调 $Q_{hyst}$ 治不了乒乓。 很多人一遇到乒乓就把 $Q_{hyst}$ 往大调,结果用户被钉在差小区里出不来,掉话率反而上升。正确的做法是 $Q_{hyst}$ 和 $T_{reselection}$ 配合调——幅度迟滞和时间迟滞协同。
陷阱二:低估了异频测量的耗电。 把 $S_{nonintrasearch}$ 设得太高,手机会一直做异频测量,待机时间断崖式下跌。这是终端投诉"待机尿崩"的常见根因。
陷阱三:忽略"测量不准"。 空闲态手机测量 RSRP 是靠 SSB(同步信号块)做的,SSB 在高频段可能波束很窄、稀疏。如果手机恰好不在 SSB 波束覆盖方向上,测出来的 RSRP 会严重偏低,导致误判服务小区信号差而频繁重选。这是 5G 高频段重选优化特有的坑,4G 时代没有。
陷阱四:重选参数和切换参数脱节。 重选(空闲态)和切换(连接态)用的是两套独立参数。网优常常只调了切换参数让通话顺畅,却忘了重选参数没跟上,导致用户空闲态待在差小区,一来电话先切来切去,体验割裂。
回过头看,小区选择与重选的整套机制,背后是三条清晰的设计哲学:
理解了这三条,你就不只是会算 S 准则、R 准则的公式,而是真正理解了"为什么公式要这么设计"。
Q1:小区重选和切换(Handover)到底什么区别? A:核心区别在触发主体和状态。重选发生在空闲态/非激活态,由手机自己根据 S/R 准则自主决策,全程无网络信令驱动,换小区后可能触发 TAU;切换发生在连接态,由网络(基站)通过 RRC 信令命令手机执行,手机只负责执行测量和响应。通俗讲:重选是"我自己搬家",切换是"房东让我换房"。
Q2:为什么我手机明明满格信号,还会偶尔回落到 4G? A:因为重选看的是"绝对优先级"而非"绝对信号强度"。即使 5G 信号满格,只要 4G 频点优先级更高(或 5G 的 $Thresh_{X,High}$ 设得过高没满足),手机也可能优先驻留 4G。反之,如果运营商想推 5G,会把 5G 频点优先级调高。这是负载均衡和分层引导的手段,不是你信号不好。
Q3:Q_hyst 设成 0 会怎样? A:理论上更"公平",但实际会乒乓重选成灾。在两小区覆盖交界处,信号自然波动几 dB 是常态,没有滞回值手机就会来回搬,每次重选都重新同步、读 SIB,不仅耗电还可能引发信令风暴。工程上 Q_hyst 几乎不会设为 0。
Q4:高频段(毫米波)的小区重选有什么特殊坑? A:最大坑是SSB 波束测量失真。毫米波用窄波束扫描,手机空闲态只测到一个波束方向的 SSB RSRP,不代表整个小区的真实覆盖,容易误判。此外毫米波穿透差,重选边界变化剧烈,$T_{reselection}$ 往往要调小以加快响应。这也是为什么运营商在高频段通常降级配置、让手机优先驻留中低频的原因之一。
Q5:手机一直在同一个基站附近,为什么 RSRP 会突然跳变导致重选? A:常见原因有三个:① 快衰落导致的瞬时波动(这时 $T_{reselection}$ 正是用来挡它的);② 干扰突发使 RSRQ 下降,触发基于质量的判定;③ 异频邻区瞬时变强触发了优先级重选。排查时先看是 RSRP 还是 RSRQ 波动,再看是同频 R 准则还是异频优先级触发的,定位方向完全不同。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
