LTE-连接态下的DRX

article/2025/9/12 15:47:41

C-DRX: Connectedmode DRX,连接态下的DRX

UE在连接态下,如果没有数据传输的话,会根据DRX的规则停止监听PDCCH(监听PDCCH可参考:PDCCH),从而达到省电的目的。一个DRX周期包含On Duration 和Opportunity for DRX 两个时间段。


3GPP - 36.321中示例图如下:


想学习DRX的具体规则,我们需要先了解DRX中的参数。

eNodeB通过ConnectionReconfiguration 或者RRCConnection Setup 或者RRCConnectionReestablishment 这3条消息来告诉UE DRX参数。DRX属于MAC层的参数。3GPP-36.331中有描述如下:


参数包括4个timer, 2个DRX cycle, 1个offset,详细解释如下:

  • onDurationTimer

在那个SFN/subframe启动 onDurationTimer呢?计算公式如下:

如果配置了short DRX,则SFN/subframe满足:

 [(SFN * 10) +subframe number] mod(shortDRX_Cycle) == (drxStartOffset)mod (shortDRX_Cycle)

如果配置了long DRX, 则SFN/subframe满足:

 [(SFN * 10) +subframe number] mod(longDRX_Cycle) == (drxStartOffset)

ShortDRX和LongDRX计算公式中的drxStartOffset 是同一个值,就是DRX-config 中longDRX-CycleStartoffset中的CycleStartoffset。

  • drx-InactivityTimer

当UE成功盲检到一个下行PDCCH之后,就会启动这个定时器。

当drx-InactivityTimer超时时,

如果配置short DRX,则

            1.使用short DRX, 

            2.触发drxShortCycleTimer,

否则,

           1.则使用 long DRX。

有人可能会认为,如果配置DRX的话,UE一定会睡觉,而eNodeB一定会根据DRX的规则,只在特定的时间发送数据给UE。这种理解是不正确的,因为drx-InactivityTimer参数的存在,只要UE有新传数据到达(PDCCH),drx-InactivityTimer 就会重新启动(reset), UE的激活的时间就会延长(extended)。可以参考下面drx-RetransmissionTimer中的示意图。

  • drx-RetransmissionTimer

启动该重传定时器需要满足下面条件:

1.    HARQ RTT Timer超时, 且

2.    对应的DL HARQ process buffer里的数据没有被成功解码时

备注:(HARQ RTT Timer一旦超时就意味着UE可以开始接收eNodeB的重传数据了,若RTT定时器还没有超时,eNodeB也不会下发重传数据

当收到PDCCH子帧显示该process有数据传输时,停止该定时器

下图显示了HARQ RTT Timer和drx-RetransmissionTimer启动的先后关系。

(另外,从下图也可以看到drx-InactivityTimer 重启3次(红色示意图),延长了UE的激活时间)

图来自:http://www.simpletechpost.com/2015/10/connected-mode-drx.html


  • drxShortCycleTimer

当配置了shortDRX 时,在下列条件会启动这个定时器:

1.   drx-InactivityTimer超时,或者

2.   收到DRX command MAC CE

drxShortCycleTimer超时,会使用LongDRX cycle

  • longDRX-CycleStartoffset
包含2个参数:longDRX-Cycle 和 drxStartOffset 这两层含义

  • Long DRX cycle

当drxShortCycleTimer超时时,就会使用Long DRX cycle.

Short DRX是可选的IE,如果网侧同时也配置了ShortDrx-Cycle参数,那么长周期必须配置成短周期的整数倍
Short/long DRX切换示例图:https://www.wirelessdesignmag.com/article/2014/05/how-increase-battery-life-volte-devices-ensure-qoe



介绍完这些参数和相关规则后,我们来举个例子,DRX参数设置如下:

Item

Value

onDurationTimer

2

drx-InactivityTimer

2

drxShortCycleTimer

2  (2*shortDRXcycle = 10subframe)

shortDRXcycle

5

longDRXcycle

10

drxStartOffset

0


1. Short DRX

onDurationTimer启动的时刻:

[(SFN * 10) +subframe number] mod(shortDRX_Cycle) == (drxStartOffset)mod (shortDRX_Cycle)

((SFN * 10) + subframe) mod 5 = 5 mod 5 =>((SFN* 10) +subframe) mod 5 = 0;

(SFN,subframe) = {(0,0),(0,5) ,(1,0),(1,5)(2,0),(2,5),(3,0),(3,5)…}

2. Long DRX

onDurationTimer启动的时刻:

 [(SFN * 10) +subframe number] mod(longDRX_Cycle) == (drxStartOffset)

((SFN * 10) + subframe) mod 10 = 0

(SFN,subframe) ={(0,0), (1,0),(2,0),(3,0)}

情况1:

UE在onDurationTimer 区间接受到PDCCH,会触发drx-InactivityTimer;

drx-InactivityTimer超时,会触发drxShortCycleTimer;

drxShortCycleTimer超时,会使用Long DRX cycle;



情况2:
如果在长DRX接收到PDCCH,会触发使用short DRX:



最后补充一点,我们在读36.321时,spec中提到了DRC MAC CE:

DRX Command MAC control element

3GPP-36.321-5.7 DRX, 有如下描述:

if a DRX Command MACcontrol element or a Long DRX Command MAC control element is received:

- stop onDurationTimer;

-stop drx-InactivityTimer.

当UE 接收到DRXCommand MAC CE时,就会停止onDurationTimer 和drx-InactivityTimer 这2个timer, 这样UE就会马上进入休眠期。我猜这样的设计初衷是:
eNB发现没有数据可以传送时,可以发送这个MAC CE,通知UE马上进入休眠期,从而达到更加省电的目的。



http://chatgpt.dhexx.cn/article/FHKKG5lE.shtml

相关文章

5G-NR非连续接收DRX参数配置详解

5G-NR系统配置中的非连续接收系统 DRX:Discontinuous Reception 5G终端商用在即,根据前期测试及部分5G友好用户反馈,“5G终端功耗大,待机差”问题特别突出。根据5G技术特性,导致5G终端相比4G功耗大很多的原因有如下4…

DRX

为什么要使用DRX 无论是空闲态,还是连接态,如果没有我们本文提到的DRX机制,UE就会一直监听下行PDCCH子帧,查看是否有来自服务小区的信息。这样做看起来没有问题,然而现实很多时候,UE并不是一直在和网络进行…

非连续接收DRX

非连续接收的由来分类原理 3.1空闲状态下的DRX 3.2连接状态下的DRXDRX相关的timer启动和停止的触发条件调试所需的LOG包 1. 非连续接收的由来 非连续接收(DRX,Discontinuous Reception)基于包的数据流通常是突发性的,在一段时…

DRX(Discontinuous Reception,非连续接收)处理流程

学习《深入理解LTE-A》笔记,此篇关注LTE中的DRX过程。 处于RRC_CONNECTED态下的UE的DRX处理流程,有几个timer需要详细了解,还简单介绍了载波聚合对DRX的影响。 DRX介绍 数据包具有突发性,在没有数据传输的时候,可以通…

LTE资源调度(7)-DRX不连续接收(1)

1.为什么要使用DRX 在讲解DRX的概念前,我们需要先了解下什么是“空闲态”,什么是“连接态”。 我们经常会听到“空闲态”、“连接态”这样的术语,这个概念是从RRC层角度来说的。简单来说,当UE在某个小区完成了驻留之后&#xff…

生成数据库设计文档小技巧

目录 生成数据库设计文档小技巧利用数据库自身功能生成excel和word文档使用的软件环境说明查询所有表名查询所有列名设置excel 生成数据库设计文档小技巧 利用数据库自身功能生成excel和word文档 我们在程序开发的时候,离不开数据库设计。有些数据库设计软件功能很…

快速制作数据库设计文档的表格

工具:navcat 第一步:新建一个空白文档,依次点击:插入—>表格 ,选择插入的行和列。 第二步:按住shift或者ctrl选中多行,并用快捷键ctrlc复制。 第三步:切换到刚创建的文档。选中表…

自动生成数据库设计文档利器

目录 1、前言介绍 2、功能说明 3、编码实战 1、新建项目 2、导入依赖 3、启动类 4、工具类 5、测试 1、前言介绍 今天给大家介绍一款非常还用的小工具,专门用到生成数据库设计文档的,非常简单、快捷、方便 这款工具就是screw(螺丝钉…

还在手写数据库设计文档?java一键生成

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 前言: 以前…

通过表结构生成数据库设计文档

技术实现:ScrewjavaFX 作用:通过引入screw核心包来实现Java 数据库文档,一键生成支持的数据库列表:MySQL 、MariaDB 、TIDB、 Oracle、 SqlServer、 PostgreSQL(注意:目前MariaDB 、TIDB、 Oracle因为缺少环境未做验证,若有问题,欢迎留言以做改正) 工具效果图: 使用注意事项:…

快速生成一份数据库表设计文档

最近需要给兄弟部门出一份数据设计文档&#xff0c;我这个项目是半路接手的&#xff0c;前辈也没有留下啥说明&#xff0c;想偷懒发现一个好用的工具screw如下&#xff1a; 添加依赖&#xff1a; <dependency><groupId>cn.smallbun.screw</groupId><arti…

mysql数据库自动生成数据库开发设计文档

1、输出表结果&#xff0c;表结构可自己通过代码调整,简单但是有时候很实用&#xff0c;可以节省大量的时间&#xff0c;主要思路&#xff1a; a 在java代码中&#xff0c;通过数据库查询语句获取所有表名和表名备注信息。 b 通过表名获取某张表的所有字段说明。 c 整理查询…

数据库设计文档编写模板

在编写数据库设计说明文档时&#xff0c;需要对每一张数据表做设计说明&#xff0c;其中最主要、也是最繁琐的部分就是表字段描述部分&#xff0c;那么采取什么样的模板格式&#xff0c;即能完整表达表字段设计用意&#xff0c;又能快速采集数据库设计信息呢&#xff1f;建议如…

使用Navicat将表设计导出数据库设计文档

我们在写数据库设计文档的时候&#xff0c;会需要对数据库表进行设计的编写&#xff0c;手动写的话会很费时间费精力。 1、首先在Navicat中点击查询&#xff0c;然后输入以下SQL语句&#xff1a; SELECT TABLE_NAME 表名, COLUMN_NAME 字段, COLUMN_COMMENT 字段名称, COLUMN…

生成 数据库设计文档

最近要写一个数据库设计文档 数据设计文档中数据库结构设计这个模块是需要把数据库的所有字段&#xff0c;标识&#xff0c;注释等的设计写出来&#xff0c;如果手写会疯的&#xff0c;现在自己来写个生成工具生成&#xff0c;只要连接数据库就ok。 一、在用idea创建maven项目…

【MySQL】数据库设计文档生成

MySQL数据库设计文档生成 文章目录 MySQL数据库设计文档生成前言0、全局浏览1、引入依赖2、启动类3、配置文件4、实现类5、成品展示 前言 记录MySQL数据库设计文档生成&#xff0c;旨在方便自己&#xff0c;也能方便他人。 Gitee源码&#xff1a;https://gitee.com/liuyimin43…

如何生成数据库设计文档

如何生成数据库设计文档 screw什么是screw特点支持生成的文档类型目前支持的数据库类型支持的模板类型 如何使用&#xff1f;遇到的问题 screw 官网地址&#xff1a; https://gitee.com/leshalv/screw/ 什么是screw screw是简洁好用的数据库表结构文档生成工具。 特点 简洁…

数据库设计说明书的编写

G.1 引言 G.1.1 编写目的 数据库的表结构设计是整个项目开发中一个非常重要的环节,一个良好的数据库设计&#xff0c;可以提高开发效率&#xff0c;方便系统维护&#xff0c;并且为以后项目功能的扩展留下余地。我们通过书写这份文档说明&#xff0c;从各方面进行对校园地图的…

PowerDesigner生成数据库设计文档

1.说明 使用PowerDesigner设计数据库表&#xff0c; 基于PowerDesigner设计数据库表, 生成数据库对应的表设计文档&#xff0c; PowerDesigner支持生成HTML、RTF和本地格式的文档&#xff0c; 下面演示生成RTF格式的文档&#xff0c; 然后把RTF文档保存为常见的Word文档格式。 …

数据库设计文档自动生成

1、拉取代码 该项目上使用了jdk17版本&#xff0c;需要maven环境。如果都有&#xff0c;通过git进行下载代码 #git下载代码命令 git clone https://gitee.com/giteeLinht/db-doc.git2、初始化项目并运行 1、打开idea&#xff0c;导入项目直接运行com.cn.db.dbdoc.DbDocApplic…