首页 › deep-tech › 5G上行功率控制原理图解

5G上行功率控制原理:一部手机的“自动音量旋钮”是如何设计的

如果你把手机贴在耳边打电话时留意过机身温度,或者对着信号格只有一格的手机看过耗电速度,你其实已经亲身感受过“功率控制”的存在。上行功率控制,解决的是一个看似简单、实则贯穿了移动通信三十余年演进的问题:手机该用多大功率说话?

这问题值得写一篇教科书级的文章,因为它不是“越大越好”,也不是“越小越省电”,而是一场涉及干扰、容量、公平性和电池寿命的多方博弈。本文以5G NR(新空口)上行功控为例,把它的设计逻辑彻底讲透。


一、为什么上行必须做功率控制

1.1 核心矛盾:远处的受害,近处的霸道

想象一个教室里有几十个人同时举手发言(上行信道是多用户共享的),老师(基站)必须同时听清所有人。如果坐在第一排的人用正常音量说话,而坐在最后一排的人也用同样的音量,会发生什么?

flowchart LR
    subgraph 小区
        A["近点UE<br/>路损80dB<br/>若发满功率23dBm<br/>到达基站: -57dBm"] -.强信号淹没.-> C["基站接收机"]
        B["远点UE<br/>路损130dB<br/>同样23dBm<br/>到达基站: -107dBm"] --> C
    end
    C --> D["结果: 远点UE的信号<br/>被近点UE的干扰抬底50dB<br/>完全无法解调"]
    style A fill:#ffcccc
    style B fill:#ccffcc
    style C fill:#cce5ff
    style D fill:#ffeeba

如果所有人都能自动把自己的功率调到“到达基站时刚好够用”,那么近点的少发一点、远点的多发一点,大家在基站处“齐平落地”,干扰就变成了可控的背景噪声。这就是上行功控的第一个目的:对抗近远效应,实现各用户在接收端的“干扰均等”。

1.2 上行是“干扰受限”系统

下行方向,基站只需要关心“我发给这个用户的信号够不够强”,因为功率预算掌握在网络手里,而且是典型的“噪声受限”(热噪声是地板)。上行方向则完全不同:

所以上行功控不只是“帮某个用户调音量”,它是全小区干扰的总量调节阀。这个定位决定了它必须精细、必须闭环、必须每条信道单独管。

1.3 第三个动机:省电与降温

手机射频功放在最大输出时功耗巨大。若能用最低够用的功率发射,续航直接受益。据某百科“Power control”词条的记载,功率控制的好坏甚至会直接影响“网络与设备寿命”这类指标——对终端而言,它就是最直接的省电开关之一。


二、功控的两大支柱:开环与闭环

5G NR的上行功控继承了LTE的框架,由两条腿走路:开环(Open Loop) 提供“粗调基准”,闭环(Closed Loop) 提供“精修修正”。理解这两者的分工,是理解一切功控机制的关键。

flowchart TB
    subgraph 开环部分_终端自主执行
        A["网络广播/专有配置:<br/>P0 目标功率 + alpha 补偿系数"] --> B["UE测量下行参考信号<br/>(SSB或CSI-RS) 估计路损PL"]
        B --> C["计算开环基准功率<br/>P0 + alpha × PL"]
    end
    subgraph 闭环部分_网络实时纠偏
        D["基站实测上行接收质量<br/>(SNR/SINR vs 目标)"] --> E{偏差方向?}
        E -- "太弱" --> F["TPC命令: +1dB 或 +3dB"]
        E -- "太强" --> G["TPC命令: -1dB"]
        E -- "刚好" --> H["TPC命令: 0dB"]
        F --> I["UE按命令修正功率"]
        G --> I
        H --> I
    end
    C --> J["最终发射功率 = min(最大上限, 开环基准 + 闭环修正 + 格式修正)"]
    I --> J
    J -.实际信号.-> D
    style J fill:#d4edda

2.1 开环:UE自己“照镜子”

UE在下行方向收得到基站的信号,那么一个朴素的推断是:下行路损有多深,上行路损就差不多有多深(频段相同的前提下,即FDD或对称TDD场景)。于是UE可以:

  1. 测量下行参考信号(5G NR里网络可指定用SSB同步信号块,或CSI-RS信道状态参考信号作为路损参考,这一点在rfwireless-world的技术文章中也得到印证——路损参考RRC配置里明确是ssb-Index或csi-RS-Index二选一);
  2. 算出参考信号的实际接收电平,与它的已知发射功率相减,得到路径损耗PL;
  3. 用 PL 推算出“我该发多强”。

这就像在一间陌生的大礼堂里讲话:你先听一下别人从台上说话的回声强度,估计出礼堂的“吸音程度”,再决定自己开口的音量。这个动作没人现场指挥,全靠你自己——所以叫“开环”。

但开环有两个天生的缺陷:

所以闭环必须出场。

2.2 闭环:基站的实时“纠音”

基站接收每个UE的上行信号后,把实测质量(SINR)与目标值比较:

UE收到命令后在原功率基础上叠加一个小步进修正。这形成了经典的负反馈闭环,和空调恒温器的原理一模一样:温度高了关压缩机、低了开压缩机,永远朝目标值收敛。

闭环的价值在于一个字:快。WCDMA时代为了对抗高速衰落,内环功控做到了每秒1500次的量级(某百科记载为1500次/秒,而GSM只有约2次/秒)——差了近三个数量级,这正是CDMA系统对抗瑞利衰落和近远效应的生命线。NR虽然上行采用了带频域预编码的DFT-s-OFDM/CP-OFDM混合结构,衰落特性比纯CDMA温和,但闭环TPC依然是每子帧可用的常态化纠偏手段。

2.3 TPC命令长什么样

TPC命令只有2个比特,却承载了整条闭环反馈链路。它的映射方式有两种,这是很多工程师容易混淆的地方:

模式 2bit取值 00/01/10/11 对应的调整量 适用场景
累计模式(Accumulated) −1 / 0 / +1 / +3 dB 常态跟踪信道慢衰落,逐步收敛
绝对模式(Absolute) −4 / −1 / +1 / +4 dB 大偏差场景一次性拉回,快速纠偏

而随机接入响应(RAR)中携带的TPC用的是另一套更粗的映射——按rfwireless-world整理的表格,取值范围为 {−6, −4, −2, 0, +2, +4, +6, +8} dB。为什么RAR里步进更大?因为随机接入刚结束时,UE的功率估计可能偏差很大(毕竟还没收到任何针对它的闭环命令),需要“大刀阔斧”的初始校正,之后才切换到±1dB级别的精细调节。

为什么±1dB是“标准步进”? 无线链路预算里1dB是经典的“最小有意义单位”:链路预算余量通常按1dB颗粒规划,衰落余量、干扰余量的工程经验值都以dB整数计。更细的步进会浪费信令比特,更粗的步进会引起功率振荡。


三、把公式拆开看:每个符号都是一次设计决策

5G NR中PUSCH(物理上行共享信道,承载业务数据)的功控公式是整篇文章的核心,值得逐项解剖。完整的开环+闭环表达式为:

$$P_{PUSCH} = \min\left(P_{CMAX},\; P_0 + \alpha \cdot PL + 10\log_{10}\left(2^{\mu} \cdot M_{RB}\right) + \Delta_{MCS} + f\right)$$

先看外层的 min(·, P_CMAX):任何计算出来的功率都不得超过UE的功率等级上限。主流手机是功率等级3(PC3),即23dBm≈200mW;部分大功率场景(如高频段或工业场景)会用到26dBm的PC2等级。外层的min是一切功控的“天花板铁律”。

内层的每一项,都对应一个设计决策:

3.1 P₀ —— 目标“落地点”功率

P₀(单位dBm)回答的问题是:“我希望你的信号到达基站时,落在多高的电平上?”它由网络通过RRC配置,可配置范围大致在−202到+24之间(rfwireless-world给出的p0-NominalWithoutGrant取值范围),实际运营常用值多在−100dBm~−80dBm量级。

P₀是全小区干扰水平的“总闸门”:P₀调高1dB,等于允许所有UE在接收端抬高1dB,小区吞吐可能上升,但边缘干扰同步恶化。现网优化中,P₀是做“容量 vs 边缘体验”权衡的第一旋钮。

3.2 α —— 部分路损补偿:一个精妙的“不满赔”

α(alpha)是整个公式里最体现设计智慧的一项。路损补偿系数取值范围是 0 ≤ α ≤ 1,它决定了“路损增长中有多少比例被功率追回”:

这就是所谓的分数功率控制(Fractional Power Control):与其让20%的边缘用户都跑满、把剩下80%的用户干扰抬上天,不如让边缘用户“体面地慢一点”,换取整体容量。α的取值是纯粹的网优决策,典型配置在0.6~1.0之间,广覆盖场景偏大、容量场景偏小。

flowchart LR
    subgraph 全补偿_alpha_1
        A1["边缘UE<br/>路损130dB"] -->|发23dBm| B1["到达: -107dBm<br/>追平目标 ✓"]
        A2["近点UE<br/>路损80dB"] -->|只需-27dBm| B2["到达: -107dBm ✓<br/>但整体目标定高了<br/>干扰爆炸"]
    end
    subgraph 部分补偿_alpha小于1
        C1["边缘UE<br/>路损130dB"] -->|发23dBm| D1["到达: -107dBm<br/>低于目标, 速率受限"]
        C2["近点UE<br/>路损80dB"] -->|发-37dBm| D2["到达: -117dBm<br/>干扰很低 ✓<br/>全小区容量↑"]
    end
    style D1 fill:#ffeeba
    style D2 fill:#ccffcc

这张图揭示了一个反直觉的结论:上行功控的目标从来不是“让每个人都能高速率”,而是“让全小区的总干扰预算不被任何人挥霍”。 理解了这一点,你就理解了移动通信网络设计中的集体主义哲学。

3.3 10·log₁₀(2^μ · M_RB) —— 带宽越大,功率越大(对数地)

这一项解释了“你这次调度了多少资源”。

为什么要加这一项?因为功控控制的对象本质上是功率谱密度(每子载波上的功率),而不是总功率。调度了50个RB和5个RB,如果总功率一样,前者的每子载波功率只有后者的1/10。公式中+10lg(2^μ·M_RB)这一项把“分配的资源数”换算成功率的对数增量,保证无论调度器怎么切资源,每个子载波上的功率密度都符合P₀的目标。这体现了功控与调度器的深度耦合:功控不指挥调度器给多少资源,只保证“给了多少资源,功率就按对数规律跟上多少”。

3.4 Δ_MCS 与 f —— 编码补偿与闭环修正

3.5 参数速查表

参数 含义 典型取值/范围 谁决定它
P_CMAX UE最大发射功率上限 23dBm(PC3)/ 26dBm(PC2) UE能力等级(硬件事实)
P₀ 目标接收功率基准 −100 ~ −80 dBm量级 网络配置(RRC)
α 路损补偿系数 0.6 ~ 1.0 网络配置(网优核心旋钮)
PL 下行估计路损 实测值 UE测量SSB/CSI-RS
2^μ·M_RB 本次调度资源数 随调度变化 基站调度器
Δ_MCS 调制方式补偿 0 或按MCS查表 网络配置开关
f 闭环TPC累计值 每次±1/+3dB叠加 基站MAC层实时下发

四、不止PUSCH:四个信道,四条独立的功控环路

新手最常见的认知盲区是以为“上行功控”是一条环路。实际上,每个上行物理信道都有自己的公式、自己的P₀、自己的闭环计数器,因为它们承载的信息类型、解调要求和干扰影响完全不同:

flowchart TB
    subgraph UE上行信道功控全景
        subgraph PRACH环_随机接入
            P1["特点: 无闭环, 纯开环+爬坡<br/>第一次试探失败就加码重试"]
        end
        subgraph PUSCH环_业务数据
            P2["特点: 开环+闭环全配<br/>最复杂的公式"]
        end
        subgraph PUCCH环_控制信令
            P3["特点: 固定格式固定带宽<br/>按格式有deltaF偏移<br/>对可靠性要求极高"]
        end
        subgraph SRS环_探测信号
            P4["特点: 服务于波束管理和信道估计<br/>功率独立闭环"]
        end
    end
    PRACH环_随机接入 --> T["总功率限制:<br/>四者线性功率之和 ≤ P_CMAX<br/>超限时按信道优先级缩放"]
    PUSCH环_业务数据 --> T
    PUCCH环_控制信令 --> T
    SRS环_探测信号 --> T
    style T fill:#d4edda

4.1 PRACH:唯一“没有闭环”的功控

随机接入前导的发射功率公式为:

$$P_{PRACH} = \min\left(P_{CMAX},\; P_{RECEIVED_TARGET} + PL\right)$$

其中目标功率本身由三部分构成:

$$P_{RECEIVED_TARGET} = P_{INITIAL} + \Delta_{PREAMBLE} + (N_{RETRY}) \times P_{RAMP_STEP}$$

为什么PRACH特殊?因为在随机接入完成之前,UE还没有被网络“认识”,基站无法为它分配C-RNTI、无法下发专属TPC命令。闭环的前提(有专属控制信道)尚不存在,所以PRACH只能用“开环估计 + 失败爬坡”的策略:

  1. 第一次按估计功率发射preamble;
  2. 若RAR窗口内没收到响应,说明“声音太小没被听见”,功率抬升一个爬坡步进(典型步进为2dB,可配置为0/2/4/6dB);
  3. 重发,直至成功或达到最大次数。

Δ_PREAMBLE是与preamble格式相关的修正量(不同格式的preamble时域长度不同,需要的目标接收功率不同)。这套“爬坡”机制本质上是一种盲重传的功率退火——用最少的信令开销,实现对未知路损的鲁棒覆盖。它也解释了一个现网现象:RAR里携带的那条大步进TPC命令(±6/8dB),正是为了让UE从“爬坡上来的粗略功率”一步切到“闭环精细跟踪”。

4.2 PUCCH:小信道,大责任

PUCCH承载HARQ-ACK、CSI、调度请求等控制信令。它的公式结构与PUSCH类似,但有一个关键差异:每种PUCCH格式都有独立的deltaF偏移(rfwireless-world列出的deltaF-PUCCH-f0到f4)。为什么?PUCCH格式0~4的时频结构、序列长度、承载比特数完全不同,解调门限差异悬殊——一个只传1~2bit ACK的短格式,和一个传多bit CSI的长格式,需要的功率完全不在一个量级。

而且PUCCH的可靠性要求远高于PUSCH:ACK丢了比数据包丢了严重得多——数据包丢了有HARQ重传兜底,ACK丢了会导致基站误判、引发乱序重传甚至无线链路问题。所以网优实践中PUCCH的P₀往往配得比“刚好够”更保守一些。

4.3 SRS:为别人量身的功率

SRS(探测参考信号)不承载数据,是UE“大声念稿子”让基站测量信道用的,服务于下行波束管理、链路自适应和大规模MIMO的信道估计。它的功控有自己的P₀和α集合,且可以与PUSCH使用不同的路损参考——这在大规模天线阵列场景下非常关键:SRS可能需要专门用某个波束方向的参考信号来测路损,以便基站精确掌握各天线通道的信道状态。


五、总功率预算:当四条环路打架时听谁的

UE的功放只有一个,四条环路各自算出来的功率加起来,可能超过23dBm的天花板。协议的处理方式分两步:

  1. 求和检查:UE将PUSCH、PUCCH、PRACH、SRS的功率取线性值(毫瓦)相加,与P_CMAX比较;
  2. 按优先级缩放:若总和超限,低优先级信道先被“削功率”,缩放顺序大致为:PRACH(接入是第一优先级)> PUCCH(控制信令优先于数据)> 携带UCI的PUSCH > 纯数据PUSCH > SRS。

这个优先级设计的逻辑与网络整体哲学一致:没有接入就没有连接,没有控制信令就没有数据传输——先保命,再保话,最后才是锦上添花的探测。

工程上与此直接挂钩的是功率余量报告(PHR, Power Headroom Report):UE定期向基站汇报“我的封顶功率减去当前所需功率还剩多少dB”。PHR是负值时,说明UE的需求已经超出了它的物理能力,调度器会主动降低MCS或缩减RB数来“减压”。PHR是调度器了解终端“体感”的唯一窗口,相当于每名学生向老师汇报“我现在听得吃不吃力”。


六、进入现网:这些原理在哪里被用到

6.1 典型调试场景一:路损参考选错波束

TDD大规模MIMO场景下,网络会为PUSCH配置多个pathlossReferenceRS(可指向不同SSB或CSI-RS)。如果路损参考指向的SSB波束与实际调度使用的发送/接收波束方向偏差过大,UE估出的PL与真实上行路损出现系统性偏差——表现为上行MCS始终偏低、SINR统计与路损估计自相矛盾。排查时首先要核对SRI(SRS资源指示)与P0-AlphaSet、路损参考之间的映射关系(rfwireless-world列出的sri-PUSCH-MappingToAddModList就是这套三联映射的载体)。

6.2 典型调试场景二:P₀全网“一刀切”导致的边缘差

部分组网把P₀和α按全网统一参数下发。宏微组网中,微站的覆盖半径小、路损分布与宏站完全不同,同一套P₀会让微站用户集体功率偏高、上行干扰抬升。正确做法是P₀按小区的覆盖目标分别规划——这是网优参数核查清单里的必查项。

6.3 典型调试场景三:PHR长期贴零或为负

路测中若发现某UE的PHR长期接近0dB或为负,说明它长期“顶格发射”。可能的原因包括:α配置过小导致补偿不足、UE处于深度阴影区、或者上行干扰被迫抬高目标SINR。结合PUSCH的接收电平统计,可以区分是“覆盖问题”还是“干扰问题”——这两者的药方完全不同。

6.4 常见误解清单


常见问题

Q1: 上行功控和下行功控的思路一样吗? A: 思路相近但侧重不同。下行功控主要做“逐UE的调度差异化”(谁路损深给谁多一点),因为功率总量掌握在网络手里;上行功控则更强调“精确的目标电平控制”,因为每个UE都是别人的干扰源,控的是全小区干扰总量。上行的α部分补偿机制在下行就没有直接对应物。

Q2: 为什么LTE/NR用“部分补偿”,而当年的CDMA强调“完全补偿”? A: CDMA系统所有用户共享同一频段,靠扩频码区分,近远效应是致命的,必须让所有信号在接收端严格等强,所以WCDMA内环以1500次/秒的频率做高精度完全补偿。LTE/NR上行用频域正交(子载波互相正交),近远问题的严重性大幅缓解,系统从“必须完全补偿才能工作”进化为“可以用部分补偿换容量”,这是波形正交化带来的功控设计自由。

Q3: TPC命令的“累计模式”和“绝对模式”怎么选? A: 累计模式适合信道慢变的常态跟踪(UE记住历史累计值,命令是增量);绝对模式直接指定相对开环基准的目标修正量,适合大偏差后的快速拉回或状态重置。多数现网默认累计模式,连续丢TPC命令(如切换期间)后需要靠绝对模式或重新开环校准来消除累计误差。

Q4: UE在小区边缘满功率发射了,为什么基站还收不到? A: 检查三件事:路损参考信号是否选对(波束方向是否与上行实际波束一致);PRACH是否还在爬坡阶段(接入都未完成则无闭环可谈);以及P₀+α·PL算出的目标是否已超过P_CMAX被min钳住——此时公式在“饱和区”工作,闭环命令实际无效,问题已从功控域转为覆盖域。

Q5: NR的功控和4G比有什么本质变化? A: 框架一脉相承(P₀+α·PL+闭环TPC),变化主要有三处:一是公式里显式引入2^μ因子以统一支持多种子载波间隔;二是引入多组P0-AlphaSet和基于SRI的映射,让不同SRS资源/波束方向可以使用不同的功控参数组,服务于波束赋形;三是支持双功控调整状态,适配TDD复杂帧结构。本质是从“单环、单参数、单波束”进化为“多环、多参数组、多波束”,以匹配NR多波束、多numerology的系统设计。


参考来源

  1. 5G NR Uplink Power Control - RF Wireless World — PUSCH/PUCCH/SRS/PRACH四信道功控公式、RRC功率控制信息元素(P0-AlphaSet、路损参考RS、TPC命令映射表)的完整整理。
  2. 《通信原理》(樊昌信等,国防工业出版社)— 功率控制与链路预算、负反馈闭环控制系统的经典教材框架。
  3. 《5G无线网络规划与设计》相关章节 — P₀/α参数的网优规划取值经验与宏微组网差异配置思路。

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