首页 › deep-tech › 图解AMC:网速过山车的秘密

图解AMC:网速过山车的秘密

一、满格信号,为什么刷不出满格速度

你大概经历过这样的场景:手机信号显示满格,测速却只有几十兆;换个位置,信号只剩两格,速度反而上去了。更奇怪的是,同一地点不动,速度也像坐过山车,一会儿冲上几百兆,一会儿跌回几十兆。

很多人把这归结为“网络不稳定”。但对无线工程师来说,这恰恰是网络在稳定地工作——因为在你看不见的空口上,你的手机和基站正在以毫秒级的节奏,成百上千次地为你“换挡”。信号好就挂高速挡,信号差就退回低速挡。这套机制,叫链路自适应(Link Adaptation),其核心是自适应调制编码,也就是AMC(Adaptive Modulation and Coding)。

本文要回答三个问题:网络为什么要换挡?它靠什么判断该换几挡?以及为什么它故意允许一部分数据“第一次传错”。理解了这三件事,你再看路测数据里的CQI、MCS、BLER这些指标,就不只是一列数字,而是一部完整的变速箱工作日志。

二、为什么不能定死一个挡位

先看一个反例:假如网络设计师很“憨”,给整个小区定死一个调制方式,应该选哪个?

为了照顾小区边缘的用户——他们距离基站远、穿透损耗大、干扰强——只能选最低档的QPSK加低码率,稳是稳了,但站在基站底下的用户也被迫用同一档,频谱效率被拉到最低。反过来选高档,边缘用户直接失联。这就是固定调制的死结:一条链路的质量是时变的,而固定挡位只能取“最坏情况设计”。

用生活类比:这不是造车的问题,是变速的问题。坡道、逆风、载重都在变,你不会因为“可能有陡坡”就把整辆车造成一挡慢慢挪,你装的是变速箱——根据路况实时换挡,让发动机始终工作在合理区间。

无线信道的“路况”变化有多快?多径效应、你的移动速度、邻区负载、行人走动,都会让信噪比在几十毫秒内大幅波动。与其对抗这种时变性,不如适应它——这是AMC全部设计的出发点。

还有一个更深层的原因,要用香农公式来说。信道每赫兹能无差错承载的比特速率存在理论上限:

$$C = B \cdot \log_2(1 + \mathrm{SNR})$$

其中 $B$ 是带宽,$\mathrm{SNR}$ 是信噪比。这个公式告诉我们两件事:其一,信道容量随信噪比对数增长,信噪比每时每刻在变,理论上限就每时每刻在变;其二,实际调制编码方案能达到的频谱效率是

$$\eta = R_c \cdot \log_2 M$$

其中 $R_c$ 是码率,$M$ 是星座点数(QPSK为4,16QAM为16,64QAM为64)。AMC的本质,就是让 $\eta$ 尽可能逼近当前时刻的 $\log_2(1+\mathrm{SNR})$,而不越界——越界就解错,不逼近就浪费。

三、AMC闭环全景:一部自动变速箱

AMC不是一次判决,而是一个持续运转的闭环。先把全景图画出来:

flowchart TD
    A["基站周期性发参考信号"] --> B["终端测量信道质量"]
    B --> C["终端上报CQI档位"]
    C --> D["内环查表选MCS"]
    D --> H["调制编码后发送"]
    H --> E["终端解码校验"]
    E --> F["反馈ACK或NACK"]
    F --> G["外环修正档位偏移"]
    G --> D

五个环节,各司其职:

  1. 测量:基站周期性广播参考信号(已知内容的“试音信号”),终端拿它与实际收到的信号对比,就能感知信道当前的好坏;
  2. 上报:终端把测量结果压缩成一个几比特的小数字——CQI,报回基站;
  3. 判决:基站根据CQI,从一张“档位表”里选出本次发送使用的调制方式和码率,即MCS;
  4. 执行:数据按选定的MCS完成编码、调制,发出;
  5. 检验与修正:终端解码后回ACK(对了)或NACK(错了),基站据此微调后续档位。

注意一个关键分工:测量的在终端,拍板的在基站。终端只说“我能吃下几档”,用哪档、调多少个资源块、什么时候发,全是基站的调度决策。这个分工不是随意的——基站掌握全网用户状况,只有它有权在“给你更稳的档位”和“把资源让给信号更好的别人”之间做全局权衡。

四、CQI:不是信号强度,是“我能吃几档”

CQI大概是现网被误解最多的指标之一。很多人把它当成“信号强度的量化分”,这是错的。

理解CQI,用考试打分来类比。终端测量得到的信噪比SINR像你的“真实水平”,是个连续的物理量,以dB计;而CQI是终端对基站说的一句话——“以你发参考信号的这个发射配置,我能以不高于10%的误块率稳定解出的最高档位,是第N档。” 它上报的不是测量值本身,而是基于测量值得出的能力结论。

这个设计很聪明。如果终端直接上报SINR的dB值,基站还得自己换算“这个SINR对应哪档”,但换算关系跟终端的接收机实现强相关——好终端的解调门限低,差终端高。让终端自己“对表报档”,等于把最了解自己接收能力的一方放在了最合适的位置,基站拿到的直接就是可用结论。

在现网主流系统中,CQI是一个4比特的字段,取值0到15:0留给“信道差到测不出来”,1到15对应从最低档QPSK低码率一路排到最高档高阶调制高码率。到了5G,这个思想被完整继承,只是档位表更细、最高档从64QAM常态化升级到256QAM,并支持宽带和子带两种粒度——基站甚至可以做到“哪个频段路况好,就在哪个频段给你挂高挡”。

为避免混淆,把三个最容易搅在一起的概念列清楚:

概念 谁产生 本质是什么 表现形式 用在哪
SINR 终端或基站内部计算 当前的信噪比物理量 dB,连续值 内部参考,不直接上报
CQI 终端测量并上报 我能稳定解出的最高档 0~15的整数档位 基站下行选档的主要依据
MCS 基站决策 本次发送实际用的组合 调制阶数加码率 真正执行的发送配置

一句话串起来:SINR是体检数据,CQI是体检报告给出的建议,MCS是医生最后开出的处方。

五、档位表:每往上一档,胆子就得大一分

基站在CQI基础上挑选的MCS,是“调制方式+码率”的组合。下面这张表是工程师眼里变速箱的物理挡位(SINR门槛为典型工程经验值,实际因终端能力和环境而异):

挡位 调制方式 每符号比特数 典型码率 频谱效率(约) 所需SINR(经验值) 典型场景
一挡 QPSK 2 0.1~0.5 0.2~1.0 低至约0dB以下 小区边缘、深衰落、高速移动
二挡 QPSK 2 0.5~0.8 1.0~1.6 约5dB 近边缘区域
三挡 16QAM 4 0.5~0.8 2.0~3.2 约10dB 信号中等的普通覆盖
四挡 64QAM 6 0.6~0.93 3.6~5.6 约17~20dB 近点、干扰干净的成熟覆盖
五挡 256QAM 8 0.7~0.93 5.6~7.4 约25dB以上 基站近点+轻负载+终端支持高阶

这张表背后藏着一个朴素的物理规律。高阶调制之所以“娇贵”,是因为星座点越密,相邻点的距离越近,同样大小的噪声就越容易把一个点推过边界、认成隔壁的点。对平方型QAM星座,有一个便于记忆的经验律:星座点数每翻一倍——也就是每符号多装1比特——点间距大约缩短为原来的几分之一,所需的SINR大约要提高3dB。 从QPSK到64QAM多了2比特每符号,门槛一下高出十几dB,这就是为什么小区边缘几乎永远在QPSK上徘徊。

反方向也有惊喜:信道好的时候,升一档的收益是实打实的乘法。从16QAM升到64QAM,每符号比特从4变6,同等码率下吞吐直接乘以1.5。下行方向高挡位换来的吞吐增益,正是运营商深耕覆盖和干扰治理的动力所在——把小区边缘的SINR抬升几个dB,等效于给全网用户集体升挡。

六、最反直觉的设计:为什么允许10%的传错率

刚接触AMC的工程师几乎都会被一个问题绊倒:既然要稳,为什么现网把初传误块率(BLER)目标定在10%左右,而不是追求0%?看着路测仪表上10%的BLER,很多人第一反应是“这网有问题”。

这恰恰是AMC最精妙的部分,账要这么算:

假设把MCS压得很保守,初传BLER为0%,频谱效率是1.0。另一边,把MCS调激进攻到曲线的“膝盖”位置,初传BLER为10%,但频谱效率达到1.4。用激进配置时,一次传输就成功的概率是90%,失败的那10%并不需要从头再来——现代系统配合HARQ重传机制,终端会把解错的数据块先存起来,重传的数据到达后与旧数据软合并(或者用增量冗余补充新的校验比特),合并后的有效信噪比显著提升,绝大多数第二次就解对了。

用期望值算总账:初传BLER为10%时,平均每个数据块约需传输 $1/(1-0.1)\approx1.11$ 次,多花11%的空口资源;但频谱效率从1.0提到1.4,净赚约26%。用可控的、可低成本修复的错,换更高的每赫兹速率——这就是“故意留10%”的经济学。

保守挡:效率1.0 × 一次成功     = 1.00
激进挡:效率1.4 × (1/1.11次)  ≈ 1.26   ← 净赚约26%

还有一个容易被忽略的好处:10%的BLER让系统始终工作在性能曲线最陡峭的区间附近,信道一变好立即兑现成吞吐,一变差立刻退挡保命。追求0%误码的系统反应永远是“钝”的。

所以,路测时看到初传BLER在10%附近、重传合并成功率很高,这不是故障,是变速箱正在最佳转速区工作。真正要警惕的是BLER远超目标还居高不下——那说明外环已经修不动了,后面细说。

七、内环与外环:快慢两个齿轮

AMC的判决逻辑实际是两个环,用空调温控来类比最好懂。

内环是快环,像空调的即时测温:终端每次上报CQI,基站就查一次“CQI到MCS的映射表”,立即定挡。它快,但机械——它无条件相信CQI是准的。

外环是慢环,像你根据体感手动微调温度:基站持续统计HARQ反馈,如果ACK偏多(说明实际信道比CQI声称的好),就慢慢把档位往上抬一点,多榨一点吞吐;如果NACK超预期,就往下压一点,先保住正确率。外环修正的不是一个具体的MCS,而是一个作用在CQI映射结果上的偏移量。

为什么必须要有外环?因为CQI会“说谎”,而且常常不是终端的错:

外环用一个更慢、但基于“实际结果”的反馈回路,把这些系统性偏差一点点磨平。内环信报表,外环信结果——双环结构在控制系统中无处不在,AMC是它最漂亮的工程示范之一。

八、一次换挡的完整生命周期

把上面的机制放到时间轴上,看一次“降挡保护”的完整过程:

sequenceDiagram
    participant U as 终端
    participant G as 基站
    G->>U: 周期发参考信号
    U->>G: 上报CQI打分
    G->>U: 调度命令指定MCS
    G->>U: 数据初传
    U->>G: 解码失败回NACK
    G->>U: 重传同一块数据
    U->>G: 软合并成功回ACK
    Note over U,G: 外环据此微调换挡策略

整个闭环的节奏以毫秒计。而在真实网络里,最危险的场景不是“信道差”,而是“信道突然变差,而基站手里的CQI还是旧的”。对比一下这两种情形的命运分叉:

flowchart TD
    A["干扰突然变强"] --> B["真实SINR快速下跌"]
    B --> C["手里的CQI已过期"]
    C --> D["基站仍用高档发送"]
    D --> E["终端解不出整包丢"]
    E --> F["重传挤占空口吞吐"]
    B --> G["终端上报新的低CQI"]
    G --> H["基站降档改低阶调制"]
    H --> I["速率变慢但包不丢"]

左边这条链路是事故:高档调制在恶化的信道上大面积解错,重传洪流挤占调度资源,用户感知是“速度雪崩式掉零”;右边这条链路是降级:挡位降下来,速率变慢但传输依然可靠。一条过期的CQI,比一条准确但很低的CQI危险得多。 这也解释了为什么高速铁路场景下网络会倾向整体选得保守一些——不是不自信,是知道报表赶不上路况。

九、上行为什么没有CQI

一个值得玩味的不对称:下行有终端上报的CQI,上行却没有对应的上行CQI让基站上报给终端。为什么?

答案就一句话:信道质量的裁判,应该由接收方来当。

下行方向,数据的接收方是终端,信道好不好只有终端自己最清楚,所以它有“上报权”;上行方向,数据的接收方是基站——基站自己就是裁判,它直接测量终端发来的参考信号(探测参考信号等),当场就知道这条上行链路能吃几档,根本不需要谁来转达。让基站“上报”给终端再由基站自己取用,纯属脱裤子放屁。

这个不对称还带来一个工程福利:上行MCS的判决依据不存在“上报时延”问题,测量与决策在同一台设备、同一时刻完成,所以上行的链路自适应往往比下行“跟手”得多。分时双工系统中上下行还共用同一频段,信道天然接近互易,下行测量结果也能辅助上行判断,进一步缩短了反应链条。

十、实战连接:路测数据里的变速箱日志

理解了原理,再看现网,很多现象会突然变得可解释。

现象一:满格但慢。 手机信号格数反映的是RSRP(接收功率),而选挡依据是SINR(信噪比)。功率满格不代表干净——你可能在重传污染的重叠覆盖区,或高负荷小区的干扰池里,RSRP很漂亮而SINR一塌糊涂,AMC照样把你按在低挡。判断覆盖问题还是干扰问题,第一件事就是看CQI与RSRP是否匹配。

现象二:MCS分布是小区的“体检心电图”。 healthy小区的MCS分布应集中在高挡位、形态紧凑;如果分布整体左移(低挡化),通常是覆盖或干扰劣化;如果形态散乱、双峰,则可能是远近混层或上行干扰。网优口诀“先看MCS分布,再看吞吐”的道理就在这——吞吐是结果,MCS是过程。

现象三:上传比下载更容易掉速。 上行除了选档,还叠加功率控制:边缘用户被要求“省着点发”,功率受限叠加低挡位,双杀。分析上行吞吐时,把“功率受限”和“MCS受限”分开归因,是排障的基本功。

调试中还有三个经典陷阱:

  1. 把目标BLER当故障:初传BLER贴着10%属正常工况,该追问的是重传合并后的残留误块率和吞吐损失;
  2. 只看CQI均值不看分布:CQI均值好看不代表子带间均衡,频率选择性衰落会让部分子带烂掉而宽带CQI被均值掩盖,此时要拉开子带粒度看;
  3. 外环被坏样本带偏:短暂的突发干扰会产生一串NACK,外环据此压低档位;干扰消失后如果外环上抬太慢,小区会长时间“带低挡运行”,吞吐莫名偏低——遇到“无告警但速率差”,外环偏移量是值得怀疑的对象。

最后提一句系统层面的联动:AMC从来不是单打独斗,它和调度器、HARQ、功率控制是绑在一起的三件套——调度器决定“把资源给谁”,AMC决定“给多少档”,HARQ兜底“错了怎么办”。单独优化任何一环都可能被另外两环的短板吃掉收益。

常见问题

Q: CQI高就一定意味着网速快吗? A: 不一定。CQI高只说明“单比特成本可以更低”(可挂高挡),最终吞吐还取决于两件事:基站分给你多少资源块(满负荷小区可能只给你零星几个),以及调度时机。CQI是必要条件,不是充分条件。反之CQI低则吞吐一定上不去——它是天花板。

Q: 为什么误码率目标不是0%,设成10%不会影响业务吗? A: 依赖HARQ软合并,10%的初传错误绝大多数在重传时合并解对,业务层看到的是修复后的低残留误码,且平均只多耗约11%的空口开销,换来远超这个代价的频谱效率收益。对时延极敏感、不允许重传的业务,系统会用另一套更保守的配置策略,而非共用这10%。

Q: 上行没有CQI,基站怎么决定上行档位? A: 基站是上行数据的接收方,它直接测量终端发送的参考信号来估计信道,就地完成选档判决,省掉了“上报-传递”环节的时延。所以上行的选档依据不经过终端,自然也不需要CQI这个信令。

Q: 从4G到5G,AMC有什么本质变化吗? A: 核心闭环(测量-上报-判决-HARQ修正)没有变,变的是精细化程度:档位表更细、高阶调制常态化、CQI支持更细的频域粒度让“哪好挂哪”成为可能、反馈与调度的时序配合更紧凑。可以把5G的AMC理解为同一台变速箱换了更密的齿比。

Q: 换挡频率越高越好吗? A: 不是。换挡判定本身依赖CQI的新鲜度,信道变化越快(终端移动速度越高),上报时延带来的误差越大,盲目追高挡反而制造大量重传。高速场景下工程上反而会主动选保守,宁可牺牲一点峰值速率,换取整条链路的稳定。

参考来源

  1. Link adaptation - Wikipedia — 链路自适应词条,本文闭环结构与内外环概念的权威对照(本轮实际尝试抓取的来源)
  2. ShareTechnote — LTE/NR无线工程技术手册站,CQI/MCS/HARQ条目可作工程数值旁证
  3. 樊昌信、曹丽娜《通信原理》(第7版),国防工业出版社 — 香农容量公式与星座点距-信噪比关系的推导基础
  4. 国内主流《移动通信》教材中HSDPA与链路自适应章节 — CQI分级与目标误块率设计的教科书出处

注:本文数值(SINR门槛、码率范围等)为通信行业通行的典型工程经验值,具体以实际设备文档与实网测量为准。


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