想象你是一位老司机,开车经过一段路况多变的山路:视野好的直道你敢踩到100 km/h,遇到连续弯道就主动降到40 km/h,前方有雾则更慢。你并不需要每次都重新学开车,你只是在根据路况实时调整“ aggressive 程度”。
无线通信面对的正是这样一条“路”:空气中的信道质量每时每刻都在变——手机转个身、走到墙角、隔壁小区来一波干扰,信号质量立刻天翻地覆。链路自适应(Link Adaptation, LA)要解决的核心问题就是:
信道好的时候榨干速率,信道差的时候保住可靠性,而且这个决策要在毫秒级自动完成。
在4G/5G中,这套机制的具体载体叫 AMC(自适应调制与编码):根据信道质量动态选择调制阶数(QPSK/16QAM/64QAM/256QAM)和编码码率。而支撑这个闭环运转的三个关键角色,就是本文的主角——CQI(信道质量指示)、MCS(调制编码方案)和外环调整(OLLA)。
香农-哈特利定理给出了有噪信道的容量极限:
$$ C = B \log_2 \left( 1 + \mathrm{SINR} \right) $$
其中 $C$ 是信道容量,$B$ 是带宽,$\mathrm{SINR}$ 是信号与干扰加噪声比。这个公式告诉我们两件相反的事:
设计一个“固定档位”无论怎么选都是错的,因为信道不是常数,是随机过程。唯一的出路就是让传输档位跟着信道走——这就是链路自适应存在的根本理由,它本质上是把香农公式的理论极限向工程实际逼近的一套控制回路。
顺带一提,频谱效率的直观计算方式是:
$$ \eta \approx Q_m \times R $$
其中 $Q_m$ 是每符号比特数(QPSK=2,16QAM=4,64QAM=6,256QAM=8),$R$ 是码率。比如64QAM、码率948/1024,频谱效率约 $6 \times 0.926 \approx 5.55$ bps/Hz,已经相当接近同 SINR 点位的香农极限。
先上图,这是下行链路自适应的完整闭环,后面每一节拆开讲:
flowchart TD
subgraph UE["UE(终端)"]
A["测量下行参考信号<br/>(LTE: CRS / NR: SSB、CSI-RS)"] --> B["把SINR量化映射<br/>为CQI(0~15)"]
B --> C["通过PUCCH/PUSCH<br/>上报CQI"]
end
subgraph gNB["基站 gNB"]
C --> D["调度器:<br/>CQI + 外环偏移量OLLA"]
D --> E["查MCS表<br/>选定MCS索引"]
E --> F["按MCS调制编码<br/>通过PDSCH下发数据"]
F --> G["统计首次传输<br/>ACK/NACK比例"]
G -->|调整OLLA偏移| D
end
F --> A
F --> H["UE接收解码<br/>反馈HARQ ACK/NACK"]
H --> G
注意这个闭环有两条反馈路径:
只靠前馈会失准(UE的测量和基站的真实发送之间总有偏差),只靠事后校验又太慢。预测 + 校验双保险,才是工程上稳的做法。
CQI(Channel Quality Indicator)是一个 0~15 的整数。理解CQI最关键的一点是:
CQI不是SINR本身,而是一个“建议”:UE用它告诉基站——“如果我是你,在这个信道上我会用这种调制方式和这个码率来发,首次传输误块率大约不超过10%”。
也就是说,CQI的量化准则不是“信道等于多少dB”,而是“哪种调制编码组合在这个信道上刚好能跑住”。同样CQI=10的两部手机,真实SINR可能差好几个dB(因为接收机实现质量不同),但它们承载能力相似——这恰恰是设计意图:上报的是结果(能跑什么),不是原因(信号多少dB)。CQI=0是特殊值,表示“信道太差,啥也别发了”(out of range)。
以LTE的CQI映射表(TS 36.213中定义,5G NR的表在此基础上扩展了256QAM档位)为例:
| CQI索引 | 调制方式 | 码率(分母1024) | 近似频谱效率 (bps/Hz) |
|---|---|---|---|
| 0 | — | out of range | — |
| 1 | QPSK | 78 | 0.15 |
| 2 | QPSK | 120 | 0.23 |
| 3 | QPSK | 193 | 0.38 |
| 4 | QPSK | 308 | 0.60 |
| 5 | QPSK | 449 | 0.88 |
| 6 | QPSK | 602 | 1.18 |
| 7 | 16QAM | 378 | 1.48 |
| 8 | 16QAM | 490 | 1.91 |
| 9 | 16QAM | 616 | 2.41 |
| 10 | 64QAM | 466 | 2.73 |
| 11 | 64QAM | 567 | 3.32 |
| 12 | 64QAM | 666 | 3.90 |
| 13 | 64QAM | 772 | 4.52 |
| 14 | 64QAM | 873 | 5.12 |
| 15 | 64QAM | 948 | 5.55 |
观察这张表能发现一个精妙的设计:它不是“先调完调制再调码率”的顺序排列,而是交错上升的——CQI 6(QPSK, 602/1024)的频谱效率是1.18,而CQI 7(16QAM, 378/1024)是1.48。相邻档位之间的频谱效率跨度被拉平了,这样无论信道落在哪,总有一个档位与它“距离不超过半档”,量化损失最小。这是典型的均匀效果量化思路:量化的目标是“性能台阶等高”,而不是“参数等差”。
5G NR把CQI表扩展为两张:一张最高到256QAM(面向eMBB大流量),一张更低码率的表(面向URLLC高可靠场景),思路一脉相承——按业务诉求选择不同的“档位表”。
无线信道还有一个特性:频率选择性衰落。同一个20MHz带宽内,有的子频段深衰落,有的子频段质量很好。如果只报一个总 averaged 的“宽带CQI”,就会把细节抹平:
flowchart LR
subgraph BW["下行带宽被划分为若干子带"]
direction LR
S1["子带1<br/>CQI=12"] --- S2["子带2<br/>CQI=6"] --- S3["子带3<br/>CQI=10"] --- S4["子带4<br/>CQI=5"]
end
S1 --> M["宽带CQI ≈ 8<br/>(平均值掩盖了子带差异)"]
S2 --> M
S3 --> M
S4 --> M
所以系统设计了两个粒度:
粒度越细、增益越大,但上行控制信令开销也越大。CQI上报格式就是在这对矛盾里权衡出来的(周期上报走PUCCH、用紧凑格式;非周期上报走PUSCH、可以带完整子带细节,由DCI触发)。
拿到CQI后,基站调度器并不直接照抄。这里有本节最重要的一个设计思想:
UE报CQI,相当于考生自估分数;基站选MCS,相当于招生办定录取线。招生办从来不只信自估分。
为什么不照抄?三个原因:
所以基站要做一次修正:
$$ \mathrm{MCS} = f\left( \mathrm{CQI} + \Delta_{\mathrm{OLLA}} \right) $$
其中 $\Delta_{\mathrm{OLLA}}$ 就是外环链路自适应(Outer Loop Link Adaptation, OLLA)维护的偏移量。它用真实的传输结果(HARQ反馈)持续校准这条“考生自估分 → 录取线”的换算关系。一个典型的调度周期时序如下:
sequenceDiagram
participant gNB as 基站 gNB
participant UE as 终端 UE
Note over gNB,UE: 闭环持续运转(以下为一个典型循环)
gNB->>UE: 持续发送下行参考信号
UE->>UE: 测量SINR,映射为CQI
UE->>gNB: 周期性CQI上报(PUCCH,典型周期10~160ms)
gNB->>gNB: CQI + OLLA偏移 → 查表定MCS
gNB->>UE: PDCCH下发调度指令(DCI中携带MCS字段)
gNB->>UE: PDSCH按该MCS调制编码发送数据
UE->>gNB: HARQ反馈 ACK / NACK
alt 收到ACK
gNB->>gNB: OLLA偏移小幅下调(下次略激进)
else 收到NACK
gNB->>gNB: OLLA偏移大幅上调(下次立刻保守)
end
初见者最容易在这里犯迷糊:初传BLER(误块率)目标定在10%,难道不是太低了吗?
不是。这是HARQ机制存在后的一次精细的经济学计算:
用“全员降速”换“偶尔免费重传”,不划算。所以系统故意运行在初传BLER≈10%的工作点,把纠错外包给HARQ。这也解释了HARQ和链路自适应为什么是天生一对(参见本系列此前关于HARQ原理的讲解):链路自适应负责挑风险,HARQ负责兜底。
OLLA的工作方式是一个简单的非对称随机逼近:
$$ \Delta_{\mathrm{OLLA}} \leftarrow \begin{cases} \Delta_{\mathrm{OLLA}} - \delta_{\mathrm{down}} & \text{(收到ACK,说明当前偏移过于保守)} \ \Delta_{\mathrm{OLLA}} + \delta_{\mathrm{up}} & \text{(收到NACK,说明当前偏移过于激进)} \end{cases} $$
关键在于 $\delta_{\mathrm{up}} > \delta_{\mathrm{down}}$(典型实现中上调步长是下调的数倍,具体数值各厂商实现不同)。犯错要付出更快的不对称代价——这让整个环在信道突然恶化时能迅速刹车,在信道恢复时又缓慢试探着提速。宁可慢慢变快,不可快速翻车。
信道质量与MCS档位的关系可以用一簇示意曲线描述(数值为示意,非实测):
xychart-beta
title "SINR与首传BLER的关系(示意曲线)"
x-axis "信道SINR (dB)" [-2, 0, 2, 4, 6, 8, 10, 12, 14]
y-axis "首次传输BLER (%)" 0 --> 60
line "低档MCS(QPSK,低码率)" [30, 18, 8, 2, 0.5, 0, 0, 0, 0]
line "中档MCS(16QAM,中码率)" [55, 45, 30, 15, 6, 2, 0.5, 0, 0]
line "高档MCS(64QAM,高码率)" [60, 58, 52, 42, 28, 15, 6, 2, 0.5]
从这张图能读出链路自适应的全部故事:每条曲线都是“悬崖型”的——在拐点附近,SINR差1dB,BLER可能翻倍。链路自适应的本质,就是在悬崖边上不断挪动工作点,让每次传输都恰好悬在“10% BLER”这条线上,任何一档“贪档”都会掉下悬崖。
上行(手机发、基站收)采用同样的自适应思想,但有一个重要的结构差异:基站自己就能测上行信道,不需要任何上报。
| 对比项 | 下行链路自适应 | 上行链路自适应 |
|---|---|---|
| 谁测信道 | UE测下行参考信号 | 基站直接测SRS(探测参考信号) |
| 反馈路径 | UE上报CQI(需要控制信令) | 无需上报,本地闭环 |
| 决策者 | 基站(基于CQI+OLLA) | 基站(基于SRS+OLLA) |
| 主要风险 | CQI过时、UE虚报 | SRS发射功率不足、探测信道与数据信道不一致 |
| 校准机制 | 下行HARQ结果 | 上行PHR(功率余量报告)+ HARQ结果 |
上行有个经典的调试陷阱:SRS是UE用有限功率发的“探路石”。边缘UE发射功率本来就紧张,SRS如果再被上行功率控制压低,基站测到的SRS信噪比会明显低于真实PUSCH信道质量,导致上行MCS被系统性压低,吞吐劣化。这时问题不在“信道差”,而在“探测器声音太小”——排查方向是SRS功率配置和功控参数,而不是覆盖。
掌握了闭环结构,你就知道现网优化时该看哪些“体检项”,以及它们各自定位闭环的哪一环:
| 现象 | 闭环环节定位 | 典型根因 |
|---|---|---|
| CQI整体偏低 | 信道测量环节 | 弱覆盖、模三干扰、邻区漏配 |
| CQI高但MCS低 | OLLA/调度策略环节 | 突发干扰历史导致偏移量居高不下、厂商保守参数 |
| 首传BLER持续>20% | HARQ校验环节 | 工作点失守:干扰突变、CQI周期过长导致过时 |
| UE移动快时MCS骤降 | 反馈时延环节 | 多普勒引起CQI过时,需缩短CQI周期或加大OLLA保护 |
| 上行MCS低但下行正常 | 上行测量环节 | SRS功率不足、PHR上报异常 |
误解一:“CQI就是SNR/SINR的别名。” 不是。CQI是按“可承载的调制编码组合”量化后的相对量,SINR只是它的输入之一。不同UE在相同SINR下可能报出不同的CQI,这恰恰是设计使然。
误解二:“重传多说明网络质量差。” 首传BLER目标本来就是10%,重传是HARQ机制的正常呼吸。要看的是趋势和分布,不是绝对值。
误解三:“CQI=15就应该跑满速率。” 调度器还要综合考虑缓存数据量、MIMO层数(RI)、预编码(PMI)、用户间公平性、OLLA偏移。CQI只是众多输入中的一个,它是必要条件而非充分条件。
误解四:“上下行用的是同一套CQI反馈。” 下行需要UE上报CQI,上行由基站直接测SRS,根本没有“上行CQI上报”这回事。
Q: CQI和MCS到底什么区别?为什么有了CQI还要MCS? A: CQI是终端视角的信道评价(建议档位),MCS是基站视角的最终决策(实际使用的调制编码)。两者之间隔着OLLA偏移、调度策略和设备实现差异。可以理解为“考生自估分”与“实际录取线”的关系——招生办(基站)会参考自估分,但要用历史录取数据(HARQ结果)修正它。
Q: CQI、RI、PMI这三个CSI组件是什么关系? A: 它们共同构成信道状态信息(CSI):CQI回答“用多高档位”,RI(秩指示)回答“空间上能并行传几流”,PMI(预编码矩阵指示)回答“建议基站往哪个方向打”。CQI管“横向效率”,RI/PMI管“纵向维度”。单流场景下只看CQI即可,多流场景三者缺一不可。
Q: 为什么初传BLER目标是10%而不是0%或更低? A: 这是吞吐与开销的经济平衡点:借HARQ的低代价重传兜底,换取整体MCS抬高带来的全员频谱效率收益。把首传错误率从10%压到1%所需付出的吞吐代价,远大于重传10%数据块的开销。
Q: OLLA偏移量会不会失灵? A: 会。OLLA本质是用统计平均来校准,对持续稳定的偏差校准得很好,但对突发性干扰(毫秒级出现又消失)反应不及——等它把偏移量抬上去,干扰已经过去了,反而造成“信道已恢复、MCS仍保守”的滞后。一些增强实现会结合干扰测量做快速降档,原理上就是把“慢统计环”和“快触发环”并联。
Q: 5G NR的链路自适应和LTE相比有什么演进? A: 思想完全一致,变化在档位库和场景化:NR的CQI/MCS表扩展到256QAM并新增低码率表服务URLLC;CQI测量的参考信号从始终全带宽发送的CRS,变为按需配置的CSI-RS/SSB(更省能耗、更灵活);再叠加波束管理后,CQI实际上是“某波束、某带宽部分”的质量——从“一条信道的分数”进化为“每个波束-频域组合各有各的分数”。
链路自适应不是某一个算法,而是一个工程哲学:在随机的世界里,与其预测准,不如校准快。它把三件武器焊在一个毫秒级闭环里——
理解了这个闭环,你就拿到了一把钥匙:现网上几乎所有“速率类”问题的排查——CQI低、MCS低、BLER高、吞吐差——都能沿着“测量→上报→决策→校验”四个环节定位到具体某一环。这比背参数表重要得多。
本文由「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 等场景全覆盖。
