在LTE时代,终端(UE)一旦接入网络,就必须在整个载波带宽上持续监听PDCCH和PDSCH——即使载波带宽高达20 MHz,而实际业务只需要几十kbps的信令。这种"全带宽常开"的设计是LTE终端功耗的主要来源之一。
5G NR引入了一个革命性的概念:Bandwidth Part(BWP,带宽部分)。BWP允许gNB为UE配置载波的一个连续子集,UE只需在该子集上收发数据和控制信令。当流量需求变化时,gNB可以动态指示UE切换到不同带宽的BWP——这就是BWP切换(BWP Switching)机制。
根据3GPP TR 38.840的研究结论,仅Rel-15的DCI和Timer机制即可实现8.5%~31%的功耗节省,配合合适的BWP带宽选择可提升至16%~45%。BWP切换是5G NR UE省电框架的核心支柱,本质上是频域DRX——DRX在时域关断接收机,BWP切换在频域缩窄接收带宽。
本文将深入拆解3GPP TS 38.331(RRC)、TS 38.321(MAC)、TS 38.213(物理层过程)中定义的四种BWP切换触发路径,分析每条路径的信令流程、关键IE、时延特征和实战排错要点。
根据TS 38.211 Section 4.4.5,一个BWP由以下参数唯一定义:
| 参数 | 含义 | 来源 |
|---|---|---|
bwp-Id |
BWP标识(0~4) | TS 38.331 BWP IE |
locationAndBandwidth |
起始位置和带宽(RIV编码) | TS 38.331 BWP IE |
subcarrierSpacing |
子载波间隔(μ) | TS 38.331 BWP IE |
cyclicPrefix |
循环前缀类型(normal/extended) | TS 38.331 BWP IE |
BWP的最大宽度为275个PRB,UE在每个服务小区上最多可配置4个DL BWP + 4个UL BWP,但在任意时刻只有1个DL BWP和1个UL BWP处于激活状态。
根据TS 38.331 Section 5.3和6.3,BWP分为以下类型:
| BWP类型 | 配置来源 | 典型带宽 | 典型用途 |
|---|---|---|---|
| Initial BWP | SIB1或专用信令 | 窄(如20 MHz) | 初始接入、系统信息接收 |
| Default BWP | defaultDownlinkBWP-Id RRC参数 |
窄(通常同Initial BWP) | 定时器超时后的回退目标 |
| Dedicated BWP | RRCReconfiguration | 可宽可窄 | 连接态数据传输 |
| Dormant BWP(Rel-16+) | RRC配置 | 无PDCCH监听 | SCell休眠省电 |
stateDiagram-v2
[*] --> InitialBWP: RRC Setup / SIB1
InitialBWP --> DedicatedBWP_1: RRCReconfiguration
DedicatedBWP_1 --> DedicatedBWP_2: DCI BWP Indicator
DedicatedBWP_2 --> DedicatedBWP_1: DCI BWP Indicator
DedicatedBWP_2 --> DefaultBWP: bwp-InactivityTimer Expiry
DefaultBWP --> DedicatedBWP_2: DCI BWP Indicator
DedicatedBWP_1 --> DefaultBWP: bwp-InactivityTimer Expiry
DefaultBWP --> InitialBWP: RRC Release / Reestablishment
state "Initial BWP (BWP#0)" as InitialBWP
state "Default BWP" as DefaultBWP
state "Dedicated BWP#1 (窄)" as DedicatedBWP_1
state "Dedicated BWP#2 (宽)" as DedicatedBWP_2
TS 38.321 Section 5.15和TS 38.213 Section 12定义了四种BWP切换机制。下面逐一深度拆解。
gNB通过PDCCH发送的DCI Format 0_1(UL授权)或DCI Format 1_1(DL分配)中包含一个Bandwidth Part Indicator字段。当该字段指示的BWP ID与当前激活BWP不同时,UE执行BWP切换。
根据TS 38.212 Section 7.3.1,BWP indicator字段的比特数由 log2(N_BWP) 决定,其中N_BWP为配置的BWP数量。当仅配置1个BWP时该字段为0比特(即无法通过DCI切换)。
| 字段 | 比特数 | 含义 |
|---|---|---|
| BWP Indicator | 0~2 bit | 目标BWP的索引(0~3) |
| Frequency domain resource assignment | 变长 | 目标BWP内的频域资源分配 |
| Time domain resource assignment | 0~4 bit | 目标BWP内的时域资源分配 |
关键设计意图:DCI中同时携带BWP指示和资源分配,意味着切换到新BWP后,第一条调度就已经在DCI中给出——UE无需等待额外的调度即可开始在新BWP上收发数据。这是一次信令完成"切换+调度"的巧妙设计。
sequenceDiagram
participant gNB
participant UE
Note over UE: 当前在 BWP#1 (窄带, 20 MHz)
gNB->>UE: PDCCH DCI 1_1<br/>BWP Indicator = 2<br/>Frequency Assignment for BWP#2
Note over UE: 检测到BWP切换指示
Note over UE: BWP切换时延 (1~3 slots)
Note over UE: 重调ADC/DAC采样率<br/>调整RF前端滤波器<br/>同步新BWP的CORESET/SearchSpace
UE->>gNB: 在 BWP#2 (宽带, 100 MHz) 接收PDSCH
Note over gNB,UE: 正常数据传输阶段...
gNB->>UE: PDCCH DCI 1_1<br/>BWP Indicator = 1<br/>Frequency Assignment for BWP#1
Note over UE: BWP切换回窄带
Note over UE: 切换时延后恢复 BWP#1 操作
根据TS 38.133 Section 8.6,BWP切换时延取决于源BWP和目标BWP的SCS:
| 源SCS → 目标SCS | Type 1 (同中心频率) | Type 2 (中心频率变化) |
|---|---|---|
| 15 kHz → 15 kHz | 2 slots (2 ms) | 3 slots (3 ms) |
| 30 kHz → 30 kHz | 2 slots (1 ms) | 3 slots (1.5 ms) |
| 120 kHz → 120 kHz | 2 slots (0.25 ms) | 3 slots (0.375 ms) |
| 15 kHz → 30 kHz | — | 3 slots (1.5 ms @30kHz) |
注意:DCI format 0_0和1_0(fallback DCI)不支持BWP indicator字段,因此只能调度当前激活BWP内的资源。这是网络设计中的兜底安全机制。
当UE在一个非Default BWP上运行时,gNB通过RRC参数bwp-InactivityTimer配置一个不活跃定时器。每当UE在该BWP上收到DCI调度(无论UL还是DL),定时器重启。如果定时器超时前没有新的调度,UE自主切换回Default BWP——无需gNB发送任何信令。
这是BWP省电机制的核心:gNB不需要跟踪每个UE的BWP状态并逐一下发回退命令,而是依靠定时器让UE自主回退,极大降低了空口信令开销。
| 参数 | IE路径 | 取值范围 | 设计含义 |
|---|---|---|---|
bwp-InactivityTimer |
ServingCellConfig |
2/3/4/5/6/8/10/20/40/50/80/100/200/500/1000/2000/5000 ms | 超时回退时间 |
defaultDownlinkBWP-Id |
ServingCellConfig |
0~4 | 回退目标BWP |
firstActiveDownlinkBWP-Id |
ServingCellConfig |
0~4 | RRC配置完成后的首个激活BWP |
设计意图:如果网络不配置defaultDownlinkBWP-Id,则默认使用Initial BWP作为回退目标。如果网络不配置bwp-InactivityTimer,则定时器机制不启用——UE将一直停留在当前BWP直到收到DCI或RRC切换命令。
flowchart TD
A[UE在非Default BWP上] --> B{收到DCI调度?}
B -->|是| C[重启 bwp-InactivityTimer]
C --> B
B -->|否| D{定时器超时?}
D -->|否| B
D -->|是| E[UE自主切换到 Default BWP]
E --> F[停止定时器]
F --> G{在Default BWP上<br/>收到DCI指示非Default BWP?}
G -->|是| H[切换到指示的BWP]
H --> I[启动 bwp-InactivityTimer]
I --> B
G -->|否| G
style E fill:#ff9900,stroke:#333,color:#000
style C fill:#4CAF50,stroke:#333,color:#000
style H fill:#2196F3,stroke:#333,color:#fff
| 定时器值 | 优势 | 劣势 | 典型场景 |
|---|---|---|---|
| 2~10 ms(短) | 快速省电,最大化窄带时间 | 频繁切换导致吞吐量波动 | mMTC、后台同步 |
| 50~100 ms(中) | 兼顾省电和突发流量 | 中等功耗 | VoNR、IM消息 |
| 500~2000 ms(长) | 减少切换中断 | 省电效果弱 | 大文件下载、视频 |
| 不配置 | 无切换开销 | 完全丧失BWP省电 | 测试/特殊场景 |
实际网络中,华为/中兴通常配置为100~200 ms,爱立信/诺基亚偏向50~100 ms,体现了不同厂商对流量模型的差异理解。
当gNB需要对UE的BWP配置进行结构性变更时(如增加/删除BWP、修改BWP带宽或SCS),必须通过RRCReconfiguration消息完成。这不是简单的"切换",而是"重配置"——先修改BWP池,再指定激活哪一个。
RRC重配置也是唯一能创建新BWP或删除旧BWP的方式。DCI和Timer只能在已配置的BWP之间切换。
flowchart TD
subgraph RRCReconfiguration
A[secondaryCellGroup] --> B[CellGroupConfig]
B --> C[SpCellConfig]
C --> D[ServingCellConfig]
D --> E[downlinkBWP-ToAddModList]
D --> F[uplinkBWP-ToAddModList]
D --> G[defaultDownlinkBWP-Id]
D --> H[bwp-InactivityTimer]
D --> I[firstActiveDownlinkBWP-Id]
D --> J[firstActiveUplinkBWP-Id]
E --> K["BWP-DownlinkDedicated"]
K --> L["PDSCH-Config"]
K --> M["PDCCH-Config"]
K --> N["CSI-MeasConfig"]
F --> O["BWP-UplinkDedicated"]
O --> P["PUSCH-Config"]
O --> Q["PUCCH-Config"]
O --> R["SRS-Config"]
end
TS 38.331 Section 5.3.5.4定义了RRCReconfiguration的处理过程:
RRCReconfiguration,携带更新的ServingCellConfigfirstActiveDownlinkBWP-Id,UE在RRC配置完成后立即激活该BWPRRCReconfigurationComplete确认关键时延:RRC重配置的BWP切换时延通常在10~30 ms量级(远大于DCI的1 ms),因为UE需要完成ASN.1解码、参数验证、MAC/PHY层完整重配置。
根据TS 38.321 Section 5.15和TS 38.213 Section 12,以下场景会触发到Initial BWP的切换:
在随机接入过程中,UE从Msg1(PRACH)到Msg4(RAR+Contention Resolution)都在Initial BWP或专用RA BWP上完成。随机接入完成后,gNB通过DCI或RRC将UE切换回合适的Dedicated BWP。
| 维度 | DCI触发 | Timer超时 | RRC重配置 | 随机接入 |
|---|---|---|---|---|
| 触发方 | gNB主动 | UE自主 | gNB主动 | UE/gNB触发 |
| 切换时延 | 1~3 slots (~0.25~2 ms) | 即时(无信令) | 10~30 ms | RA过程时延 |
| 目标BWP | DCI指示的任意已配置BWP | Default BWP | firstActiveBWP-Id指示 |
Initial BWP |
| 能否创建新BWP | 否 | 否 | 是 | 否 |
| 对调度的附带 | 是(切换+调度一次完成) | 否 | 否 | 否 |
| 省电效果 | 间接(可切换到窄BWP) | 直接(自动回退窄BWP) | 间接 | 无 |
| 相关TS章节 | 38.213 §12, 38.212 §7.3 | 38.321 §5.15, 38.331 | 38.331 §5.3.5 | 38.321 §5.1, 38.213 §12 |
| 信令开销 | 低(已有DCI) | 零 | 高(RRC消息) | 高(RA过程) |
当UE检测到BWP切换需求后,物理层执行以下操作(TS 38.213 Section 12):
每个BWP可独立配置最多3个CORESET(TS 38.331 ControlResourceSet)。BWP切换后,UE在新的CORESET上监听PDCCH。这是一个常被忽视的关键点:
如果新BWP没有配置CORESET #0,且网络没有为该BWP配置任何专用CORESET,UE将无法接收PDCCH,等效于"失联"。
实际网络中,运营商通常为每个Dedicated BWP都配置CORESET和SearchSpace,以避免此问题。
BWP切换后,频域资源分配的参考点发生变化:
PRB_BWP = CRB - BWP_start
其中CRB是载波级别的公共资源块编号(从Point A起始),BWP_start是该BWP的起始CRB。DCI中的频域资源分配始终基于BWP-relative PRB编号。
以下表格总结了BWP相关的所有关键RRC参数及其作用:
| IE/参数 | 父节点 | 类型 | 说明 |
|---|---|---|---|
bwp-Id |
BWP |
INTEGER(0..4) | BWP唯一标识 |
subcarrierSpacing |
BWP |
ENUMERATED | 15/30/60/120 kHz |
cyclicPrefix |
BWP |
ENUMERATED | normal/extended |
locationAndBandwidth |
BWP |
INTEGER(0..37949) | RIV编码的起始+带宽 |
downlinkBWP-ToAddModList |
ServingCellConfig |
SEQUENCE OF | DL BWP配置列表 |
uplinkBWP-ToAddModList |
ServingCellConfig |
SEQUENCE OF | UL BWP配置列表 |
defaultDownlinkBWP-Id |
ServingCellConfig |
INTEGER(0..4) | Default DL BWP |
bwp-InactivityTimer |
ServingCellConfig |
ENUMERATED | 超时回退定时器 |
firstActiveDownlinkBWP-Id |
ServingCellConfig |
INTEGER(0..4) | RRC完成后的激活DL BWP |
firstActiveUplinkBWP-Id |
ServingCellConfig |
INTEGER(0..4) | RRC完成后的激活UL BWP |
bwp-Id (in BWP-Downlink) |
BWP-Downlink |
INTEGER(0..4) | 关联到BWP配置 |
注意:locationAndBandwidth使用RIV(Resource Indication Value)编码,这是一种将起始位置和长度联合编码的高效方式。解码公式在TS 38.214 Section 5.1.2.2中定义。
BWP切换的识别依赖多个协议层的组合分析:
| 步骤 | 过滤器 | 识别目标 |
|---|---|---|
| 1. BWP配置 | rrc.rrcReconfiguration |
查看ServingCellConfig中的BWP参数 |
| 2. DCI解码 | mac-nr.dci_format == "1_1" |
查看BWP indicator字段 |
| 3. 定时器超时 | 间接推断:长时间无调度后UE行为变化 | 对比调度间隔与timer配置 |
| 4. RRC BWP切换 | rrc.rrcReconfiguration && rrc.firstActiveDownlinkBWP_Id |
直接确认RRC触发的切换 |
TShark实战命令:
# 提取RRC配置中的BWP参数
tshark -r capture.pcap -Y "rrc.rrcReconfiguration" \
-T fields -e rrc.downlinkBWP_ToAddModList \
-e rrc.defaultDownlinkBWP_Id \
-e rrc.bwp_InactivityTimer
# 提取DCI 1_1中的BWP indicator
tshark -r capture.pcap -Y "mac-nr.dci_format == \"1_1\"" \
-T fields -e mac-nr.bwp_indicator
| 故障现象 | 可能原因 | 排查方法 |
|---|---|---|
| UE切换到新BWP后无数据 | 新BWP未配置CORESET/SearchSpace | 检查RRCReconfiguration中PDCCH-Config |
| UE收到DCI但不执行BWP切换 | DCI format 0_0/1_0(fallback不支持BWP indicator) | 确认DCI format是否为0_1/1_1 |
| 定时器超时后UE未回退Default BWP | 未配置bwp-InactivityTimer或配置值过长 |
检查ServingCellConfig中的timer值 |
| BWP切换后BLER突增 | 新BWP的MCS/CQI表不匹配 | 检查PDSCH-Config中的mcs-Table |
| RRC重配置失败 | BWP带宽超出UE能力 | 检查UECapabilityInformation中的UE-NR-Capability |
| RRC重配置超时 | 新BWP的SCS与现有配置不兼容 | 检查SCS组合是否满足TS 38.101约束 |
| ## 八、BWP切换与DRX的协同省电设计 |
BWP切换和DRX(Discontinuous Reception)是5G NR省电的两大支柱,它们在频域和时域上互补:
| 维度 | BWP切换 | DRX |
|---|---|---|
| 省电域 | 频域(缩窄接收带宽) | 时域(关闭接收机) |
| 触发方式 | DCI/Timer/RRC | Timer |
| 恢复时延 | 0.25~2 ms | 可配置(ms到秒级) |
| 省电幅度 | 30~50%(频域缩窄) | 50~80%(时域关断) |
实际网络中,典型的省电策略组合是: 1. 空闲态:长DRX周期 + 窄BWP(Initial BWP) 2. 低流量连接态:短DRX周期 + 窄Default BWP 3. 高流量连接态:连续接收(无DRX) + 宽Dedicated BWP + bwp-InactivityTimer
Rel-16引入的SCell Dormancy进一步扩展了这一框架——为SCell配置一个没有PDCCH监听的Dormant BWP,UE在SCell上只做CSI测量和波束管理,进一步降低CA场景下的功耗。
3GPP Release 18在BWP领域引入了以下增强(基于TS 38.331 V18.x):
Q1: DCI触发的BWP切换和RRC触发的BWP切换有什么本质区别?
A: DCI触发是"切换操作"——在已配置的BWP池中选择一个激活,时延约1 ms,不改变BWP配置。RRC触发是"重配置操作"——可以创建、删除、修改BWP本身,然后指定激活哪一个,时延10~30 ms。DCI适合高频次的动态调度,RRC适合低频次的策略调整。
Q2: bwp-InactivityTimer超时后UE是否需要通知gNB?
A: 不需要。这是该机制的核心设计优势——UE自主切换回Default BWP,gNB通过UE在Default BWP上的后续行为(如PDCCH解码反馈)间接感知UE已回退。这避免了大量"回退指示"信令的开销。gNB在调度器侧维护UE的BWP状态时,需要考虑定时器超时的可能性。
Q3: 为什么DCI format 0_0/1_0不支持BWP切换?
A: 0_0和1_0是"fallback DCI",设计目标是当UE无法正确解码常规DCI时提供兜底的调度能力。如果fallback DCI包含BWP indicator,UE可能在尚未完成BWP切换的情况下尝试解码PDSCH/PUSCH,导致解调失败。因此fallback DCI被限制在当前激活BWP内调度,确保可靠性。
Q4: BWP切换时延期间UE能做什么?
A: 在BWP切换时延(1~3 slots)内,UE不能在源BWP和目标BWP上收发任何数据。但UE可以执行不依赖特定BWP的操作,如维持定时提前(TA)、执行邻区测量(如果配置了测量gap)等。网络调度器在发送BWP切换DCI后,必须预留足够的切换gap才能在目标BWP上调度数据。
Q5: 一个UE最多能配置几个BWP?实际网络通常配置几个?
A: 协议允许每个服务小区配置最多4个DL BWP + 4个UL BWP。但实际商用网络通常只配置2~3个:1个窄带Default BWP(省电用)+ 1~2个宽带Dedicated BWP(不同流量等级用)。配置过多BWP会增加RRC信令开销和UE内存占用,收益有限。
本文由「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 等场景全覆盖。
