首页 › deep-tech › DRX非连续接收省电原理图解

DRX非连续接收原理图解:终端为什么能“边睡觉边在线”

你有没有想过一个问题:手机待机一整晚,电量可能只掉百分之几;可它明明一直“挂着网”,随时能收到消息和来电。如果手机的接收机真的每时每刻都在监听基站发来的信号,那点电池根本撑不过几个小时。这背后立功的技术,就是 DRX(Discontinuous Reception,非连续接收)——让终端学会“打盹”:该醒的时候准时醒,该睡的时候放心睡。

在“连接态也要省电”与“包随时可能到达”这两难之间,DRX 是整个移动通信体系里最精巧的机制之一。它同时决定了你的手机续航、App 消息的到达时延、甚至 VoLTE 通话的语音包抖动。对一线工程师来说,看不懂 DRX 时序图,很多“玄学问题”——比如 ping 值周期性跳变、寻呼偶发丢失、下载速率起步慢——就永远只能靠重启解决。这篇文章就把 DRX 的设计动机、定时器联动、长短周期切换、与寻呼及 HARQ 的关系,一层层讲透。


一、先想清楚:为什么“一直醒着”是个坏主意

1.1 下行数据的本质:你不知道它什么时候来

手机和基站之间的通信有个根本不对称:上行可以由手机自己决定什么时候发,下行却完全被动——微信消息、来电、推送,可能任何一毫秒从天而降。要保证“随时能收到”,最笨但最可靠的办法是:接收机永远开着,每个可能承载下行调度指令的物理下行控制信道(PDCCH)时刻都去解调一遍。

问题在于,射频接收链路(LNA、混频器、ADC)加上基带的信道估计、译码,是芯片里的“电老虎”。实测中,接收机满负荷工作的功耗可以是深度休眠状态的成百上千倍。而现网统计会告诉你一个扎心的事实:绝大多数手机在绝大多数时间里,根本没有下行数据——用户在口袋里、在锁屏后、在两个消息之间的沉默期。

1.2 用一个保安的类比理解 DRX

把基站想象成一栋大楼,下行数据是送快递的,手机是你雇的保安:

这个“协议”之所以成立,依赖一个关键前提:发件方(基站)和收件方(手机)对“什么时候该看”达成了一致。基站绝不会在约定睡觉的时间给这台手机发调度指令——这不是善意,而是同样写进基站调度器里的硬约束。所以 DRX 本质上是一场双向协商的错峰:手机省了自己的电,基站也腾出了调度机会。

某百科对 DRX 的定义一语中的:手机与网络协商好数据传输的时段,其余时间设备关闭接收机进入低功耗状态。这正是“协议级省电”区别于“设备自己偷偷关机”的地方——关机会掉线,打盹不会。


二、DRX 的骨架:把时间切成“醒”与“睡”

2.1 长DRX周期:最基本的心跳

最简单的 DRX 形态是长DRX周期(long DRX cycle):以固定周期 $T_{DRX}$ 循环,每个周期开头强制监听一小段时间,其余时间休眠。

gantt
    title 长DRX周期时序示意(周期=OnDuration+休眠段)
    dateFormat X
    axisFormat %s
    section 醒(监听PDCCH)
    OnDuration 激活期        :0, 1
    下一周期 OnDuration      :10, 1
    下下周期 OnDuration      :20, 1
    section 睡(关闭接收机)
    休眠段1                 :1, 9
    休眠段2                 :11, 9
    休眠段3                 :21, 9

用占空比(duty cycle)可以粗算省电效果:

$$ D = \frac{T_{on}}{T_{DRX}}, \qquad P_{avg} \approx D \cdot P_{active} + (1 - D) \cdot P_{sleep} $$

假设 OnDuration 为 10 ms、DRX 周期 320 ms,占空比只有约 3%。即便把激活期内的峰值功耗算进去,平均功耗也远低于持续接收。这就是“待机一晚只掉几个百分点电”的数学基础。

2.2 数据真来了怎么办?“赖床”机制

上面有个明显的漏洞:如果业务是连发 100 个包的下载,按“只醒 10 ms”的规则,手机每个周期都要重新睡去再醒来,包全堵在基站。所以 DRX 设计了动态延长激活期的机制:

只要在激活期内收到一次属于自己的 PDCCH 调度,激活计时器就重置,手机继续保持清醒;直到连续一段时间(无数据)后,才允许入睡。

这就是“赖床”:本来说好只醒 5 分钟,但只要门口一直有快递,保安就一直不睡;快递停了,再等“最后一眼确认”的功夫,才关灯休息。


三、五个定时器:DRX 状态机的全部秘密

DRX 的所有行为,都由一组定时器的接力驱动。理解了它们,任何 DRX 时序图都能读懂。

定时器/参数 谁配置 作用 类比
drx-onDurationTimer 基站下发给手机 每个DRX周期开头强制清醒的时长 保安每整点必须盯门的5分钟
drx-InactivityTimer 基站下发 每次收到调度指令后额外保持清醒的时间;每次调度重置 “再等一会儿,说不定还有件”
drx-HARQ-RTT-Timer 每个HARQ进程一份 等待对端HARQ反馈的往返时间;超时前手机可以睡 “快递说要1小时后补发,我先眯着”
drx-RetransmissionTimer 每个HARQ进程一份 HARQ反馈为NACK后,等待重传调度的最长时间 “补发最晚什么时候到,等到就继续醒”
drx-ShortCycleTimer + 短周期时长 基站下发 数据结束后先用短周期“警惕”几轮,再回落长周期 送完大件后,接下来几小时每小时多看两眼

关键细节:HARQ 相关的定时器是按进程独立运行的。 5G/LTE 的 HARQ 是多进程并行的(停等式流水线),某个进程在等重传,不代表其他进程也醒着。DRX 由此形成“粗醒(周期性 OnDuration)+ 细醒(个别 HARQ 进程的收尾监听)”的两级结构——这是很多人第一次画 DRX 时序图时最容易画错的地方。

flowchart TD
    A[休眠中 Sleeping] -->|"到达OnDuration起点<br/>启动onDurationTimer"| B[激活期 Awake<br/>盲解PDCCH]
    B -->|"解到自己的调度指令"| C[延长激活<br/>重置InactivityTimer]
    C -->|"持续有数据<br/>每次调度都重置"| C
    B -->|"整个OnDuration<br/>没有自己的指令"| A
    C -->|"InactivityTimer超时"| D{有HARQ进程<br/>在等反馈/重传?}
    D -->|"有: 启动HARQ-RTT<br/>与RetransmissionTimer"| E[半休眠<br/>仅监听特定HARQ时刻]
    E -->|"收到重传调度"| C
    D -->|"无"| F[进入短DRX周期<br/>启动ShortCycleTimer]
    F -->|"短周期内再无数据"| G[回落长DRX周期]
    F -->|"短周期内又来数据"| C
    G --> A

四、为什么要分长、短两个周期?

这是 DRX 设计中最能体现“权衡艺术”的部分。

4.1 业务的“余波”特性

观察真实流量:一次 HTTP 页面加载、一段短视频、一次微信收发,数据往往成簇出现——主包之后紧跟着零星的后续小包(TCP 确认、图片分片、状态上报),间隔几十到几百毫秒;然后进入可能长达几十秒的静默。

如果只有一个长周期(比如 320 ms):

如果只缩短周期(比如 20 ms):

4.2 两级周期:先警惕,再深睡

DRX 的答案是两档变速箱:

stateDiagram-v2
    [*] --> 活跃传输: 收到调度
    活跃传输 --> 短DRX: InactivityTimer超时
    短DRX --> 短DRX: 短周期内新数据到达\n重新拉长激活期
    短DRX --> 长DRX: 连续N个短周期无数据\n(drx-ShortCycleTimer到点)
    长DRX --> 活跃传输: OnDuration内收到调度
    短DRX --> 活跃传输: OnDuration内收到调度
    长DRX --> [*]

一句话总结:短周期是对“业务还会回头”的押注,长周期是对“业务真的走了”的确认。参数配得好,用户完全感觉不到省电的存在;配得差,要么续航崩、要么卡顿成片。

4.3 参数组合的权衡表

配置取向 典型参数感觉 收益 代价
续航优先(物联网/后台) 长周期大、OnDuration短、InactivityTimer短 占空比低至1%以下,省电显著 下行时延最差可达一个周期
时延优先(实时游戏/URLLC) 短周期为主、InactivityTimer长 唤醒等待几乎为零 功耗明显上升
语音(VoLTE/VoNR典型配法) 周期与语音包节奏对齐(约20ms量级) 每个语音包恰好在激活期送达 占空比中等,续航可控
通用默认(智能手机) 长短周期级联+较长InactivityTimer 兼顾突发业务与静默期 需要大量外场调优

值得注意的是 5G 的参数空间比 4G 更细:子载波间隔可变导致“时隙”长度不同,同样以时隙为单位配置的定时器,在高频大子载波间隔下会自动变短——这既是灵活性,也是跨频段参数迁移时的坑(后面实战部分会讲)。


五、空闲态的 DRX:寻呼是它的孪生兄弟

很多人把 DRX 理解成“连接态专属”,其实空闲态(及非激活态)的省电同样是 DRX 思想,只是形态变成了寻呼(Paging)机制。

5.1 空闲态的“定点打盹”

空闲态手机没有专用连接,网络不知道它具体在哪,来电和下行业务只能通过寻呼广播。如果手机为了收寻呼而一直监听,省电就无从谈起。于是系统规定:

经典的教材公式(LTE/NR 通用的寻呼位置推导思路):

$$ \text{PF 满足:}\quad (SFN + PF_{offset}) \bmod T = \left\lfloor \frac{T}{N} \right\rfloor \times (UE_ID \bmod N) $$

其中 $T$ 是寻呼周期(由网络广播的默认值和手机签约的特定值中取小者),$N$ 是一个周期内的寻呼帧分组数,$UE_ID$ 由用户标识推导。公式不用背,要理解的是它的设计目的:让成千上万的手机把寻呼监听时刻均匀打散在不同帧、不同时刻上——每个寻呼时刻只服务一小群手机,基站的寻呼容量才能摊得开。

sequenceDiagram
    participant UE as 空闲态手机
    participant gNB as 基站
    participant AMF as 核心网(AMF)
    Note over UE: 平时深度休眠
    loop 每个寻呼周期T
        UE->>UE: 在自己的PO醒来解码寻呼控制信道
        alt 无寻呼
            UE->>UE: 继续睡到下个PO
        else 有自己的寻呼
            gNB-->>UE: 寻呼消息(含用户标识)
            UE->>gNB: 发起服务请求/响应寻呼
            AMF-->>gNB: 下发用户面建立指令
            Note over UE,gNB: 进入连接态,后续按C-DRX运行
        end
    end
    Note over AMF: 来电/下行数据触发寻呼

5.2 连接态 DRX 与寻呼的三点区别

维度 空闲态寻呼DRX 连接态C-DRX
醒来干什么 只解码寻呼控制信道 解PDCCH找自己的调度
周期谁定 网络广播默认值+核心网签约值,取小 基站RRC专信令逐用户配置
粒度 周期长(秒级常见),以帧为单位 周期短(毫秒级),以时隙为单位
测量行为 邻区测量极宽松 按连接态测量节拍执行

理解这层“同源不同态”的关系非常重要:调试寻呼问题时,你看的是周期、时刻打散是否均匀;调试 C-DRX 问题时,你看的是定时器接力是否正常。两套问题在信令里长得完全不一样。


六、5G 的省电进化:从“定时打盹”到“按需唤醒”

DRX 的框架是 4G 时代定型的,5G 在其上叠加了一组“让睡得更死、醒得更准”的增强。这类特性在某百科对 5G NR 的介绍中也有印证:面向 RedCap 等低功耗设备,标准明确引入了扩展 DRX(eDRX)等增强省电手段,让传感器类设备电池可支撑数年。

6.1 WUS 唤醒信号:睡觉也留一只耳朵

传统 C-DRX 有个浪费:每个周期的 OnDuration,手机都必须完整解一遍 PDCCH——哪怕 99% 的周期里根本没有自己的数据。唤醒信号(WUS,Wake-Up Signal)的思路是:在 OnDuration 之前,基站可以先发一个极简的“起床哨”——

WUS 本身只用极低的速率、极小的带宽承载,检测它的功耗远低于解 PDCCH。相当于把“每整点睁眼 5 分钟”优化成“每整点听 1 秒哨声,没哨声翻身再睡”。

6.2 其他增强一览

特性 核心思想 适合场景
WUS 唤醒信号 用低成本信号决定是否跳过 OnDuration 周期性小包+长静默的普通手机
PDCCH 跳过(skipping) 激活期内连续N个时刻无调度则允许短暂打盹 突发间隙的碎片化业务
跨时隙调度 调度指令提前指示后续时隙,减少持续监听 上行为主的业务
eDRX(扩展DRX) 把周期从秒级拉长到分钟级以上 RedCap、可穿戴、传感器
RRM 测量放松 静止/低速时降低邻区测量频率 固定态物联网设备

这些增强的共同哲学:省电的最高境界不是睡得久,而是“不必醒的次数一次都别醒”。唤醒、监听、测量,每一个动作都要问一句——这次真的有必要吗?


七、实战:现网里 DRX 知识在哪里派上用场

7.1 现象一:ping 时延“锯齿状”周期跳变

外场测试时如果发现 RTT 曲线呈规律性锯齿(比如大部分 12 ms,每隔一段冒出 300+ ms),第一反应就该查 C-DRX:空闲感业务(小流量保活)的探测包经常落在休眠期,要等下一个 OnDuration 才能被调度,于是时延里叠加了“唤醒等待”。把探测间隔和 DRX 周期对齐观察,锯齿的规律会立刻对上——这是最快定位“时延毛刺是无线问题还是省电机制”的方法。

7.2 现象二:下载起步慢、“第一包迟滞”

页面/视频起播慢,不一定是覆盖差。若 InactivityTimer 配得过短,业务突发的首簇数据刚传完手机就睡了,后续图片分片全部撞上短周期甚至长周期的唤醒等待。抓取调度信令时间线,看数据包之间的“无调度空窗”是否恰好等于周期长度,即可确认。

7.3 现象三:寻呼偶发丢失/来电路径超时

空闲态侧:寻呼周期配得越长越省电,但来电建立时延越大;周期内 PO 数量与容量也要匹配用户数。极端情况下手机处于小区边缘,PO 那一瞬间的覆盖波动就会导致寻呼漏收——表现为“第一次呼叫振铃失败、第二次才通”这类经典投诉。

7.4 常见误解与调试陷阱

  1. “DRX 期间手机完全失联”——错。休眠只是不解调自己的调度,手机仍按测量节拍维持对网络的基本感知,重选/切换流程照常进行。
  2. “把周期配短总没坏处”——大错。短周期在 FR2 高频段会因波束管理和相位噪声让“醒着”本身更贵,省电收益经常得不偿失,参数必须按频段分别评估。
  3. “HARQ 重传与 DRX 无关”——HARQ 定时器是 DRX 状态机的一部分,重传调度若与激活期错配,会造成重传白等一轮,吞吐直接掉坑。排吞吐问题时别忘了查 HARQ-RTT 与 DRX 的交叠。
  4. 参数跨载波直接照抄——不同子载波间隔下“时隙”物理长度不同,按毫秒直觉换算参数会系统性偏移,务必以配置单位重新核对。

八、小结:DRX 教给我们的设计哲学

回看整个机制,DRX 的每一处设计都在回答同一个问题——如何在不破坏“随时可达”承诺的前提下,把一切不必要的开机时间压缩到零:

它没有用到任何高深的数学,靠的全是对业务统计特性的洞察和对状态机的精雕细琢。这恰恰是通信系统设计的普遍方法论:真正的复杂性不在单点算法,而在于让无数个简单机制严丝合缝地互相咬合。下次你的手机在口袋里安静地度过一整晚,不妨想想这个每几百毫秒醒一次、确认无事又睡去的“敬业保安”——那就是 DRX 在替你值守。


常见问题

Q1: C-DRX 和空闲态寻呼 DRX 有什么区别? A: 二者思想同源(周期性醒来、其余休眠),但形态不同。C-DRX 用于连接态,周期毫秒级、由基站通过专用信令逐用户配置,醒来解的是 PDCCH 调度;寻呼 DRX 用于空闲/非激活态,周期通常秒级、由广播默认值与核心网签约值取小,醒来只解码寻呼控制信道。调优侧重点也不同:前者盯时延与吞吐,后者盯寻呼容量与来电建立时延。

Q2: 为什么一定要短、长两个 DRX 周期,一个不行吗? A: 一个周期无法同时满足“业务余波低时延”和“静默期高续航”。真实业务是成簇的:主传输后有几十至几百毫秒的小包余波,然后是长静默。短周期覆盖余波期(密心跳保时延),连续无数据若干轮后回落长周期(疏心跳保续航)。单周期要么牺牲续航、要么牺牲时延,双周期是对流量统计特性的拟合。

Q3: DRX 会不会影响 VoLTE/VoNR 通话质量? A: 配置得当时不会,反而依赖它。语音是每 20 ms 一个包的高度规律业务,语音场景的 DRX 周期通常与打包节奏对齐,让每个语音包恰好落在激活期。若周期与语音节奏错配,会出现周期性抖动甚至丢包,表现为通话“机械感”或断续——这是语音 MOS 评分下降时值得排查的一项。

Q4: HARQ 重传和 DRX 是什么关系,为什么定时器要按进程分? A: HARQ 是多进程并行的停等流水线,任一时刻可能只有部分进程在等反馈或重传。若用全局定时器,一个进程等重传就得让整机醒着,太浪费。按进程独立维护 HARQ-RTT 与重传定时器后,手机只需在对应进程的反馈/重传时刻短暂监听,其余时间可睡,实现“可靠性收尾”与“省电”两不误。

Q5: WUS 没听到就继续睡,会不会漏掉数据? A: 不会。WUS 的发送权在基站:只要基站决定在该 OnDuration 调度这台手机,就一定会发 WUS 把它叫醒;手机没检测到 WUS 才跳过监听。它是对“空转 OnDuration”的优化,而不是绕过调度约定——这正是 DRX 一贯的双向协商原则。


参考来源

  1. Vinella, D. & Polignano, M., "Discontinuous Reception and Transmission (DRX/DTX) Strategies in LTE for VoIP Traffic", Aalborg University(某百科 DRX 词条引用文献)— LTE 语音业务下 DRX 策略的学术研究,佐证语音场景 DRX 周期与打包节奏对齐的设计思路。
  2. 《通信原理》《LTE for 4G Mobile Broadband》(Dahlman 等)等经典教材中的 DRX 章节与寻呼公式推导 — 本文定时器模型、长短周期设计动机与寻呼位置公式的知识框架来源。

本文由「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学通信知识星球海报-扫码加入