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

article/2025/9/12 15:44:58

5G-NR系统配置中的非连续接收系统

DRX:Discontinuous Reception

5G终端商用在即,根据前期测试及部分5G友好用户反馈,“5G终端功耗大,待机差”问题特别突出。根据5G技术特性,导致5G终端相比4G功耗大很多的原因有如下4个方面。一是5G带宽是4G的5倍,通信功耗增加50%。二是NSA网络下,终端需同时保持LTE和NR 2套通信链路。三是5G的下行默认支持4*4 MIMO,天线数增加,通信功耗增加50%。四是5G的上行支持2T,相比1T, PA功耗增加50%~100%。可见5G基础功耗相比4G有比较大的增幅,对网络参数更敏感,亟需网络参数配合降低功耗,提升5G终端续航体验。

虽然这样做对数据传输的时延有一定的影响,但如果这种时延并不影响用户体验,考虑到终端更为重要的功率消耗,执行DRX是很有意义的。

DRX分为:空闲态下的DRX和连接态下的DRX ,空闲态的DRX又称寻呼过程(Paging),连接态的DRX称为CDRX,本篇内容主要针对CDRX。

CDRX-Connected DRX

一个典型的DRX周期如下图所示。在这个图中,“On Duration”的这段时间是UE监控下行PDCCH子帧的时间,在这段时间里,UE是处于唤醒状态的。

“Opportunity for DRX”的这段时间是DRX睡眠时间,即UE为了省电,进入了睡眠而不监控PDCCH子帧的时间。

从这个图中可以看到,用于DRX睡眠的时间越长,UE的功率消耗就越低,但相应的,业务传输的时延也会跟着增加。

参数配置

Parameters configuration

受篇幅影响,读者可自行查看3GPP TS 38.331-g10

6.3.2 DRX-Config information element 作为参考。

SP9500-CTS的配置界面如下图所示:

DRX-Config

DRXCtrl:默认“OFF”,关闭DRX功能,设置为“ON,开启DRX功能。

(1)    drx-onDurationTimer

DRX持续监听定时器,从一个DRX Cycle的起始处算起,在该定时器运行期间,终端需要持续监听网络的PDCCH的“PDCCH子帧数”,可选设置subMilliSeconds/MilliSeconds,

配置范围(单位ms):

subMilliSeconds:integer (1..31)

MilliSeconds:ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200, ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1.

(2)    drx-InactivityTimer

DRX非激活定时器,该定时器在终端收到新数据调度PDCCH信令后启动,该参数表示当终端成功解码到一个下行PDCCH信道的DCI之后,还需要继续监测持续处于激活态的连续PDCCH 子帧数。

配置范围(单位ms):

ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80, ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,spare7, spare6, spare5, spare4, spare3, spare2, spare1.

(3)    drx-HARQ-RTT-TimerDL

下行HARQ RTT定时器,该定时器的长度为从HARQ反馈时刻到收到针对该进程的HARQ重传之间的最小时间间隔。只有下行进程对应的数据未解码成功,终端才会在该进程的HARQ NACK反馈之后的第一个符号启动。下行进程的重传调度要在该Timer值之后才会调度。

配置范围(单位symbol):integer (0..56)

(4)    drx-HARQ-RTT-TimerUL

上行HARQ RTT定时器,该定时器的长度为从PUSCH传输时刻到收到针对该进程的HARQ重传之间的最小时间间隔。上行PUSCH传输后,终端启动针对该进程的上行HARQ RTT定时器,如果PUSCH传输使用PUSCH重复,那么上行HARQ RTT定时器在PUSCH第一次重复后启动。

配置范围(单位symbol):integer (0..56)

(5)    drx-RetransmissionTimerDL

下行重传定时器,drx-HARQ-RTT-TimerDL超时后的下一个符号启动该定时器。该定时器运行期间,终端监听网络的控制信道,如果接收到针对该进程的下行调度信息或下行配置授权,则停止该定时器。

配置范围(单位slot):

sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1

(6)    drx-RetransmissionTimerUL

上行重传定时器,drx-HARQ-RTT-TimerUL超时后的下一个符号启动该定时器。该定时器运行期间,终端监听网络的控制信道,如果接收到针对该进程的上行调度信息或上行配置授权,则停止该定时器。

配置范围(单位slot):

sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1

(7)    drx-LongCycleStartOffset

用于配置长DRX周期的周期和偏移

默认配置表示周期为10ms,起始偏移为1ms

ShortDRX

(1)drx-ShortCycle

用于配置短DRX周期的周期。

配置范围(单位为ms):

ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9,spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1

(2)drx-ShortCycleTimer

用于控制终端使用短DRX周期的时间长度,单位为整数,表示在短周期内持续多少个子帧就进入长周期。如果值为2,则表示持续(2*drx-ShortCycle)个子帧就进入长周期。

drx-SlotOffset

终端启动drx-onDurationTimer的时延,通过该参数设置DRX onDuration的起始时刻相对于子帧起点的偏移量,偏移量是1/32ms的整数倍。

配置范围:integer (1..31)

CDRX基本过程

CDRX基本过程如上图所示:

① 终端drx-onDurationTimer启动,终端开始监听控制信道。

② 在 drx-ondurationTimer运行期间,gNB在t1时刻发送了针对下行进程1的初始传输的调度信令,于是drx- InactivityTimer启动。

③ 如果终端未成功解码该进程的下行数据,则反馈HARQ NACK,在HARQ NACK反馈之后的第一个符号启动下行drx-HARO-RTT-TimerDL。

④ t2时刻 drx-InactivityTimer超时,终端停止监听控制信道。

⑤t3时刻drx-HARQ-RTT-TimerDL超时,启动drx-RetransmissionTimerDL,终端开始监听控制信道。

⑥ 在t4时刻,终端接收到gNB发送的针对进程1的第一次重传调度信令,drx- Retransmission TimerDL停止,终端停止监听控制信道。

⑦ 如果终端对第一次重传数据解码仍未成功,则在t5进行 HARQ NACK反馈,并在 HARQ NACK反馈之后的第一个符号启动drx-HARO-RTT-TimerDL。

⑧在t6时刻drx-HARO-RTT-TimerDL超时,启动drx-RetransmissionTimerDL。

⑨ 在t7时刻,终端接收到gNB针对进程1的第二次重传调度信令,drx- Retransmission TimerDL停止,终端停止监听控制信道。由于第二次重传解码成功,终端不再启动在drx-HARO-RTT- TimerDL。

测试流程

配置

典型配置

drx-onDurationTimer设置为“MilliSeconds”= 5ms,

drx-LongCycleStartOffset周期设置为20ms,偏移为0ms,

drx-InactivityTimer设置为5ms,调度slot4。

drx-onDurationTimer设置为“MilliSeconds”= 8ms,

drx-LongCycleStartOffset周期设置为40ms,偏移为0ms,

drx-InactivityTimer设置为8ms,调度slot3和slot16。

drx-onDurationTimer设置为“MilliSeconds”= 20ms,

drx-LongCycleStartOffset周期设置为160ms,偏移为0ms,

drx-InactivityTimer设置为5ms,调度slot9

测试流程

说明

以SCS=30kHz为例

未配DRX功能的RMC调度过程如下图所示,每帧的slot5均调度。

开启DRX功能后的RMC调度过程如下图,配置DRX 长周期为20ms,每隔两个SFN调度一次slot5。 

调度的Slot要在drx-onDurationTimer长度范围内,例如,drx-onDurationTimer设置为“MilliSeconds”且长度为5ms时,配置的RMC 调度的Slot索引需要在0-9范围内,DRX功能才会生效,例如调度slot5,如下图所示:

测试配置小结

①drx-InactivityTimer的长度要小于2n帧最后调度的slot到2n+1最开始调度的slot之间的间隔(即图1的间隔X,且针对SP9500,drx-InactivityTimer长度一般小于10ms)。

②drx-onDurationTimer和drx-InactivityTimer长度范围内均为Active time,可调度上/下行数据,其余为Sleep time,不可调度上/下行数据。

③配置RMC调度的初始slot必须在drx-onDurationTimer内,DRX功能才会生效。

DRX测试实例

以n78,scs=30kHz,BW=100MHz为例,无线帧长度10ms,slot编号0~19,共20个slot,每一个slot长度0.5ms,下面讲几个简单的例子:

关闭DRX

n78 100M带宽下调度slot3 PDSCH,吞吐量如下图所示:

【例1】开启DRX-长周期

【配置】长周期20ms,onDurationTimer 5ms,InactivityTimer 5ms,同样调度slot3,如下图所示:

在onDurationTimer 5ms当中,终端在slot3监听到PDCCH,按照规则,从slot4开始激活InactivityTimer 5ms到slot13结束监听,计时器完毕也没有收到其他数据,则终端进入睡眠时间10ms,所以终端每隔一个无线帧,能够收到一次Slot3上的PDSCH数据包,相比于不开启DRX(每一帧都在slot3上收到下行数据)而言,吞吐量减小为之前的一半,如下图所示

【例2】开启DRX-长周期

【配置】长周期变为40ms,onDurationTimer 5ms不变,InactivityTimer 5ms不变,如下图所示:

同样调度slot3,相比于【例1】,该配置长周期变为40ms,则每4个无线帧,才能监听到1个slot3,吞吐量降为不开启DRX的1/4,如下图所示:

【例3】开启DRX-长周期

【配置】长周期20ms,onDurationTimer 5ms,InactivityTimer 5ms。如下图所示:

调度slot11,因为slot11在on duration外,终端已进入休眠状态,终端在激活时间内监听不到任何数据,则吞吐量变为0,如下图所示

【例4】开启DRX-长周期+短周期

【配置】长周期20ms,短周期5ms,ShortCycleTimer 2,onDurationTimer 2ms,InactivityTimer 2ms,如下图所示

调度slot3,在onDurationTimer 2ms时间内,终端监听到slot3下行数据,立即激活slot4~slot7 InactivityTimer 2ms,没有监听到数据之后,激活短周期,短周期只能在0/5/10ms的位置被激活,所以跳过slot8/9,从slot10开始进入短周期,到slot19结束,没有监听到数据,短周期结束,进入下一个短周期(进入新的无线帧调度),Slot3上监听到数据,重复以上步骤,则每个无线帧上都能监听到Slot3上的下行数据调度,吞吐量结果与不开启DRX保持一致,如下图所示:

【例5】开启DRX-长周期+短周期

【配置】长周期20ms,短周期5ms,ShortCycleTimer 2,onDurationTimer 2ms,InactivityTimer 2ms。

调度slot3和slot11,过程和【例4】保持一致,只是在短周期激活的过程中,监听到了slot11的数据,吞吐量结果较之前,提升一倍。如下图所示:

写在最后

DRX方法主要用于终端节电,本文测试实例从配置DRX和slot调度出发,观测查看吞吐量结果表征数据业务的使用情况,印证终端的功耗情况。

本文转载自安隆技术:5G系统中的不连续接收_技术资料_深圳安隆通信技术有限公司

个人主页:yyfncq.blog.csdn.net


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

相关文章

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…

Java自动生成数据库设计文档(Word)

一、前言 在日常的开发工作中&#xff0c;偶尔会遇到项目收尾需要提供数据库设计文档的情况。对这个文档的编写目前应该已经基本没有问题了&#xff0c;如果你还不知道如何编写该文档&#xff0c;可以参考如下文章。 https://blog.csdn.net/qq_41057885/article/details/114436…