做通信系统的人,应该都体会过被时延支配的恐惧。我说的不只是手机上网卡在那转圈的功夫,在无线通信研发和标准预研里,空口时延这条指标常年是排期、优化、妥协的最前线。6G一上来,话题更硬核了:超可靠低时延通信、通感一体化、沉浸式交互、工业闭环控制,这些新场景嘴里都喊着同一个数字——时延还要比5G再低一个数量级。有人会问,5G不是已经做到1ms了吗,6G还要优化什么?答案是:1ms是端到端的理想值,真正能落地、能规模化、能扛住高并发和高移动性的空口时延,还差得很远。这篇内容我围绕6G空口时延优化,把这些年做过的拆解、仿真和实测经验梳理一遍,重点讲底层逻辑、关键参数和踩过的坑。适合做无线通信预研、协议栈开发、标准研究的工程师,也适合想搞清楚“空口时延到底卡在哪”的系统方向同学。
1. 6G空口时延优化:为什么这个指标绕不开
1.1 从5G到6G:时延是被哪些场景逼出来的
5G时代谈时延,最常引用的是URLLC的1ms端到端、99.999%可靠性。这个指标在当时已经很激进,但落地时空口部分往往只分到0.3到0.5ms的预算,留给基站调度、编码调制、反馈重传的余量非常紧。到了6G,情况不再是一个URLLC场景单独提需求,而是一批场景同时把时延往底线压。
触觉互联网要求控制环路时延在几十毫秒以内,全息类业务要求百毫秒级同步但数据量巨大,工业闭环控制里某些运动控制环节对确定性时延的要求接近0.1ms量级,车路协同里高相对速度场景又叠加了移动性和切换的时延损耗。更麻烦的是,这些业务不再像5G那样被分成几个独立切片各自配置,而是要在同一套空口资源上按需共存。所以6G的空口时延优化,本质上不是“把某一项做得极致”,而是把低时延做成一种可按需分配的资源能力。
做预研时我们习惯用一个词叫“时延预算”,把端到端指标拆到核心网、传输、空口、终端各段。空口因为受信道变化、调度周期、重传机制影响最大,往往是预算中最不确定的一段。如果空口拿不出确定性,上层再怎么优化都是空中楼阁。这也是为什么6G标准预研里,空口时延优化始终是讨论密度最高的方向之一。
1.2 一条空口数据包的旅程:时延预算怎么拆
要优化时延,先把一条数据包从生成到对端接收的完整路径走一遍。假设UE需要上行发送一个URLLC小包,数据从应用层产生,经过协议栈封装,到达MAC层排队等待调度,然后等一个可用的资源位置,做编码调制,发出去,对端接收解调,反馈确认,如果失败还要重传。这条路走下来,每一步都在消耗时间。
| 时延环节 | 典型量级 | 是否可控 |
|---|---|---|
| 应用层到MAC层处理 | 几十到几百微秒 | 有限,依赖协议栈实现 |
| 调度请求与授权等待 | 一个或多个调度周期 | 高,靠免调度/预测调度压缩 |
| 帧对齐等待(错过时隙边界) | 0到1个时隙 | 高,靠细粒度帧结构压缩 |
| 编码调制与物理层处理 | 几十微秒到几百微秒 | 有限,靠硬件加速 |
| 传播时延 | 取决于覆盖距离 | 基本不可控,只能协同补偿 |
| HARQ重传 | 数倍于单次传输时延 | 高,靠重传次数和分集策略控制 |
| 接收端解调与协议栈重组 | 几十到几百微秒 | 有限,靠实现优化 |
自己拆完这张表会有个直观感受:最容易出问题的地方往往是“等待”。等待调度授权、等待帧对齐、等待重传反馈,这三个等待占据了空口时延的大头,而且它们恰恰是协议机制可以直接干预的。比如30kHz子载波间隔下,一个普通时隙长度是0.5ms,如果数据包刚好错过时隙边界,最坏情况光对齐等待就是0.5ms,等于把5G URLLC的空口预算直接耗尽。所以6G做时延优化的第一刀,基本都会砍在“等待”上。
1.3 5G做过的事,和6G还缺的账
5G已经在时延优化上交出一部分作业了。帧结构上引入了mini-slot,用2个或4个符号就能发一个调度单元;调度机制上有了免调度传输,基站预先给业务配置好资源,UE不需要每次先请求再等授权;反馈机制上也在压缩HARQ往返时间,降低重传等待。这些手段在R15、R16阶段已经让空口时延有了明显改善。
但真正做落地时会发现几个痛点。第一,协议栈环节太多,每层都要加头、排队、处理,累加起来非常可观。第二,免调度虽然省了请求环节,但配置周期是半静态的,业务量一变就容易浪费资源或产生排队。第三,HARQ机制保证了可靠性,但一次重传就会让尾时延翻倍,在P99.9级别指标上很难看。第四,现有优化思路大多是“静态配置+阈值切换”,缺少随业务、信道、负载变化的自适应能力。
6G要解决的,不是把5G那套再调快一点,而是换个思路:让时延优化从“修修补补”变成“空口侧架构级重构”。这意味着帧结构、调度范式、反馈机制、协议栈分层都要重新审视。
2. 6G空口时延优化的关键技术路径
2.1 可编程帧结构:时隙粒度不是越小越好
帧结构对时延的影响是最底层的。以OFDM系统为例,子载波间隔决定了符号长度,常规循环前缀下,15kHz间隔的符号约66.7微秒,一个14符号的时隙约1ms;把间隔提高到120kHz,符号只有约8.3微秒,时隙约0.125ms。时隙越短,数据包等待下一个边界的对齐时间就越短,调度周期也可以做得越细。
5G已经支持15k到240k的多套参数集,6G候选方案里讨论更激进的帧结构设计,比如低时延业务使用小粒度资源、子载波间隔按需动态切换。但这里有个关键陷阱:子载波间隔翻倍,符号变短,循环前缀对时延扩展的容忍能力也随之下降。覆盖半径大、多径环境复杂的场景,过大的子载波间隔会导致信道估计性能变差,反而引发更多重传,时延优势被抵消。
| 子载波间隔 | 常规时隙长度 | 相对5G eMBB优势 | 主要副作用 |
|---|---|---|---|
| 30kHz | 0.5ms | 中等,可支撑部分URLLC | 覆盖略受影响 |
| 120kHz | 0.125ms | 明显,低时延友好 | 小区覆盖半径受限,开销增大 |
| 240kHz及以上 | 约0.0625ms | 极端低时延友好 | 对同步、相位噪声、移动性更敏感 |
所以在6G里,帧结构设计的方向不是把参数集做成一个固定值,而是做成可编程的。数据面按业务需求动态选择帧格式:大带宽业务用传统参数集保证覆盖和效率,低时延小包业务切换到细粒度参数集,把最坏对齐等待压到几十微秒级别。代价是调度器和信道估计要支持动态切换,复杂度明显上升。做参数集选择时,千万别只看时延收益,要做整套链路预算的联合评估。
2.2 免调度走向动态化:把接入过程压缩到底
5G的免调度传输,本质上是把调度请求和授权这个过程预先做掉。基站按周期提前分配资源,UE来了数据直接用。这确实省掉了请求-授权往返,问题是配置是半静态的,如果业务到达时间随机,预分配资源可能大量空置;如果业务突增,预分配资源不够用,UE又得退回传统调度流程,时延立刻反弹。
6G讨论的免调度演进有两个方向。一个是动态免调度,基站根据业务预测和实时负载,以更细的周期调整免调度资源配置,在资源效率和接入时延之间做动态平衡。另一个是竞争式免调度,允许多个UE在某些特定资源上直接发送,基站通过多用户检测来恢复数据,这样每个包平均节省的等待时间更大,但对接收机算法要求很高。
这里有个实际经验:免调度参数对业务特征特别敏感。对周期性的工业控制流量,半静态短周期配置效果非常稳定;对随机到达的事件型流量,预测加动态配置更合适。我们做仿真时曾把事件型业务硬塞进周期免调度资源里,结果资源利用率低到没法看,时延还因为频繁切换调度模式而恶化。免调度的核心思路是“让大部分包走快车道”,但必须为突发流量保留应急通道,不能所有业务都指望预分配。
2.3 全双工、快反馈和重传策略:交易尾时延的三种手段
除了等待调度和等待帧对齐,等待反馈也是空口时延的重要组成。常规TDD系统里,下行和上行分时传输,UE收到数据后要等到上行时隙才能反馈HARQ确认,这个等待可能跨好几个时隙。6G候选技术里,带内全双工备受关注,理论上收发可以在同一时频资源上同时进行,反馈不再需要等上下行转换,天然压缩了往返时间。
全双工听上去很美好,工程落地却很头疼。最大的难题是自干扰消除,要让接收端在发射功率比自己想收的信号大几个数量级的情况下,把目标信号解调出来,需要天线域、模拟域、数字域三级联合抵消,复杂度非常高。而且在高频段使用波束成形时,波束管理和波束切换的开销又会吃掉一部分全双工带来的收益。所以业界普遍预期全双工会先在特定场景、特定频段上应用,而不是全面铺开。
除了全双工,更务实的手段是优化反馈和重传策略。低时延业务可以配置更短周期的反馈信道,也可以限制最大重传次数,甚至对某些高可靠性要求的小包采用“一次发送加外冗余”的方式,干脆不做HARQ。用冗余换重传,本质上是用频谱效率换确定性时延。做这类取舍时一定要看业务对尾时延有多敏感:传统eMBB业务没必要这么干,但URLLC场景里,一次重传造成的时延抖动往往比损失一点频谱效率更致命。
2.4 协议栈轻量化与AI空口:让“等待”变成“预测”
协议栈是时延优化里最容易被低估的部分。数据包每经过一层协议,就要做头封装、缓存、处理,几层累加下来就有数百微秒。6G讨论的方向包括控制面极简化、RRC状态转移加速、用户面头部压缩、不必要的ARQ流程删除等。说白了就是,空口物理层做得再快,协议栈如果还是层层叠叠,端到端时延依然下不去。
另一个大方向是AI空口。AI能做预测的地方很多:预测业务到达时间,让基站提前把资源备好;预测信道质量,让链路自适应不再等反馈而是直接预判;预测用户移动轨迹,提前完成波束和切换准备。这些预测本质上都是把“事后等待”变成“事前准备”,让时延从被动应对变成主动规避。
但AI不是银弹,它引入的是概率性决策。预测错了怎么办?这是做预测调度时绕不开的问题。如果基站提前给UE配了资源但业务没来,资源就浪费了;如果预测的信道质量和实际相差很大,自适应调制反而会选错MCS,引发重传。所以AI空口落地必须配一套兜底机制,预测结果可信时走快车道,不可信时退回传统流程。后面我会单独讲这个问题的排查经验,因为这块我们实际踩过不少坑。
3. 仿真与实测:把时延优化落到实处
3.1 指标口径先统一,否则一切对比都是自欺欺人
做任何时延优化之前,先回答一个问题:你统计的时延是哪一段的时延?同样一个系统,从应用层到应用层测量,和从MAC层发出到对端正确解码测量,结果可能差好几倍。我们在项目里吃过亏,拿着应用层平均值跟文献里的空口结果对比,结论完全失真。
建议统一用“空口用户面时延”作为核心口径:从发送端的PDCP层收到数据包开始计时,到接收端PDCP层完成重组为止。这个口径包含了调度排队、帧对齐、传输、接收处理、重传在内的所有空口相关环节,但不包含应用层和核心网的延迟。同时按百分位数统计,P50、P99、P99.9都要记录。URLLC业务决策主要看P99.9,平均值再好看,尾时延压不住也没有意义。
# 伪代码:按环节打点时延增量统计 timeline["mac_arrival"] = t1 # SDU到达MAC层 timeline["grant_ready"] = t2 # 获得调度授权/配置机会 timeline["tx_start"] = t3 # 物理层开始发送 timeline["rx_decode_ok"] = t4 # 对端成功解码 budget = { "排队_调度等待": t2 - t1, "帧对齐_发送处理": t3 - t2, "传输_接收处理": t4 - t3, }跑仿真时,很多团队只统计单次传输成功的时延,把重传样本直接剔除,得到的时延曲线当然漂亮,但放到真实信道里必然翻车。正确的做法是:无论传输是否成功,所有包的时延都进入统计,重传包的实际完成时间就是最终时间。这样P99.9才能真实反映系统的可靠性。
3.2 链路级和系统级仿真各管什么
时延优化涉及的技术太多,不可能用一个模型全做。链路级仿真聚焦物理信道,研究的是编码调制、信道估计、HARQ合并这些底层的性能边界。比如我们要确认240kHz大子载波间隔在某种多径信道下的BLER表现,就得用链路级仿真,跑出SNR到BLER的映射曲线。
系统级仿真则处理另一个层面:调度器怎么分配资源、用户之间怎么共享频谱、排队发生在哪里、突发流量如何影响全网时延。空口时延优化的主要结论,基本都出自系统级仿真。链条很清晰,链路级仿真出BLER曲线,系统级仿真把BLER曲线当输入,结合调度和负载模型,统计出端到端的时延分布。
实际操作中要注意链路级和系统级之间的接口对齐。系统级仿真如果直接用理想误块率模型,等于把信道编码和HARQ带来的时延代价都丢掉了,结果会乐观得离谱。我们的做法是,把链路级仿真在不同信噪比、不同MCS下的BLER和平均重传次数做成查找表,系统级仿真按事件抽样来用,既能反映物理层特性,复杂度也可控。
3.3 关键参数怎么配:一组典型的实验设计
时延优化的参数面很宽,但核心就那几个:子载波间隔、时隙结构、免调度配置、HARQ策略、反馈周期。做对比实验时,每次只动一个变量,否则指标变化说不清楚是谁引起的。
| 参数 | 候选值 | 对时延的影响 | 副作用提示 |
|---|---|---|---|
| 子载波间隔 | 30k / 120k / 240k | 越大时隙越短,对齐等待越小 | 覆盖变差,开销变大 |
| 免调度周期 | 0.125ms / 1ms / 5ms | 周期越短接入越快 | 资源浪费率上升 |
| HARQ最大重传 | 0 / 1 / 2次 | 越少尾时延越可控 | 可靠性显著下降 |
| 反馈周期 | 独立短周期 / 共享长周期 | 独立反馈等待更少 | 控制信道开销更高 |
举个我们做模拟项目时用过的参数组合:对一批周期性到达的工业控制小包,子载波间隔选120kHz,一个小型时隙作为调度单位,免调度周期配置为0.25ms,HARQ最大重传限制为1次,同时开启多副本并行发送作为可靠性兜底。这个配置下,P50时延能压到0.2ms内,P99.9在0.35ms左右,代价是频谱效率比传统方案低了约两成。能不能接受这个代价,完全看业务需求,没有统一答案。
关于参数选择还有一个容易被忽略的点:仿真时的业务模型。用泊松到达模型和用周期到达模型,得到的时延分布可能差一个量级。6G低时延场景大多是高度周期化或模式化的流量,仿真时业务模型要贴近真实场景,否则参数优化的结论换个场景就不成立了。
4. 落地中的五个典型问题与排查心得
4.1 仿真好看实测拉胯:先查口径
仿真时延很低,一到外场测试就翻倍,这个问题我见过太多次。第一反应别怀疑仿真平台,先查两件事:统计口径是否一致,以及测试环境里是否引入了额外处理时延。
真实系统里,数据从接口进入基站到真正被调度,中间还有接口排队、协议栈处理、硬件缓冲等环节,这些在仿真里往往被简化成了理想延迟。如果仿真里没把这些估算进去,结果自然会漂亮很多。排查方法是分层打点:接口到达打一个戳、MAC调度打一个戳、物理层发出打一个戳,逐个环节比对增量,找出时延到底涨在哪个环节。实测中发现某系统时延比预估高一倍,结果差距主要出在接口排队和帧对齐,调度算法本身已经压得很低了。不拆开看,你永远不知道瓶颈在哪。
4.2 边缘用户时延翻倍:TA和覆盖在作怪
覆盖边缘用户的时延劣化,通常不只是信噪比变差这么简单。大覆盖距离意味着更大的定时提前(TA),UE要提前更长时间发送才能保证在基站接收窗口内对齐;再加上边缘信道质量差、重传概率高,多个因素叠加起来,边缘用户的空口时延可能是小区中心用户的好几倍。
排查时把TA值、信道质量、重传次数放在一起看相关关系。如果发现TA排名和时延排名高度一致,说明定时提前已经成为主要矛盾。对策层面,一是用协同组网减少单链路覆盖半径,二是对边缘用户采用更强的分集传输和更激进的冗余保护。6G里讨论的无蜂窝组网,本质上就是让边缘用户由多个接入点联合处理,而不是孤军奋战。低时延优化不能只围着小区中心做,否则真实网络里大量边缘用户会持续拖累整体指标。
4.3 AI预测调度误判:兜底逻辑才是关键
AI预测调度是我们试过收益最大、风险也最大的方案。业务到达预测准确的时候,数据包还没到,资源已经备好,时延直接降了一个量级。但预测一旦出错,问题就来了:预分配资源被空置,后续真实业务到达时资源池反而更紧张,系统时延不光没降,还比传统方案更高。
排查这个问题的思路不是去追求更高的预测准确率,而是设计好预测置信度门限和兜底路径。我们实际用的方案是:当预测置信度高于设定阈值时,走免调度快车道;低于阈值时,自动退回传统请求授权流程。同时做一个滑动窗口监控,如果连续几次预测命中率下降,系统自动把AI模块切到旁路模式。理论上这增加了系统复杂度,但保证了任何情况下最坏时延都不会失控。做AI空口方向的人,很多精力其实花在这种“AI决策怎样接入既有容错体系”的问题上,这比调模型本身重要得多。
4.4 HARQ重传与低时延的冲突:用分集换确定性
HARQ设计是通信系统里可靠性最坚实的靠山,但它天然和确定性时延存在矛盾。哪怕重传只在百分之一的概率里发生,对P99.9敏感的业务来说,那一次重传造成的时延尖峰就是不可接受的。
我们的实践结论是:对低时延业务,与其纠结“怎么让重传更快”,不如想“怎么让重传根本不发生”。具体做法包括:更保守的链路自适应,在信道质量边缘时主动降一档MCS;对关键小包做多副本并行发送,频率域和空间域同时冗余;用外码做前向纠错,让接收端能纠的错在本地解决,不用等重传反馈。这些手段的共同代价是频谱效率下降,但换来的是尾时延的确定性。整条逻辑翻译成大白话就是:把概率可靠性换成确定性时延,用资源换时间。这也是6G URLLC场景里我认为最核心的设计哲学。
4.5 三个越早明白越好的实操经验
做6G空口时延优化的项目做了不少,有几个经验值得反复强调。
第一,动手前先把时延预算表做出来。哪怕是粗略的,也能帮你一眼看出优化重心该放在哪。实际项目中,最差的优化往往不是不会优化,而是把资源用在了不痛不痒的环节。
第二,所有时延指标都用P99.9来考核。平均时延的数字再好看,也掩盖不了真实系统中尾时延失控的风险。我非常建议在项目内部把“均值达标”和“尾时延达标”分成两个验收项,前者是基本要求,后者才是URLLC业务真正买单的东西。
第三,每一项优化措施都要留“回退开关”。6G场景复杂多变,同样的参数在模拟项目A里很好,在模拟项目B里可能适得其反。把新方案做成可动态启停的配置项,比一步到位强行替换传统方案要稳妥得多,也更容易说服保守的测试团队一起配合验证。
最后说点个人的感受。做6G空口时延优化,越做越发现它不是一个纯物理层问题,也不是一个纯协议栈问题。它更像一个分布式系统问题:处理、排队、反馈、预测,每个环节都在跟时间赛跑。我在项目里最深的体会是,与其执着于找一个全局最优参数,不如先把时延预算表做扎实、把口径定准,然后一层一层去压榨那些最疼的等待环节。等6G真正落地的时候,回看今天这些取舍和折中,每一个都不会白费。