你在地铁里刷短视频,隧道里信号忽强忽弱,但视频几乎不卡——这不是运气,而是5G物理层里一对"黄金搭档"在实时协作:HARQ(混合自动重传请求) 和 AMC(自适应调制编码)。一个负责"传错了就补",一个负责"看路况选档位"。
本文将深入这两个机制的底层原理,回答一个核心问题:为什么5G要在10%的初传误块率下故意"犯错",再通过重传来获得更高吞吐量?
想象你开车在山路上:
这三者形成了一个闭环控制系统:

图表 1
一个直觉上的问题是:为什么不直接用最强的纠错编码,保证一次就能成功解码?
答案是频谱效率。最强编码意味着大量冗余比特,有效数据占比极低。实测数据表明:
| 策略 | 平均频谱效率 | 初传成功率 | 延迟 |
|---|---|---|---|
| 固定低码率(保守) | 1.2 bps/Hz | 99.9% | 最低 |
| 固定高码率(激进) | 4.5 bps/Hz | 60% | 不确定 |
| AMC + HARQ(最优) | 5.8 bps/Hz | ~90% | 可预测 |
关键洞察:AMC + HARQ 的联合设计允许初传以10%左右的BLER运行,牺牲少量重传开销,换取整体吞吐量最大化。 这是一种"故意犯错再修正"的策略——和人类学习的"试错法"异曲同工。
5G NR 定义了多张 MCS(调制编码方案)表。最常用的 MCS Table 1(适用于低频段、信道条件较好的场景)包含 32 个等级:
| MCS索引 | 调制方式 | 码率 | 频谱效率(bps/Hz) | 适用场景 |
|---|---|---|---|---|
| 0-2 | QPSK | 0.12-0.30 | 0.23-0.60 | 小区边缘、深衰落 |
| 3-9 | QPSK/16QAM | 0.30-0.60 | 0.60-2.40 | 中等信道质量 |
| 10-15 | 16QAM | 0.54-0.77 | 2.16-3.08 | 良好信道 |
| 16-23 | 64QAM | 0.55-0.83 | 3.30-4.98 | 近基站 |
| 24-27 | 256QAM | 0.65-0.82 | 5.20-6.56 | 极好信道 |
| 28-31 | 保留/特殊 | — | — | 重传专用 |
工程直觉:从MCS 0到MCS 27,频谱效率相差约28倍。这意味着同一个PRB(物理资源块),选对MCS和选错MCS,吞吐量可能相差一个数量级。
基站的调度器每1毫秒(一个slot)做一次MCS选择决策,过程如下:

图表 2
核心公式:
$$MCS_{selected} = \arg\max_{m} \left{ SE(m) \mid BLER(m, SINR_{eff}) \leq BLER_{target} \right}$$
其中 $SE(m)$ 是MCS等级 $m$ 对应的频谱效率,$SINR_{eff} = SINR_{CQI} + \Delta_{OLLA}$ 是经过外环修正后的有效SINR。
| 特性 | 4G LTE | 5G NR |
|---|---|---|
| MCS表数量 | 1张(CQI表) | 3张(MCS Table 1/2/3) |
| 最高调制 | 64QAM(下行) | 256QAM(下行) |
| BLER目标 | 固定10% | 可配置(URLLC可达0.1%) |
| CSI粒度 | 子带/宽带 | 更灵活(Type I/Type II) |
| 码率范围 | 0.076-0.926 | 0.12-0.95 |
为什么5G需要多张MCS表? 因为不同场景对可靠性的要求差异巨大。eMBB场景追求吞吐量(用MCS Table 1,支持256QAM),而URLLC场景追求可靠性(用MCS Table 3,低码率QPSK,确保BLER < 0.1%)。
HARQ(Hybrid Automatic Repeat reQuest)是FEC(前向纠错)和ARQ(自动重传请求)的混合体:

图表 3
关键区别:
| 对比项 | Chase Combining | Incremental Redundancy |
|---|---|---|
| 重传内容 | 与原传输完全相同 | 不同的校验比特(不同RV) |
| 合并方式 | 软比特直接相加 | 软比特联合解码 |
| 增益来源 | 仅SNR增益(功率合并) | SNR增益 + 编码增益 |
| 典型增益 | 3-4 dB | 5-7 dB |
| 缓冲区需求 | 小(仅存一份数据) | 大(需存所有RV) |
| 5G NR采用 | 支持 | 主要采用 |
用一本书的类比来理解:
从编码理论角度,IR的核心在于每次重传降低有效码率:
$$R_{eff}^{(k)} = \frac{K}{N_1 + N_2 + \cdots + N_k}$$
其中 $K$ 是信息比特数,$N_i$ 是第 $i$ 次传输的总比特数。随着重传次数增加,有效码率 $R_{eff}$ 不断降低,纠错能力不断增强。
实测BLER衰减曲线(以典型TDL-C信道为例):
| 重传次数 | 累计BLER | 有效码率变化 | 累计增益 |
|---|---|---|---|
| 初传(RV0) | 10% | R = 0.5 | 基线 |
| 第1次重传(RV2) | ~1% | R_eff ≈ 0.25 | +3-4 dB |
| 第2次重传(RV3) | ~0.1% | R_eff ≈ 0.17 | +5-6 dB |
| 第3次重传(RV1) | ~0.01% | R_eff ≈ 0.125 | +6-7 dB |
工程要点:百度百科中IR条目指出,与Chase Combining相比,IR方案可获得约 2 dB的额外信噪比增益。这意味着在同样的信道条件下,IR能用更少的重传次数达到相同的可靠性。
5G NR 上下行均采用异步HARQ(LTE仅下行异步,上行同步)。一个HARQ进程的完整生命周期:

图表 4
关键参数解读:
| 参数 | 含义 | 取值范围 |
|---|---|---|
| HARQ PID | 进程编号(最多16个并行) | 0-15 |
| NDI | 新数据指示(翻转=新数据) | 0/1 |
| RV | 冗余版本 | 0,2,3,1 |
| K1 | PDSCH到HARQ-ACK的时隙偏移 | 1-15 |
为什么RV顺序是0→2→3→1? 这不是随机的。这个顺序经过优化设计:RV0包含最多的系统比特(信息位),RV2包含最互补的校验比特,使得仅一次重传就能获得最大的编码增益。
5G NR最多支持16个HARQ进程(LTE为8个)。原因在于流水线效应:
时间轴(slot): 0 1 2 3 4 5 6 7 8 9 10 11 12 ...
进程#0: [发] ............ [ACK] [重发?] ............
进程#1: [发] ............ [ACK] [重发?] .........
进程#2: [发] ............ [ACK] [重发?] ......
...
进程#15: [发] ............ [ACK] ...
从发送到收到ACK/NACK(K1=4,处理时间N1≈2个slot),一个HARQ进程需要等待约6个slot才能复用。在这段时间里,调度器可以给其他HARQ进程发送数据,保持无线资源100%利用率。
如果只有1个HARQ进程,信道利用率将降至:
$$\eta = \frac{T_{transmit}}{T_{transmit} + T_{process} + T_{feedback}} = \frac{1}{1+2+4} \approx 14\%$$
16个进程让利用率回升到接近100%。
内环链路自适应(ILLA)根据UE上报的CQI选择MCS,但CQI存在两个问题:
OLLA(Outer Loop Link Adaptation) 通过监测实际的ACK/NACK反馈来修正SINR估计:
# OLLA核心逻辑(伪代码)
delta_olla = 0 # 初始偏移量
BLER_target = 0.10 # 目标初传BLER 10%
for each_harq_feedback:
if NACK and is_initial_transmission:
delta_olla -= delta_down # 降低偏移 → 选更低MCS
elif ACK and is_initial_transmission:
delta_olla += delta_up # 增加偏移 → 尝试更高MCS
# 保持偏移量在合理范围
delta_olla = clamp(delta_olla, -10, 10)
关键参数:步进值的设计遵循"保守优先"原则。典型配置:
| 参数 | 典型值 | 含义 |
|---|---|---|
| $\Delta_{up}$ | +0.1~0.3 dB | ACK时上调(小步) |
| $\Delta_{down}$ | -1.0~-3.0 dB | NACK时下调(大步) |
| BLER目标 | 10%(eMBB) | 初传误块率 |
| 调整周期 | 每个HARQ反馈 | 实时调整 |
为什么下调步进远大于上调步进? 因为一次NACK意味着重传开销(至少浪费一个slot),而保守一点只损失少量频谱效率。以BLER目标10%为例:$\Delta_{up}/\Delta_{down} = (1-BLER_{target})/BLER_{target} = 9$,即下调步进约为上调步进的9倍,确保在稳态下统计BLER收敛到目标值。
根据IEEE论文《Performance Evaluation of Link Adaptation Algorithms in 5G NR》的仿真结果:
| BLER目标 | 平均吞吐量 | 平均MCS | 重传率 | 适合场景 |
|---|---|---|---|---|
| 5% | 基线 | 偏低 | 5% | 均衡 |
| 10% | +8~15% | 适中 | 10% | eMBB推荐 |
| 20% | +3~5%(vs 10%) | 偏高 | 20% | 高速移动 |
| 0.1% | -20~30% | 很低 | <0.1% | URLLC |
10%的BLER目标是eMBB场景的"甜蜜点"——更高则重传开销太大,更低则MCS过于保守。
整个链路自适应系统的吞吐量可以建模为:
$$T = R_{MCS} \cdot (1 - BLER_{init}) + R_{MCS} \cdot BLER_{init} \cdot (1 - BLER_{re1}) \cdot \frac{1}{2} + \cdots$$
简化后(假设每次重传成功率相同):
$$T \approx R_{MCS} \cdot \frac{1 - BLER_{init}^N}{1 + BLER_{init} + BLER_{init}^2 + \cdots}$$
其中 $N$ 是最大HARQ重传次数。当BLER_init = 10%,N = 3时:
而如果用固定低码率保证99.9%初传成功率,$R_{MCS}$ 本身可能降低30-50%。HARQ允许"先用高码率搏一把,失败再补救",整体吞吐量更高。
| 信道条件 | SINR范围 | 最佳MCS(有AMC) | 固定MCS=10 | AMC+HARQ增益 |
|---|---|---|---|---|
| 极好(近站) | 25-35 dB | MCS 25-27 (256QAM) | 2.4 bps/Hz | +170% |
| 良好 | 15-25 dB | MCS 18-22 (64QAM) | 2.4 bps/Hz | +80% |
| 中等 | 5-15 dB | MCS 10-16 (16QAM) | 2.4 bps/Hz | +10% |
| 较差 | 0-5 dB | MCS 4-8 (QPSK) | 2.4 bps/Hz | -15%* |
| 极差(边缘) | <0 dB | MCS 0-2 (QPSK) | 2.4 bps/Hz | -40%* |
*注:在信道极差时,固定MCS=10(16QAM中等码率)可能根本无法解码(BLER>50%),此时AMC降到低阶调制虽然速率低但至少能传数据——"慢但通"好过"快但断"。
5G NR在卫星通信场景中面临新的HARQ挑战——往返时延(RTT)可能高达20-540ms,传统的HARQ机制会导致严重的资源浪费。3GPP Release 17/18对此做了增强:
| 指标 | 含义 | 健康范围 | 异常排查 |
|---|---|---|---|
| 初传BLER (I-BLER) | 首次传输误块率 | 5%-15% | >20%:MCS过激进或干扰 |
| 残余BLER (R-BLER) | HARQ重传后的误块率 | <0.1% | >1%:覆盖漏洞或硬件故障 |
| MCS分布 | 各MCS等级的使用比例 | 高MCS占比高为佳 | 低MCS占比>50%:覆盖问题 |
| HARQ重传率 | NACK占比 | 10%-20% | >30%:外环需要调整 |
| CQI均值 | 信道质量指示 | >10(64QAM门限) | <7:覆盖/干扰问题 |
误区1:BLER越低越好 很多工程师看到BLER>5%就想"优化"。但如前所述,10%的BLER是系统最优工作点。强行降低BLER意味着降低MCS,反而降低吞吐量。
误区2:HARQ重传率高=网络有问题 初传BLER 10%意味着必然有约10%的HARQ重传。这是正常的设计行为,不是bug。但如果重传后仍然失败(残余BLER高),那才需要关注。
误区3:固定MCS比AMC更"稳定" 在高速移动场景(高铁350km/h),信道变化太快,CQI上报跟不上。一些厂商提供"半固定MCS"模式,但这只是退而求其次的方案,实际性能仍不如优化好OLLA参数的全动态AMC。
某城区5G站点投诉"上网慢",现场测试发现:
诊断:OLLA偏移量过于保守($\Delta_{down}$ 设置过大),导致虽然CQI足够高,但外环把SINR估计压低了,MCS选得太低。
解决:将 $\Delta_{down}$ 从 -3.0 dB 调整为 -1.5 dB,$\Delta_{up}$ 从 +0.1 dB 调整为 +0.2 dB。
效果:MCS均值升至15,初传BLER升至9%,吞吐量提升约40%。
| 特性 | 4G LTE | 5G NR |
|---|---|---|
| 下行HARQ | 异步 | 异步 |
| 上行HARQ | 同步 | 异步 |
| 最大HARQ进程数 | 8 | 16 |
| 最大重传次数 | 4 | 4 |
| 信道编码 | Turbo码 | LDPC码 |
| 反馈定时 | 固定 | 灵活(K1可配) |
| CBG级反馈 | 不支持 | 支持 |
| BLER目标 | 固定10% | 可配置 |
5G上行改用异步HARQ的意义:LTE的上行同步HARQ意味着重传时序固定(收到NACK后固定4ms重传),这在低时延场景下不够灵活。5G NR的上行异步HARQ允许基站通过DCI灵活调度重传时机,既能支持URLLC的超低时延需求,又能适应NTN的超长时延场景。
Q1: HARQ和RLC层ARQ有什么区别? A: HARQ工作在MAC层/物理层,处理单次传输的比特级错误,速度快(毫秒级),但重传次数有限(最多4次)。RLC ARQ工作在RLC层,处理HARQ重传后仍失败的数据包,速度较慢(数十毫秒),但可以无限重传直到成功。两者是串行关系:HARQ先"快修",修不好交给RLC"慢修"。
Q2: 为什么5G用LDPC码替换了Turbo码?这对HARQ有什么影响? A: LDPC码相比Turbo码有三个优势:(1) 在中高码率下性能更好(适合eMBB高吞吐量);(2) 更容易并行化解码(降低处理延迟);(3) 对增量冗余HARQ更友好——LDPC的速率匹配结构天然支持灵活的RV划分。Polar码用于控制信道,其重传机制与LDPC不同。
Q3: CBG(码块组)级HARQ反馈是什么?为什么需要? A: 传统HARQ以整个传输块(TB)为单位反馈ACK/NACK。如果一个15000字节的TB中只有一个500字节的码块出错,重传整个TB很浪费。CBG级HARQ将TB分成多个码块组,只重传出错的CBG,在大包场景下可减少30-50%的重传开销。
Q4: 现网中如何判断HARQ参数是否需要调优? A: 三个关键信号:(1) 初传BLER偏离目标值(如>20%或<3%),说明OLLA需要调整;(2) 残余BLER>0.5%,说明存在覆盖或干扰问题,HARQ4次重传都救不回来;(3) MCS分布与CQI分布不匹配(如CQI高但MCS低),说明外环或内环校准有问题。
Q5: 在高铁场景下HARQ还能正常工作吗? A: 高铁场景(350km/h)的挑战是多普勒频移导致信道在1ms内剧烈变化。CQI上报时信道好,到实际调度时可能已恶化。解决方案包括:(1) 更快的CSI上报周期;(2) 更激进的OLLA调整步进;(3) 利用HARQ的重传作为"安全网"。华为、爱立信等厂商有专门的高铁优化算法,核心思想是让AMC更加保守,依赖HARQ来弥补。
本文由「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 等场景全覆盖。
