首页 › deep-tech › 敲门的艺术:随机接入原理

敲门的艺术:随机接入原理

一、开机之后,手机为什么不能直接说话

你把手机调成飞行模式再关掉,几秒钟后信号格就回来了。很多人以为这是"连上了",其实此刻手机和基站之间刚刚完成的是"下行捕手":手机收到了基站广播的同步信号,知道了这个小区的存在,对上了频率和时间。但请注意一个容易忽略的事实——这一刻,基站对手机还一无所知。

无线系统有个天生的不对称:下行好办,上行难办。基站像个一直在广播的喇叭,手机被动接收就行;可手机是"哑巴",它不发 anything,基站就听不见它。而手机一开口之前,基站有三个不知道:

flowchart TD
    A["手机想开口<br/>基站三个不知道"] --> B["不知道距离<br/>上行时间没对齐"]
    A --> C["不知道身份<br/>基站在等谁"]
    A --> D["不知道资源<br/>谁准你说话"]
    B --> E["前导码顺手量出距离"]
    C --> F["Msg3自报家门"]
    D --> G["Msg2里带上行授权"]

这三个"不知道"决定了:必须设计一个特殊的入口程序,让手机用最小的代价、不打扰别人的方式,把这三件事一次性解决。这就是随机接入。

二、为什么叫"随机":一栋楼里的门铃

类比一下你走进一栋写字楼,前台没人,怎么引起注意?门口挂着一排门铃按钮。你随手按一个,前台广播里喊:"按了 3 号铃的朋友,请到前台登记。"

问题来了:如果今天人多,两个人同时按了 3 号铃,前台分不清是谁按的,只好让两个人都去登记,然后问"刚才按铃的是哪位张先生?"——谁的名字被点到谁留下,另一个退出去换个时间重按。

这就是"随机接入"这个词里"随机"的全部含义:门铃(前导码)是从小区公共资源池里随机挑的,撞了铃要靠后续流程裁决输赢。整个机制设计要回答四个问题:

  1. 门铃信号长什么样,才能在嘈杂大厅里被前台一眼识别?(前导码设计)
  2. 门铃按钮有几个,怎么保证够用又不打架?(根序列规划)
  3. 按铃之后怎么对话?(四步流程)
  4. 撞铃了怎么裁决?(竞争解决)

三、前导码的设计哲学:为什么要长得这么"怪"

敲门声要满足一个苛刻的条件:前台在一片嘈杂中,光听这一声,就知道"有人敲门"并且"敲门的人离我多远"。普通信号做不到,因为随机噪声没有特征。工程师的答案是 ZC 序列(Zadoff-Chu 序列),它的长相是:

$$x_u(n) = e^{-j\pi u n(n+1)/N_{\mathrm{ZC}}}, \quad 0 \le n < N_{\mathrm{ZC}}$$

别被公式吓到,它的物理含义是:把一个固定功率的复数信号,按"相位匀加速旋转"的方式铺满整个序列。这个构造带来三个近乎完美的性质,每一条都精准对应一个工程需求:

ZC 序列性质 数学表现 对应的工程需求
恒定幅度(CAZAC) 时域幅度处处相等 峰均比低,功放不吃亏,与上行单载波的设计呼应
理想自相关 循环移位非零处相关值为 0 基站做一次相关运算,峰在哪、时延就是多少,距离顺手量出来
根间互相关极小 不同根序列互相关幅值恒为 $\sqrt{N_{\mathrm{ZC}}}$ 邻居小区同时敲门也基本不互相误听

其中第二条是最妙的。理想自相关意味着:基站拿收到的信号跟本地模板做相关,相关峰出现的位置相对"应然位置"的偏移量,直接就是电波往返时延。也就是说,敲门这一声,本身就是一把测距尺——三公里外的手机和三百米外的手机,相关峰差出来的那几十微秒,就是基站回复"你说话要提前多少"的依据(这就是时间提前量的来源)。一个信号同时完成了"报到"和"测距"两件事,这就是"为什么这样设计"的精髓:空口每一个信号都身兼数职,因为无线资源太贵。

四、64 个门铃从哪来:一根旋律的一百种起拍

每个小区有 64 个前导码供手机随机挑选。如果每一条都独立生成,基站要存 64 套模板、手机要扫描 64 套序列,太笨重。设计者用了"根序列 + 循环移位"的巧妙生成法:

flowchart TD
    R["1条根ZC序列<br/>长度839"] --> S1["循环移位 0"]
    R --> S2["循环移位 Ncs"]
    R --> S3["继续移位下去"]
    S1 --> P1["前导编号 0"]
    S2 --> P2["前导编号 1"]
    S3 --> P3["后续编号"]
    P1 --> T["凑满 64 条"]
    P2 --> T
    P3 --> T

还是类比对讲机:同一段旋律(根序列),每个人从不同的拍子起唱(循环移位)。因为 ZC 序列"移位非零处自相关为零",不同的起拍点在基站听来就是完全不同的门铃,互相之间零干扰。

但这里埋着一个经典的设计权衡,也是网优工程师的必修课:每次移位多少(规划参数里叫 Ncs),决定了移位次数的上限,进而决定一条根序列能"裂变"出多少条前导。

所以前导码格式必须和小区半径匹配:前导占用的时间越长、留的保护间隔越大,能容忍的往返时延越大,支撑的小区半径越大。近海覆盖用长格式,密集市区用短格式,道理就在这。高铁场景还有第三重约束:350 公里时速带来的多普勒频移会把自相关峰"拖歪",必须启用受限集(给根序列加额外的数学约束再移位),代价是一条根能产出的前导变少,一个小区可能要占用好几条根序列才凑得齐 64 个。

这就是根序列规划的本质:64 个门铃是全小区共享的稀缺资产,相邻小区要错开用根,避免两栋楼用同一套铃声互相误听。

五、四步流程:一场关于"谁在敲门"的对话

随机接入的完整对话只有四步,每一步都值得用"为什么"审问一遍:

sequenceDiagram
    participant U as 手机
    participant G as 基站
    U->>G: Msg1 按门铃(发前导码)
    Note over U: 功率从估计值起步 逐次爬升
    G->>U: Msg2 应答(时间提前量+授权+临时工牌)
    Note over G: 用RA-RNTI按门牌号广播
    U->>G: Msg3 自报家门(发起连接请求)
    G->>U: Msg4 竞争解决(回喊赢家身份)
    alt 多人抢了同一个门铃
        U->>G: 输家退避随机时间 换铃重敲
    end
步骤 承载信道 关键内容 类比
Msg1 物理随机接入信道 前导码(含测距信息) 按门铃
Msg2 下行共享信道(RA-RNTI 调度) 时间提前量 + 上行授权 + 临时身份 前台应答
Msg3 上行共享信道 手机真实身份 / 连接请求 自报家门
Msg4 下行共享信道 回显身份,宣布赢家 点名裁决

第一问:Msg2 为什么用 RA-RNTI 调度,而不是直接喊某个手机的名字? 因为此时基站还不知道是谁在敲门——它只知道"某个门铃在某个时间、某个频率资源上响过"。于是干脆把这个时频位置本身编成一个编号(RA-RNTI,无线网络临时标识的一种),用它去加扰下行控制信道。以 LTE 为例,算法朴素得可爱:

$$\mathrm{RA\text{-}RNTI} = 1 + t_{id} + 10 \times f_{id}$$

时间位置加频域位置,就是门牌号。所有在这段时间按过铃的手机都会竖起耳朵听这个门牌号,各自对号入座。在双方互不相识的阶段,用"地点"代替"姓名",这是随机接入设计里最漂亮的变通。

第二问:为什么 Msg3 才报身份,Msg1 不直接报? 因为 Msg1 只是一条没有信息量的测距音,它连纠错编码都没有,硬塞身份进去太脆弱;而等 Msg2 给了授权和时间对齐之后,Msg3 已经能走正规的数据信道、带完整的编码保护了。先建立可靠链路,再传重要信息,次序不能反。

第三问:撞铃了怎么裁决? 撞铃的两部手机会收到同一份 Msg2(同一时间提前量、同一授权),然后都发 Msg3,只是内容里各自报了不同的身份。基站挑一份转发回喊(Msg4 的内容里回显它选中的那份身份):谁听到基站喊的是自己的名字,谁就赢下这个临时工牌;输家发现喊的不是自己,安静退场,按随机退避时间换个门铃重来。用随机退避而不是固定等待,是为了让输家们第二次尝试时自然错开——在冲突场景里,随机性本身就是一种资源。

六、不用抢的门铃:非竞争接入与两步进化

抢门铃毕竟是概率游戏,有些场合输不起,于是有了非竞争随机接入:基站从池子里预留一条专用前导,提前塞给手机。到时候手机直接按这个专属铃,基站一听就知道是谁,四步变三步,绝不撞铃。典型场景是切换时目标小区提前派发专用前导,以及波束失败恢复时手机用它紧急呼叫——你之前读过的波束管理流程里,手机发现波束失联后做的第一件事,就是发一条非竞争前导。

后来又出现了更激进的两步随机接入:手机把"前导码 + 数据载荷"打包成 MsgA 一次性发出,基站回一个 MsgB 同时完成应答和竞争解决。它的动机很直白:

维度 四步接入 两步接入
交互轮次 4 次收发 2 次收发
时延 高(两次往返) 低(一次往返)
信令开销 每用户 4 条消息 每用户 2 条消息
代价 流程稳、抗差环境 上行载荷可能碰撞,浪费上行资源
适用 常规场景、弱覆盖 海量小包、低时延、高负载接入

两步接入体现的是通信设计的永恒摇摆:信令轮次越少越快,但每一步打包的信息越多越脆。什么场景选什么姿势,本质是在时延、开销、可靠性三者间重新定价。

七、在现网里你会遇到它

随机接入是空口所有故事的第一章,也是网优 KPI 里最敏感的指标之一。工程师真正打交道的地方:

1. RACH 成功率是小区健康度的"体温计"。 它失败的原因远比"信号差"丰富,逐段拆解才能定位:

现象 可能原因 排查方向
手机发了前导,收不到 Msg2 前导功率爬升上限不足、真弱覆盖、根序列被邻区占用导致误检 查上行覆盖、查本区与邻区根序列是否复用冲突
收到 Msg2,Msg4 收不到 碰撞率高(门铃不够用)、上行干扰 查 RACH 资源配置、负载与干扰带
高铁沿线小区批量 RACH 失败 多普勒频移超出普通前导容忍范围,受限集根序列规划不足 核对高速场景参数与根序列数量

2. 根序列规划是"隐形的地基"。 新开站如果根序列与邻区复用,A 区手机的前导会被 B 区基站误检,产生幽灵应答,表现为零散、难复现的接入失败——这类问题查覆盖查不出来,必须查规划数据。标准允许多种实现与配置方式,具体规划细节以各厂家官方文档为准,但"相邻小区根序列错开"是铁律。

3. 常见误解三则。 - "RACH 失败就是弱覆盖"——不一定,根序列打架和拥塞的表现和弱覆盖几乎一样; - "前导应该用最大功率发"——不行,所有人喊最大声的结果是近处用户淹没远处用户(远近效应),所以前导从开环估计值起步、按失败次数逐步爬升,既省干扰又快收敛; - "两步接入是四步的替代品"——不是替代是补充,弱覆盖下两步的大载荷反而更容易失败,现网两者并存按场景选用。

常见问题

Q: 随机接入和入网认证是什么关系? A: 随机接入是"敲门",认证是"查户口"。敲门解决的是物理层问题——让手机获得一条可用的上行通道和时间对齐;认证发生在敲门成功之后,在网络层验证"你是不是合法用户"。敲了门不代表能进门,进门之前还要查证件。

Q: 为什么 Msg2 用 RA-RNTI(位置编号)而不是手机身份来调度? A: 因为基站此刻还不知道手机身份。它唯一确定的线索是"哪个时间、哪个频率资源上响过门铃",所以把时频位置编成门牌号来广播。等 Msg3 报上身份、Msg4 确认之后,后续调度才改用分配给手机的专用标识。

Q: 为什么前导码用 ZC 序列,而不用一串随机噪声? A: 随机噪声不可预测,基站必须拿着完整模板做长时间匹配才能检测,且测距精度差。ZC 序列是"设计出来的确定性":恒定幅度让功放高效,理想自相关让相关峰又窄又准(测距精度高),不同根之间互相关极低让邻区互不干扰。三个性质缺一不可。

Q: 四步接入和两步接入,网络怎么选? A: 看场景定价。时延敏感、小包高频的场合(海量物联网终端、高负载热点)倾向两步,省两轮往返;弱覆盖、上行受限的场合倾向四步,因为前导码比数据载荷抗造得多,先确保敲响门再谈正事。

Q: 前导码的"64 个"为什么是固定的? A: 这是"够用"与"开销"的折中。门铃太少,高负载时碰撞率飙升;门铃太多,前导码占用的时频资源过多,挤占业务信道。64 在典型负载模型下是两者的平衡点,配合每小区根序列规划,大多数场景一条根序列即可凑齐。

参考来源

  1. Zadoff–Chu sequence — Wikipedia — ZC 序列定义与 CAZAC 三性质的权威表述
  2. NR RACH — ShareTechnote — NR 随机接入四步流程、RA-RNTI 计算与前导码格式图解
  3. 5G NR — Wikipedia — NR 前导码长格式/短格式与序列长度
  4. 《移动通信》类经典教材随机接入章节 — 根序列规划、远近效应与功率爬升的原理阐述(纸质教材,无在线链接)

注:本文写作时在线检索通道受限,以上参考链接为该主题的经典公开资料入口,具体细节建议以链接页面为准。


本文由「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 等场景全覆盖。

51学通信知识星球海报-扫码加入