首页 › ran › NR PUSCH功率控制双环机制与TPC博弈

NR PUSCH功率控制双环机制与TPC命令博弈

基于3GPP TS 38.213 V19.x Section 7.1.1 / TS 38.321 Section 6.1.3.5 / TS 38.214 Section 6.2.1

1. 为什么PUSCH功率控制如此关键?

NR上行功率控制是gNB射频资源管理的核心抓手。与LTE简单的开环+闭环模式不同,NR引入了双环功率控制架构:开环路径损耗补偿(OLPC)负责粗调,闭环TPC命令积累(CLPC)负责精调,两环协同在毫秒级时间尺度上维持目标SINR。

设计哲学的核心矛盾在于:终端发射功率是稀缺资源(最大23dBm/200MHz),而NR的灵活参数集(numerology)、BWP切换、波束赋形切换都会改变路径损耗模型,导致功率控制必须动态适配。

┌─────────────────────────────────────────────────────────────┐
│                   PUSCH 功率控制双环架构                      │
│                                                             │
│  ┌──────────────────┐          ┌──────────────────┐        │
│  │  开环环 (OLPC)    │          │  闭环环 (CLPC)    │        │
│  │                  │          │                  │        │
│  │  P0 + α·PL +     │  基准    │  ∑ TPC命令       │        │
│  │  10log10(M) +    │───────→  │  累积修正        │        │
│  │  ΔTF + ΔMCSS    │          │  (DCI format 0_1)│        │
│  └──────────────────┘          └──────────────────┘        │
│         │                              │                    │
│         └──────────┬───────────────────┘                    │
│                    ▼                                        │
│         PUSCH发射功率 = min{PCMAX, PPUSCH}                  │
│                    │                                        │
│                    ▼                                        │
│              gNB测量SINR                                    │
│                    │                                        │
│         ┌─────────┴──────────┐                              │
│         │  TPC命令生成        │                              │
│         │  DCI 0_1 / DCI 2_2 │                              │
│         └────────────────────┘                              │
└─────────────────────────────────────────────────────────────┘

2. 功率控制公式全参数拆解

根据TS 38.213 Section 7.1.1,PUSCH发射功率计算公式为:

$$P_{PUSCH} = \min{P_{CMAX}, P_{O_PUSCH} + \alpha \cdot PL + 10\log_{10}(M) + \Delta_{TF} + f(\Delta_{TPC})}$$

2.1 各参数逐一解读

参数 含义 取值范围 配置来源 调整粒度
P_CMAX 终端最大发射功率 -40~23 dBm TS 38.101-1 按UE能力固定
P_O_PUSCH 开环基准功率目标 -202~+24 dBm RRC + DCI 16-bit精度
α (alpha) 路径损耗补偿因子 0, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1 RRC 离散8值
PL 下行路径损耗估计 — UE测量RSRP 连续值
M PUSCH RB分配数 1~275 DCI调度 按调度动态
Δ_TF MCS相关功率偏移 — RRC配置 半静态
f(Δ_TPC) 闭环TPC累积量 累积/绝对 DCI ±1~±4 dB

2.2 P_O_PUSSSCH的二维结构

P_O_PUSCH由两部分组成,这是NR相比LTE的重要增强:

$$P_{O_PUSCH} = P_{O_NOMINAL_PUSCH} + P_{O_UE_PUSCH}$$

graph TD
    A[P_O_PUSCH 二维结构] --> B[P_O_NOMINAL_PUSCH<br/>小区级广播]
    A --> C[P_O_UE_PUSCH<br/>UE级专用]

    B --> B1[SIB1下发<br/>所有UE共享]
    B --> B2[RRC重配更新<br/>半静态调整]

    C --> C1[初始接入: 由Msg2配置]
    C --> C2[连接态: RRCReconfiguration]
    C --> C3[按UE位置/业务差异化]

    B1 --> D[设计意图:<br/>小区边缘UE vs 中心UE<br/>差异化功率基准]
    C3 --> D

    style A fill:#ff6b6b,color:#fff
    style D fill:#4ecdc4,color:#fff

3. 开环功率控制(OLPC)的核心:α选择博弈

3.1 α的物理含义

α是路径损耗补偿因子,直接决定UE对路径损耗的补偿程度:

3.2 α选择的运营商博弈

策略 α值 上行干扰 小区边缘性能 终端功耗 典型场景
全补偿 1.0 高(边缘UE满功率) 最优 最高 VoNR保障
部分补偿-高 0.8 中等 良好 中等 eMBB城区
部分补偿-中 0.6 较低 一般 较低 混合业务
部分补偿-低 0.4 低 较差 低 密集城区
不补偿 0 最低 最差 最低 理论参考

运营商核心矛盾:α越大,小区边缘用户上行吞吐量越好,但对邻小区干扰也越大(尤其同频部署)。这就是经典的功率控制与干扰协调的权衡。

3.3 PL路径损耗估计机制

UE通过测量SSB或CSI-RS的RSRP来估计下行路径损耗:

$$PL = P_{RS} - RSRP_{measured}$$

其中P_RS是参考信号发射功率,由gNB通过RRC参数ss-PBCH-BlockPower或referenceSignalPower配置。

关键细节(TS 38.214 Section 6.2.1): - UE使用与PUSCH传输在同一BWP内的RS资源进行PL估计 - BWP切换后,PL估计参考的RS可能改变,导致功率跳变 - gNB可通过p0-AlphaSetId为不同BWP配置不同的α-P0组合

4. 闭环功率控制(CLPC):TPC命令全链路

4.1 TPC命令的两种工作模式

TS 38.213 Section 7.1.1定义了两种TPC累积模式:

模式一:累积模式(Accumulation Mode)

$$f(i) = f(i-1) + \delta_{TPC}(i)$$

每次收到的TPC命令叠加在之前的累积值上。初始值f(0)=0。

模式二:绝对模式(Absolute Mode)

$$f(i) = \delta_{TPC}(i)$$

TPC命令直接替换当前值,不累积历史。

sequenceDiagram
    participant UE as UE
    participant gNB as gNB
    participant Scheduler as 调度器

    Note over UE,gNB: 闭环功率控制流程

    gNB->>UE: DCI Format 0_1 (调度PUSCH)
    Note right of UE: P_PUSCH = OLPC + f(i-1)
    UE->>gNB: PUSCH传输 (功率P1)

    gNB->>Scheduler: 测量PUSCH SINR
    Scheduler->>Scheduler: 计算偏差 ΔSINR = SINR_target - SINR_measured
    Scheduler->>Scheduler: 生成TPC命令 δ_TPC

    alt 累积模式
        gNB->>UE: DCI 0_1 with TPC = +1dB
        Note right of UE: f(i) = f(i-1) + 1dB
    else 绝对模式
        gNB->>UE: DCI 0_1 with TPC = +3dB
        Note right of UE: f(i) = +3dB (直接替换)
    end

    UE->>gNB: PUSCH传输 (功率P2 = P1 + δ_TPC)

    Note over gNB: TPC命令映射表 (TS 38.213 Table 7.1.1-1)

4.2 TPC命令映射表

DCI中TPC命令字段为2 bit,映射关系如下(TS 38.213 Table 7.1.1-1):

TPC命令字段 累积模式 δ_TPC 绝对模式 δ_TPC
00 -1 dB -4 dB
01 0 dB -1 dB
10 +1 dB +1 dB
11 +3 dB +4 dB

设计意图解读: - 累积模式步长小(±1dB),适合缓慢衰落环境的精调 - 绝对模式步长大(±4dB),适合快衰落或跨BWP切换时的快速修正

4.3 TPC命令的三种承载方式

TPC命令不仅通过调度DCI携带,还有专用TPC机制:

承载方式 DCI格式 适用场景 特点
调度DCI内嵌 DCI 0_1 / 0_2 UE有PUSCH调度时 每次调度必带
组TPC (Group TPC) DCI 2_2 多UE同时调整 节省DCI开销
RNTI寻址 DCI 2_2 + TPC-PUSCH-RNTI 非调度UE功率维护 不需调度即可调功率

DCI 2_2的组TPC机制是NR的重要创新:

graph LR
    subgraph DCI 2_2 Payload结构
        A[blockNumber 1] --> B[blockNumber 2]
        B --> C[...]
        C --> D[blockNumber N]
    end

    subgraph 每个block内容
        E[TPC命令 2bit] --> F[UE ID 指示<br/>通过RRC配置的<br/>tpc-PUSCH-Index]
    end

    subgraph 寻址方式
        G[TPC-PUSCH-RNTI<br/>组播RNTI] --> H[组内所有UE<br/>解码同一DCI]
    end

    style A fill:#3498db,color:#fff
    style E fill:#e74c3c,color:#fff
    style G fill:#2ecc71,color:#fff

实战价值:在VoNR场景中,UE可能长时间处于SPS调度(无动态DCI),此时通过DCI 2_2组TPC可以在不改变调度的情况下维持闭环功率控制——这直接影响了VoNR的上行覆盖性能。

5. Msg3功率控制:随机接入中的特殊规则

5.1 Msg3功率爬升机制

Msg3(RRCSetupRequest等)的功率控制有独立规则(TS 38.213 Section 7.1.1.1):

$$P_{Msg3} = P_{O_PRE} + \alpha \cdot PL + 10\log_{10}(M_{Msg3}) + \Delta_{Msg3} + (PREAMBLE_POWER_RAMPING_COUNTER - 1) \times POWER_RAMPING_STEP$$

其中: - P_O_PRE = preambleReceivedTargetPower,由SIB1配置 - Δ_Msg3 = msg3-DeltaPreamble,RRC配置的Msg3额外偏移(0~6 dB) - PREAMBLE_POWER_RAMPING_COUNTER:前导码重传计数器,每次重传增加 - POWER_RAMPING_STEP:功率爬升步长,通常为2 dB

5.2 Msg3功率控制状态机

stateDiagram-v2
    [*] --> 初始功率计算
    初始功率计算 --> Msg3首次传输: PREAMBLE_POWER_RAMPING_COUNTER=1

    Msg3首次传输 --> 检测Msg4响应
    检测Msg4响应 --> Msg3功率确定: 收到Msg4(RAR)
    检测Msg4响应 --> 重传判断: 未收到Msg4

    重传判断 --> Msg3功率爬升: preambleCounter < maxTransmissions
    重传判断 --> 随机接入失败: preambleCounter >= maxTransmissions

    Msg3功率爬升 --> Msg3重传: 功率 + POWER_RAMPING_STEP
    Msg3重传 --> 检测Msg4响应

    Msg3功率确定 --> 连接态功率控制: 切换到PUSCH闭环

    state Msg3功率爬升 {
        [*] --> 爬升计数器递增
        爬升计数器递增 --> Preamble重传
        Preamble重传 --> 等待RAR
    }

关键细节:Msg3到连接态PUSCH功率控制的衔接点。Msg3传输成功后,UE进入连接态。此时闭环TPC累积值f(0)的初始化有两种情况: - 如果Msg3使用第1个前导码即成功,f(0) = 0 - 如果Msg3经过多次重传(功率爬升),f(0)仍从0开始——功率爬升积累量不会传递到闭环

这意味着gNB需要在Msg3之后快速通过TPC命令调整UE功率到稳态,否则会出现功率突变。

6. PUSCH功率控制与BWP切换的交互

6.1 BWP切换时的功率控制参数变化

当UE发生BWP切换时(DCI触发或定时器触发),功率控制参数可能发生以下变化:

参数 BWP切换时行为 影响
P_O_PUSCH 可通过p0-PUSCH-AlphaSet为每个BWP独立配置 基准功率跳变
α 可按BWP独立配置 补偿因子跳变
PL参考信号 切换到新BWP的SSB/CSI-RS PL估计值跳变
f(Δ_TPC) 累积值不重置 功率连续性保持
M (RB数) 由新BWP的调度决定 按调度动态

6.2 BWP切换功率跳变问题

sequenceDiagram
    participant UE as UE
    participant gNB as gNB

    Note over UE: BWP1 (DL BWP ID=0)
    UE->>gNB: PUSCH (P0=-90dBm, α=0.8, PL=120dB)
    Note right of UE: P = -90 + 0.8×120 + 10log10(50)<br/>= -90 + 96 + 17 = 23dBm

    gNB->>UE: DCI 0_1 (BWP switch to BWP2)

    Note over UE: BWP2 (DL BWP ID=1)
    Note over UE: P0=-95dBm, α=0.6, PL=125dB (不同RS)
    UE->>gNB: PUSCH (BWP2首次传输)
    Note right of UE: P = -95 + 0.6×125 + 10log10(25)<br/>= -95 + 75 + 14 = -6dBm

    Note over gNB: 功率从23dBm骤降到-6dBm!<br/>gNB需要快速发送TPC命令修正

    gNB->>UE: DCI 2_2 TPC = +3dB (连续多次)
    UE->>gNB: PUSCH (功率逐步恢复)

运营商实际策略:大多数厂商在BWP切换时会预先配置好BWP间的P0/α参数映射,使功率跳变在可接受范围内(±3dB以内)。华为的实现中,BWP切换时gNB会主动发送一轮DCI 2_2 TPC命令预补偿。

7. 不同SCS/CP的开环参数适配

NR支持多种子载波间隔(SCS),不同SCS下的功率控制参数需要适配:

根据TS 38.213 Section 7.1.1,P_O_PUSCH和α通过p0-PUSCH-AlphaSetId关联到具体的上行BWP配置。对于不同SCS(15kHz/30kHz/60kHz/120kHz),关键差异在于:

SCS 时隙时长 TPC反馈周期 开环调整频率 典型场景
15 kHz 1 ms 1~4 ms 低 eMBB广覆盖
30 kHz 0.5 ms 0.5~2 ms 中 eMBB城区
60 kHz 0.25 ms 0.25~1 ms 高 URLLC/毫米波
120 kHz 0.125 ms 0.125~0.5 ms 最高 毫米波固定接入

SCS越大,时隙越短,TPC闭环调整频率越高,功率控制响应越快。这也是毫米波场景选择大SCS的原因之一——快速功率跟踪。

8. 抓包识别与故障排查

8.1 抓包时如何识别PUSCH功率控制异常

步骤一:提取TPC命令序列 在Wireshark中过滤DCI 0_1/2_2,提取TPC字段:

Filter: nr-dci.format == "0_1" || nr-dci.format == "2_2"
Display: TPC Command field

步骤二:重建UE功率轨迹 根据公式逆推UE发射功率:

P_PUSCH[i] = min(23, P0 + α×PL + 10log10(M[i]) + Δ_TF[i] + f(i))
f(i) = f(i-1) + δ_TPC[i]  // 累积模式

步骤三:对比gNB测量报告 通过L1 RSRQ/SINR测量报告,确认gNB实际收到的信号质量。

8.2 常见故障模式

故障现象 根因分析 排查方法 解决方案
UE功率持续满载 PL估计偏高(RS配置错误) 检查ss-PBCH-BlockPower参数 修正RS发射功率配置
TPC持续+1dB但SINR不改善 邻小区干扰主导 查看同频邻区RSSI 调整α降低或异频切换
BWP切换后上行BLER突增 P0/α参数组不匹配 对比两个BWP的p0-AlphaSet 统一参数映射
Msg3功率过低导致接入失败 preambleReceivedTargetPower配置偏低 统计Msg3解码成功率 提高P_O_PRE或步长
TPC累积值溢出 长时间未调度导致累积偏移 检查DCI 2_2发送频率 定期发送组TPC
## 9. R19增强:Multi-TRP PUSCH功率控制

3GPP Release 19在TS 38.213中引入了Multi-TRP场景下的PUSCH功率控制增强(参见TS 38.213 V19.x Section 7.1.1A):

核心问题:当UE同时向多个TRP发送PUSCH(如CoMP场景)时,不同TRP的路径损耗不同,需要独立的功率控制参数。

R19解决方案: - 为每个TRP配置独立的p0-PUSCH-AlphaSet - TPC命令通过不同的TCI状态关联到不同TRP - 引入DL-PRS-RSRP替代传统RSRP用于更精确的PL估计

10. 功率控制参数优化建议

10.1 不同场景的推荐配置

场景 P_O_NOMINAL α TPC模式 功率爬升步长
密集城区eMBB -100 dBm 0.6 累积 1 dB
城区VoNR -95 dBm 0.8 绝对 2 dB
农村/广覆盖 -105 dBm 0.9 累积 2 dB
室内高频 -90 dBm 0.7 累积 1 dB
毫米波固定接入 -85 dBm 1.0 绝对 3 dB

10.2 KPI监控指标

11. 完整信令流程时序图

sequenceDiagram
    participant UE as UE
    participant gNB as gNB
    participant RRC as RRC层
    participant MAC as MAC层
    participant PHY as PHY层

    rect rgb(230, 245, 255)
    Note over UE,gNB: 阶段1: RRC参数配置
    RRC->>UE: RRCReconfiguration
    Note right of UE: p0-NominalWithoutGrant = -95dBm<br/>p0-AlphaSets {α=0.8, P0_UE=3dB}<br/>pathlossReferenceRS = SSB#0
    end

    rect rgb(255, 245, 230)
    Note over UE,gNB: 阶段2: 开环功率计算
    UE->>PHY: 测量SSB#0 RSRP
    PHY->>PHY: PL = ss-PBCH-BlockPower - RSRP<br/>= 23 - (-85) = 108dB
    PHY->>PHY: P_OLPC = P0 + α×PL<br/>= (-95+3) + 0.8×108<br/>= -92 + 86.4 = -5.6dBm
    end

    rect rgb(230, 255, 230)
    Note over UE,gNB: 阶段3: 闭环TPC控制
    loop 每个PUSCH调度周期
        gNB->>MAC: 调度PUSCH (M=25RB)
        MAC->>UE: DCI 0_1 (MCS=15, TPC=+1dB)
        UE->>PHY: P = min(23, -5.6 + 10log10(25) + ΔTF + f(i))
        Note right of UE: f(i) = f(i-1) + 1dB
        PHY->>gNB: PUSCH传输

        gNB->>PHY: 测量SINR
        alt SINR < SINR_target
            PHY->>UE: DCI 0_1 TPC = +1dB (提高功率)
        else SINR > SINR_target
            PHY->>UE: DCI 0_1 TPC = -1dB (降低功率)
        else SINR ≈ SINR_target
            PHY->>UE: DCI 0_1 TPC = 0dB (维持)
        end
    end
    end

    rect rgb(255, 230, 255)
    Note over UE,gNB: 阶段4: BWP切换功率重配
    gNB->>UE: DCI 0_1 (BWP switch to BWP1)
    Note right of UE: 新参数组: P0=-98dBm, α=0.6<br/>PL参考: CSI-RS#2
    UE->>PHY: 重新计算OLPC
    gNB->>UE: DCI 2_2 TPC = +3dB (补偿)
    UE->>gNB: PUSCH (BWP1首次传输)
    end

常见问题

Q1: 累积模式和绝对模式在实际网络中如何选择? A: 3GPP标准允许通过RRC参数tpc-Accumulation配置。大多数运营商默认使用累积模式,因为±1dB的小步长更适合慢衰落环境的精细控制。绝对模式主要用于高速移动场景(如高铁)和BWP切换后的快速功率修正,因为±4dB的大步长可以更快响应信道变化。VoNR场景中部分厂商切换到绝对模式以降低端到端时延。

Q2: DCI 2_2组TPC命令与调度DCI中的TPC命令冲突时怎么处理? A: 根据TS 38.213 Section 7.1.1,如果同一时隙内UE同时收到DCI 2_2的TPC命令和调度DCI 0_1中的TPC命令,两个命令独立处理——DCI 2_2更新组TPC累积值,调度DCI更新该次调度的TPC值。实际网络中,厂商通常确保不会在同一时隙给同一UE发送两种TPC。

Q3: P0参数动态调整的粒度是多少?运营商如何优化P0? A: P_O_NOMINAL_PUSCH精度为1dB(16-bit有符号整数,实际有效范围-202~+24dBm)。P_O_UE_PUSCH通过RRC重配消息更新,典型的动态调整周期为100ms~1s。华为设备中,gNB根据小区负载自动调整P_O_NOMINAL:负载高时降低P0以抑制干扰,负载低时提高P0以改善边缘用户吞吐量。

Q4: 路径损耗估计使用SSB还是CSI-RS更好? A: 取决于场景。SSB始终存在且覆盖全小区,适合初始接入和移动性场景。CSI-RS可以配置更密的时频密度,提供更精确的PL估计,适合连接态的精细功率控制。实际网络中,初始接入用SSB,连接态切换到CSI-RS。R19中引入了DL-PRS作为第三种选择,定位精度更高。

Q5: PHR(Power Headroom Report)与PUSCH功率控制是什么关系? A: PHR是UE向gNB上报的功率余量信息(TS 38.321 Section 6.1.3.5),反映UE当前发射功率距离P_CMAX的差值。PHR不直接参与功率控制计算,但gNB利用PHR来辅助调度决策——如果PHR为负值,说明UE功率不足,gNB应减少RB分配或提高MCS冗余。PHR通过MAC CE上报,触发条件包括周期性触发和路径损耗变化超阈值触发。

参考来源

  1. 3GPP TS 38.213 V19.x — Section 7.1.1: PUSCH power control, Section 7.1.1.1: Msg3 power control
  2. 3GPP TS 38.321 V19.x — Section 6.1.3.5: Power Headroom Report MAC CE, Section 5.4.1: TPC command processing
  3. 3GPP TS 38.214 V19.x — Section 6.2.1: Pathloss estimation for power control
  4. ShareTechnote: NR PUSCH Power Control — PUSCH功率控制参数详解
  5. Qualcomm: 5G NR Uplink Power Control — NR上行功率控制设计原理

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