你有没有想过一个问题:5G基站支持100MHz甚至更宽的载波带宽,但你的手机真的需要时刻盯住这100MHz吗?
答案显然是否定的。当你刷微信时,几十MHz就够用了;当你下载大型游戏时,才需要更宽的管道。如果手机一直用全带宽监听,不仅浪费处理能力,更会让电池快速耗尽。
BWP(Bandwidth Part,带宽部分) 就是5G为解决这个矛盾而引入的核心机制——它让终端能够在不同场景下灵活调整工作带宽,像手风琴一样伸缩自如。这是4G LTE所不具备的关键创新之一。
在LTE时代,终端一旦接入网络,就固定使用整个载波带宽(比如20MHz)。这意味着:
4G LTE固定带宽模型:
┌──────────────────────────────────────┐
│ 20MHz 载波带宽 │
│ ┌──────────────────────────────────┐│
│ │ 终端始终使用全部带宽 ││
│ │ 无论业务量大小 ││
│ └──────────────────────────────────┘│
└──────────────────────────────────────┘
问题:大马拉小车,功耗浪费严重
5G NR的载波带宽远超4G:
| 参数 | 4G LTE | 5G NR (Sub-6GHz) | 5G NR (毫米波) |
|---|---|---|---|
| 最大载波带宽 | 20MHz | 100MHz | 400MHz |
| 子载波数(15kHz) | 1200 | 3300 | 13200 |
| FFT点数 | 2048 | 4096 | 16384 |
| 基带处理复杂度 | 基准 | ~4倍 | ~16倍 |
如果5G终端也像4G那样始终使用全带宽,基带芯片的功耗和复杂度将不可接受。尤其是毫米波场景下,400MHz带宽对应的FFT运算量是LTE的8倍以上。
BWP的核心思想很朴素:按需分配带宽,用多少占多少。
graph TD
A[5G载波带宽 100MHz] --> B[BWP#1: 100MHz<br/>大文件下载]
A --> C[BWP#2: 20MHz<br/>日常上网]
A --> D[BWP#3: 10MHz<br/>待机监听]
B --> E{场景切换}
E -->|下载完成| C
E -->|屏幕关闭| D
E -->|开始下载| B
style A fill:#e74c3c,color:#fff
style B fill:#3498db,color:#fff
style C fill:#2ecc71,color:#fff
style D fill:#f39c12,color:#fff
严格来说,BWP是载波带宽内一段连续的频域资源,由三个参数定义:
$$\text{BWP} = {f_{start},\ BW,\ \mu}$$
其中: - $f_{start}$:BWP在载波中的起始位置(以PRB为单位) - $BW$:BWP的带宽(以PRB数表示) - $\mu$:子载波间隔(Numerology,决定时域结构)
一个更直观的理解:BWP就像在一幅宽画卷(载波)上开了一扇可移动的窗(BWP),终端只需要透过这扇窗来收发数据。
5G NR支持灵活的子载波间隔(SCS),这是另一个与4G的重要区别。不同SCS对应不同的时域颗粒度:
| SCS ($\mu$) | 子载波间隔 | 每子帧时隙数 | 适用场景 | 符号时长 |
|---|---|---|---|---|
| 0 | 15kHz | 1 | 与LTE共存 | 66.7μs |
| 1 | 30kHz | 2 | Sub-6GHz主要配置 | 33.3μs |
| 2 | 60kHz | 4 | 高速移动/毫米波 | 16.7μs |
| 3 | 120kHz | 8 | 毫米波主要配置 | 8.33μs |
| 4 | 240kHz | 16 | 毫米波数据信道 | 4.17μs |
关键点:不同的BWP可以配置不同的SCS。这意味着终端在切换BWP时,不仅带宽变了,时域的时间粒度也变了。
5G为每个终端最多配置4个BWP(下行)或4个BWP(上行),它们各司其职:
| BWP类型 | 用途 | 配置方式 | 生命周期 |
|---|---|---|---|
| Initial BWP | 初始接入、系统信息读取 | 由SIB1广播 | 从驻留到RRC配置 |
| Dedicated BWP | 业务数据传输 | 由RRC重配置信令 | RRC连接期间 |
| Default BWP | 回退带宽(类似"安全模式") | RRC配置 + BWP-Idle定时器 | 定时器超时时激活 |
| Active BWP | 当前正在使用的BWP | DCI动态切换 | 直到被切换 |
graph LR
subgraph 终端BWP生命周期
A[开机/小区选择] --> B[Initial BWP<br/>读MIB/SIB1<br/>发起随机接入]
B --> C[RRC连接建立]
C --> D[配置Dedicated BWP]
D --> E[Active BWP: Dedicated #1<br/>20MHz/30kHz]
E -->|DCI切换| F[Active BWP: Dedicated #2<br/>100MHz/30kHz]
F -->|DCI切换| E
E -->|定时器超时| G[Default BWP<br/>10MHz/15kHz]
G -->|DCI激活| E
F -->|RRC释放| H[回到Initial BWP]
end
style B fill:#e67e22,color:#fff
style E fill:#3498db,color:#fff
style F fill:#e74c3c,color:#fff
style G fill:#2ecc71,color:#fff
style H fill:#95a5a6,color:#fff
BWP的强大之处在于它支持多种切换方式,适用于不同的时延和灵活性需求。
基站通过下行控制信息(DCI)中的BWP指示字段,可以在毫秒级别切换终端的工作BWP。
DCI format 1_1和0_1 中包含Bandwidth Part Indicator字段(2 bit),可以指向4个预配置的BWP之一:
DCI BWP切换过程(时间线):
UE ─────┬──────────┬──────────────────┬──────────
│ │ │
│ 收到DCI │ 切换BWP │ 新BWP上
│ (旧BWP) │ (间隔) │ 接收数据
│ │ │
gNB ────┴──────────┴──────────────────┴──────────
│← BWP切换延迟 →│
│ (约1-2个时隙) │
切换延迟:从旧BWP收到DCI到在新BWP上准备好收发数据,需要一定的过渡时间。标准定义了两种能力:
| 能力等级 | 延迟要求 | 适用场景 |
|---|---|---|
| 能力1 | $\geq$ 1个时隙 | 一般终端 |
| 能力2 | $\geq$ 符号级别 | 低时延终端 |
基站通过RRC Reconfiguration信令直接修改Active BWP。这种方式较慢(需要RRC信令交互),但可以同时修改BWP的配置参数(带宽、SCS等)。
适用场景:当需要改变BWP的配置而不仅仅是切换预配置BWP时使用。
每个Dedicated BWP可以关联一个BWP Inactivity Timer。当终端在某个宽BWP上一段时间没有数据收发,定时器超时后自动回退到Default BWP(通常是较窄的BWP)。
$$T_{inactivity} > T_{threshold} \Rightarrow \text{切换到} BWP_{default}$$
这个机制对省电至关重要。想象你下载完一个文件后忘了关水龙头——BWP定时器就是那个自动关水龙头的装置。
| 切换方式 | 延迟 | 灵活性 | 开销 | 典型用途 |
|---|---|---|---|---|
| DCI动态 | ~1时隙 | 在预配置BWP间选择 | 极低(2bit) | 业务量突发变化 |
| RRC半静态 | ~10ms | 可修改BWP参数 | 较高 | BWP参数调整 |
| 定时器回退 | 无需信令 | 固定回到Default BWP | 无 | 空闲时自动省电 |
这是每个5G终端都要经历的流程,Initial BWP扮演关键角色:
sequenceDiagram
participant UE as 终端
participant gNB as 基站
Note over UE: 开机 → 小区搜索
UE->>gNB: 同步到PSS/SSB
UE->>gNB: 读取MIB(获取Initial BWP的CORESET#0配置)
Note over UE: Initial BWP由SIB1定义<br/>带宽较窄(如10MHz)<br/>SCS通常与SSB一致
UE->>gNB: 在Initial BWP上读取SIB1
UE->>gNB: 在Initial BWP上发起随机接入(Msg1-4)
UE->>gNB: RRC Setup Request
gNB->>UE: RRC Setup(可能包含Dedicated BWP配置)
Note over UE: 切换到Dedicated BWP<br/>开始业务数据传输
UE->>gNB: 在新BWP上发送/接收数据
实战要点:Initial BWP的带宽设计需要平衡覆盖和容量。太宽会降低边缘用户的解调性能,太窄会限制初始接入速率。现网通常配置为10-20MHz。
这是BWP最经典的应用场景,展现其"弹性伸缩"的本质:
时间轴:大文件下载过程
t0 t1 t2 t3 t4 t5
│ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼
┌─────────────────────────────────────────────────┐
│ 100MHz 载波带宽 │
├─────────────────────────────────────────────────┤
│ ┌───────────────────────┐ │
│ 10MHz │ 100MHz │ 10MHz │
│ (Default)│ (Active) │ (Default) │
│ └───────────────────────┘ │
│ 待机 │ 下载中 │ 下载完成 │
│ │ │ 定时器超时 │
└─────────────────────────────────────────────────┘
BWP状态: Default → Active(100M) → Default
触发方式: DCI激活 DCI激活 定时器回退
URLLC(超可靠低时延通信)场景下,BWP配置有特殊考虑:
$$\text{时隙时长} = \frac{1}{\text{SCS} \times 14} = \frac{1}{60\text{kHz} \times 14} \approx 1.19\mu s \text{ (每符号)}$$
当网络检测到URLLC业务到达时,可以立即通过DCI将终端从eMBB的宽BWP切换到URLLC的窄BWP。
在CA(载波聚合)场景下,每个分量载波(CC)上可以独立配置BWP。这意味着一个终端可能同时有多个Active BWP分布在不同载波上:
载波聚合 + BWP示意图:
CC#1 (3.5GHz, 100MHz) CC#2 (2.1GHz, 20MHz)
┌────────────────────────┐ ┌──────────────────┐
│ ┌────────────────┐ │ │ ┌──────────────┐│
│ │ BWP: 50MHz │ │ │ │ BWP: 20MHz ││
│ │ SCS: 30kHz │ │ │ │ SCS: 15kHz ││
│ └────────────────┘ │ │ └──────────────┘│
└────────────────────────┘ └──────────────────┘
每个CC上的BWP独立配置和切换
基站通过RRC信令为终端配置BWP,核心参数如下:
| 参数 | 含义 | 取值范围 | 影响 |
|---|---|---|---|
| locationAndBandwidth | BWP的起始位置和带宽 | PRB索引 | 决定频域范围 |
| subcarrierSpacing | 子载波间隔 | 15/30/60/120kHz | 决定时域结构 |
| cyclicPrefix | 循环前缀类型 | Normal/Extended | 影响抗多径能力 |
| bwp-Id | BWP标识 | 0-3 | 用于DCI索引 |
| bwp-InactivityTimer | 不活动定时器 | 2-2560ms | 省电回退触发 |
BWP的频域位置使用一种叫RIV(Resource Indication Value) 的编码方式,用一个整数同时表示起始位置和长度:
$$RIV = \begin{cases} N_{BWP}(L_{RBs}-1)+RB_{start} & \text{if } L_{RBs}-1 \leq \lfloor N_{BWP}/2 \rfloor \ N_{BWP}(N_{BWP}-L_{RBs}+1)+(N_{BWP}-1-RB_{start}) & \text{otherwise} \end{cases}$$
其中 $N_{BWP}$ 是BWP内的PRB总数,$RB_{start}$ 是起始PRB索引,$L_{RBs}$ 是连续PRB数量。
直觉理解:RIV就像用经纬度定位一样——一个数字编码了BWP的"位置"和"大小"两个信息,节省了信令开销。
每个BWP内必须配置至少一个CORESET(控制资源集)和搜索空间,用于终端监听PDCCH。这构成了BWP能够工作的基础:
graph TB
subgraph "BWP内控制信道结构"
A[BWP: 50MHz] --> B[CORESET #0<br/>控制区域<br/>前1-3个OFDM符号]
A --> C[CORESET #1<br/>交织映射<br/>频域不连续]
B --> D[SearchSpace #0<br/>Common Search Space<br/>所有UE监听]
C --> E[SearchSpace #1<br/>UE-Specific<br/>特定UE监听]
D --> F[PDCCH → DCI<br/>调度信息]
E --> F
end
style A fill:#3498db,color:#fff
style B fill:#e74c3c,color:#fff
style C fill:#e67e22,color:#fff
BWP对终端省电的贡献体现在三个层面:
第一重:射频带宽缩减
终端的ADC/DAC采样率与工作带宽成正比。从100MHz切换到20MHz,采样率降低5倍,射频功耗显著下降:
$$P_{RF} \propto f_s \propto BW_{active}$$
第二重:基带处理简化
FFT点数与带宽成正比。100MHz需要4096点FFT,20MHz只需512点FFT:
$$C_{FFT} \propto N \log_2(N) \propto BW \cdot \log_2(BW)$$
| 工作带宽 | FFT点数 | 相对运算量 |
|---|---|---|
| 100MHz | 4096 | 100% |
| 40MHz | 2048 | 45% |
| 20MHz | 1024 | 20% |
| 10MHz | 512 | 9% |
第三重:与DRX的协同
BWP缩窄 + DRX休眠,双重省电效果叠加。在DRX On-duration期间,终端在窄BWP上监听;有数据到来时再切换到宽BWP,形成了"BWP宽度 × 活跃时间"的二维省电空间。
Default BWP通常配置为较窄的带宽,作为终端"闲时"的工作带宽。结合BWP Inactivity Timer,形成自动省电闭环:
省电闭环:
[Active BWP 100MHz]
│
│ 数据传输结束
▼
[启动 BWP Inactivity Timer]
│
│ 等待 T ms 无新数据
▼
[定时器超时 → 切换到 Default BWP 10MHz]
│
│ 在窄BWP上低功耗监听
▼
[收到DCI调度 → 切换回 Active BWP 100MHz]
│
│ 开始新的数据传输
▼
[循环回到起点]
在实际网络优化中,BWP相关的常见排查场景:
| 场景 | 排查方向 | 关键日志 |
|---|---|---|
| 终端吞吐量低 | 检查是否卡在窄BWP | BWP切换记录、DCI解析 |
| 切换后速率下降 | 检查目标小区BWP配置 | RRC Reconfiguration中的BWP字段 |
| 省电效果不佳 | 检查Default BWP和定时器 | BWP Inactivity Timer配置值 |
| 初始接入失败 | 检查Initial BWP的CORESET | SIB1中的BWP配置 |
陷阱一:BWP切换导致的调度间隙
BWP切换期间(约1-2个时隙),终端无法收发数据。如果频繁切换BWP,有效吞吐量反而下降。现网建议:同一方向(DL或UL)同一时刻只激活一个BWP,避免乒乓切换。
陷阱二:Initial BWP与SSB的SCS不匹配
如果SIB1中配置的Initial BWP的SCS与SSB的SCS不同,终端需要额外的时间进行重调(retuning)。现网通常将Initial BWP的SCS配置为与SSB一致,避免这个问题。
陷阱三:忽略BWP切换的HARQ-ACK反馈时序
在旧BWP上发送的PDSCH的HARQ-ACK反馈可能需要在新BWP上发送。如果两个BWP的SCS不同,时序计算容易出错。这是协议一致性测试的重点。
| 特性 | 4G LTE | 5G NR BWP |
|---|---|---|
| 终端工作带宽 | 固定等于载波带宽 | 可动态调整 |
| 带宽粒度 | 无 | 最小1PRB(180kHz) |
| SCS可变性 | 固定15kHz | 每个BWP可独立配置 |
| 省电机制 | 仅DRX | DRX + BWP带宽缩减 |
| 空闲态带宽 | 全载波带宽 | Initial BWP(可控) |
| 切换方式 | 无 | DCI/RRC/定时器三种 |
| CA场景 | 每CC固定带宽 | 每CC独立BWP |
BWP本质上是5G"灵活空口"设计理念在频域维度的体现。与4G的"一刀切"相比,BWP让网络能够根据每个终端的实际需求,精确分配频域资源——这不仅节省了终端功耗,更为未来的多样化业务(eMBB、URLLC、mMTC)提供了差异化的空口支撑。
Q1: BWP和载波聚合(CA)有什么区别?
A: CA是将多个不同频段的载波捆绑在一起,扩大总可用带宽。BWP是在单个载波内部灵活使用部分带宽。CA是"横向扩展"(多个频点),BWP是"纵向伸缩"(一个频点内)。两者可以组合使用——CA的每个分量载波上都可以配置BWP。
Q2: 一个终端同时可以有几个Active BWP?
A: 每个服务小区上,每个方向(上行/下行)同一时刻只能有一个Active BWP。但在载波聚合场景下,多个载波上的BWP可以同时激活。半双工FDD场景中,上行和下行BWP还可以时分复用同一频段。
Q3: BWP切换时,正在进行的HARQ进程会怎样?
A: 3GPP协议规定,BWP切换不会中断已经配置的HARQ进程。在旧BWP上发送的PDSCH/PUSCH的HARQ-ACK会在新BWP上反馈,但时序需要根据新BWP的SCS重新计算。如果旧BWP上有未完成的HARQ重传,这些数据会被缓冲,在新BWP激活后继续处理。
Q4: 为什么Initial BWP不能配置得很大?
A: Initial BWP需要覆盖小区边缘的所有终端,包括能力最弱的低成本设备。大带宽意味着更高的射频采样率和更多的FFT点数,这对低端终端的功耗和成本不利。此外,Initial BWP主要用于读取系统信息和初始接入,不需要很高的吞吐量,10-20MHz已经足够。
Q5: BWP的带宽可以跨越载波边界吗?
A: 不可以。BWP必须完全包含在其所属的载波带宽范围内。BWP的起始位置和终止位置都不能超出载波的CRB(Common Resource Block)范围。这也是为什么载波带宽比BWP"大"的原因——BWP是载波的子集。
本文由「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 等场景全覆盖。
