首页 › deep-tech › 图解链路自适应:CQI如何决定MCS

图解链路自适应:CQI如何决定MCS

一、从一个日常类比说起

想象你是一位老司机,开车经过一段路况多变的山路:视野好的直道你敢踩到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

注意这个闭环有两条反馈路径:

  1. 快反馈(CQI):UE主动报告“我看到的信道怎么样”——这是前馈预测;
  2. 慢反馈(HARQ ACK/NACK):UE用实际解码结果告诉基站“你上一单发对了没有”——这是事后校验。

只靠前馈会失准(UE的测量和基站的真实发送之间总有偏差),只靠事后校验又太慢。预测 + 校验双保险,才是工程上稳的做法。


四、CQI:终端给信道打的“分数”

4.1 CQI是什么,不是什么

CQI(Channel Quality Indicator)是一个 0~15 的整数。理解CQI最关键的一点是:

CQI不是SINR本身,而是一个“建议”:UE用它告诉基站——“如果我是你,在这个信道上我会用这种调制方式和这个码率来发,首次传输误块率大约不超过10%”。

也就是说,CQI的量化准则不是“信道等于多少dB”,而是“哪种调制编码组合在这个信道上刚好能跑住”。同样CQI=10的两部手机,真实SINR可能差好几个dB(因为接收机实现质量不同),但它们承载能力相似——这恰恰是设计意图:上报的是结果(能跑什么),不是原因(信号多少dB)。CQI=0是特殊值,表示“信道太差,啥也别发了”(out of range)。

4.2 CQI表:15个档位

以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高可靠场景),思路一脉相承——按业务诉求选择不同的“档位表”。

4.3 宽带CQI与子带CQI

无线信道还有一个特性:频率选择性衰落。同一个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到MCS:招生办为什么不照抄考生自估分

拿到CQI后,基站调度器并不直接照抄。这里有本节最重要的一个设计思想:

UE报CQI,相当于考生自估分数;基站选MCS,相当于招生办定录取线。招生办从来不只信自估分。

为什么不照抄?三个原因:

  1. 测量与发送之间存在时间差。CQI从测量到上报再到调度执行,天然有若干毫秒延迟。手机稍一移动,多普勒效应会让信道“过时”,报告时的好信道现在可能已经变差。
  2. UE之间实现差异。不同芯片的接收机质量(信道估计精度、干扰抑制能力)参差不齐,有的UE习惯性乐观,有的习惯性保守。
  3. HARQ的“盲区”。UE报CQI时不知道基站的发射功率分配、是否多天线预编码、当前干扰会怎么变——这些只有发送端才知道。

所以基站要做一次修正:

$$ \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

六、外环OLLA:为什么“10%出错率”是特性而不是缺陷

初见者最容易在这里犯迷糊:初传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功率配置和功控参数,而不是覆盖。


八、在现网中:这套原理如何变成你的日常工具

8.1 看什么指标

掌握了闭环结构,你就知道现网优化时该看哪些“体检项”,以及它们各自定位闭环的哪一环:

8.2 常见根因对照表

现象 闭环环节定位 典型根因
CQI整体偏低 信道测量环节 弱覆盖、模三干扰、邻区漏配
CQI高但MCS低 OLLA/调度策略环节 突发干扰历史导致偏移量居高不下、厂商保守参数
首传BLER持续>20% HARQ校验环节 工作点失守:干扰突变、CQI周期过长导致过时
UE移动快时MCS骤降 反馈时延环节 多普勒引起CQI过时,需缩短CQI周期或加大OLLA保护
上行MCS低但下行正常 上行测量环节 SRS功率不足、PHR上报异常

8.3 调试陷阱


九、常见误解澄清

误解一:“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实际上是“某波束、某带宽部分”的质量——从“一条信道的分数”进化为“每个波束-频域组合各有各的分数”。


十一、小结

链路自适应不是某一个算法,而是一个工程哲学:在随机的世界里,与其预测准,不如校准快。它把三件武器焊在一个毫秒级闭环里——

  1. CQI:终端的快速前馈预测(我能跑什么档);
  2. MCS决策:基站的修正与拍板(预测+偏移量,而不是盲信预测);
  3. OLLA+HARQ:用真实结果持续校准工作点,并有意运行在10%首传错误率的“悬崖边缘”换取全局吞吐。

理解了这个闭环,你就拿到了一把钥匙:现网上几乎所有“速率类”问题的排查——CQI低、MCS低、BLER高、吞吐差——都能沿着“测量→上报→决策→校验”四个环节定位到具体某一环。这比背参数表重要得多。


参考来源

  1. TS 36.213 - 3GPP — LTE CQI表格与上报机制的规范出处(本文表1的原始定义)
  2. ShareTechnote — 无线工程师技术百科,站内CQI/MCS/OLLA章节配有大量图解

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