5G NR资源块计算:从子载波间隔到实际可用RB的完整解析
1. 从“一块地”说起:理解5G NR的资源块
搞无线通信的,尤其是做物理层(PHY)算法、性能评估或者网络规划的同行,肯定都绕不开一个最基础但又至关重要的概念:资源块。你可以把它想象成一片待开发的“土地”。在5G NR(New Radio)这个新标准下,这片“土地”的划分规则和4G LTE时代相比,有了显著的变化。我们常说“有多少资源,就能干多少活”,在无线通信里,资源块(RB)的数量直接决定了系统能承载多少数据、能服务多少用户,是评估小区容量、进行调度算法设计、乃至计算峰值速率的基础。
很多人刚接触5G NR时,可能会沿用LTE的思维去数RB,结果发现对不上号,或者算出来的速率和理论值差一大截。这往往是因为没吃透5G NR在频域和时域上更灵活、更复杂的资源网格定义。今天,我就结合实际的协议规范(主要是3GPP TS 38.211)和工程实践中的常见场景,来彻底拆解一下5G NR中资源块数量的计算方法。我们会从最基础的“一块地”有多大开始,一直聊到在实际的带宽配置下,我们到底能拥有多少块这样的“地”。
2. 5G NR资源网格的“新规矩”:频域与子载波间隔
要数清楚有多少块“地”,首先得知道每块“地”的标准尺寸。在5G NR中,这个尺寸的核心变量是子载波间隔。
2.1 子载波间隔的多样化
与LTE固定15 kHz子载波间隔不同,5G NR引入了多种可选的SCS(Subcarrier Spacing),通常用希腊字母μ (mu)来表示,其关系为:SCS = 15 kHz × 2^μ。
常见的μ值和对应的SCS如下:
| μ值 | 子载波间隔 (kHz) | 主要应用场景 |
|---|---|---|
| 0 | 15 | 低频段(如700MHz, 2.1GHz),兼容LTE,覆盖优先 |
| 1 | 30 | 中频段(如3.5GHz C-band),容量与覆盖平衡 |
| 2 | 60 | 高频段(如毫米波),极高容量,短时延 |
| 3 | 120 | 极高吞吐量场景 |
| 4 | 240 | 实验性或特定极高带宽场景 |
这个变化是革命性的。更大的SCS意味着每个符号的时长更短(因为OFDM符号长度与SCS成反比),这直接提升了系统对时延和相位噪声的容忍度,特别适合毫米波等高频段。但同时,它也改变了资源块的定义。
2.2 一个资源块有多大?
无论SCS如何变化,5G NR定义了一个资源块在频域上始终包含12个连续的子载波。这一点和LTE保持一致,可以看作是产业界的一种传承,便于算法和设计的复用。
那么,一个RB的带宽就是:12 × 子载波间隔。
- 当 μ=0 (15 kHz)时, 1 RB = 12 × 15 kHz =180 kHz
- 当 μ=1 (30 kHz)时, 1 RB = 12 × 30 kHz =360 kHz
- 当 μ=2 (60 kHz)时, 1 RB = 12 × 60 kHz =720 kHz
看出来了吗?随着SCS翻倍,一个RB占用的绝对带宽也翻倍了。这意味着,在相同的系统总带宽下,使用更大的SCS,你能获得的RB总数会变少。但别急着下结论说“资源变少了”,因为每个RB的“能力”也增强了——这涉及到时域符号和调度时延,我们后面再谈。
注意:这里计算的是“保护带”之外的纯数据承载带宽。实际系统中,中心载波附近还有用于同步信号(SSB)等的资源,它们不用于常规数据传输,在计算可用RB时需要扣除。
3. 信道带宽与传输带宽配置:我们能用的“地皮”总面积
知道了单块“地”的尺寸,接下来就要看运营商给我们划了多大一块“总地皮”。这由两个紧密相关的参数决定:信道带宽和传输带宽配置。
3.1 信道带宽
信道带宽就是通常我们说的“系统带宽”,比如100MHz, 200MHz。这是指整个载波所占用的射频带宽。3GPP为不同的频段和SCS定义了系列化的标准信道带宽。例如,在n78频段(3.5GHz),常见的信道带宽有40MHz, 50MHz, 80MHz, 100MHz等。
3.2 传输带宽配置
但是,我们不能把整个信道带宽全部用来放数据RB。就像盖房子要留出绿化带和道路一样,频谱的两边需要留出保护带,以防止干扰相邻信道。此外,中心频率附近还要预留资源给必不可少的同步信号和广播信道。
因此,3GPP定义了传输带宽配置,用N_RB来表示。这个N_RB才是在指定信道带宽和SCS下,可用于PDSCH(下行共享信道)和PUSCH(上行共享信道)的最大资源块数量。
N_RB、SCS和信道带宽之间存在固定的查表关系,定义在3GPP TS 38.101系列规范中。作为工程师,我们不需要自己推导,但必须会查表和使用。
举例说明: 假设我们在n78频段,使用100MHz的信道带宽,SCS=30kHz (μ=1)。 查表(TS 38.101-1 Table 5.3.2-1)可得,对应的传输带宽配置N_RB=273。 这意味着,在这个载波上,我们最大可以调度273个RB用于数据传输。
这273个RB占用的总带宽是:273 RB × 12 subcarriers/RB × 30 kHz/subcarrier = 98.28 MHz。 剩下的约1.72MHz(100 - 98.28)就是两边的保护带了。
3.3 常见配置速查与计算逻辑
为了更直观,这里列出几个常见场景下的N_RB值:
| 信道带宽 | SCS=15kHz (μ=0) | SCS=30kHz (μ=1) | SCS=60kHz (μ=2) |
|---|---|---|---|
| 20 MHz | 106 RB | 51 RB | 24 RB |
| 50 MHz | 270 RB | 133 RB | 65 RB |
| 100 MHz | 不适用 | 273 RB | 135 RB |
| 200 MHz | 不适用 | 不适用 | 275 RB |
实操心得:这个表一定要记熟几个关键点,比如100MHz+30kHz对应273RB,这是当前5G主流建网配置。在做链路预算或容量估算时,直接取这个值作为理论最大值。但要注意,这是“最大可用”值,实际可用的还会因为SSB、CORESET等开销而减少。
计算逻辑总结:
- 确定场景:明确频段(FR1 或 FR2)、信道带宽(BW)和子载波间隔(SCS)。
- 查表获取N_RB:查阅3GPP TS 38.101-1 (FR1) 或 38.101-2 (FR2) 中对应的表格,找到传输带宽配置
N_RB。这是最关键的一步。 - 理解开销:明白
N_RB是物理层最大可用数,高层调度可用资源还需扣除各种控制信道和参考信号的资源。
4. 时域维度:资源块不止是频域的“条状地”
前面我们一直在频域上讨论,把RB看成一条条竖着的“带状地皮”。但实际传输资源是二维的:频域×时域。在5G NR中,时域的基本单位是时隙。
4.1 时隙结构与符号
一个时隙的时长直接由SCS决定:时隙长度 = 1 / (SCS × 14)。因为一个时隙固定包含14个OFDM符号(对于常规CP)。
- SCS=30kHz时, 时隙长度 = 1 / (30000 × 14) ≈ 0.5 ms
- SCS=60kHz时, 时隙长度 ≈ 0.25 ms
所以,当我们说“这个用户被调度了10个RB”,必须同时问:“是在哪个时隙?调度了时隙内的全部符号还是部分符号?” 一个完整的资源单位是资源粒子,即一个子载波×一个符号。而资源块是频域上12个子载波×时域上1个时隙内所有符号的集合(对于常规CP,就是12×14=168个RE)。
4.2 迷你时隙调度
5G NR为了支持超低时延业务(如URLLC),引入了“迷你时隙”调度。它可以短至2个、4个或7个符号。这意味着,调度单位可以是一个RB在时域上的一部分。在计算瞬时资源占用或峰值速率时,需要明确调度时长。
峰值速率计算示例: 假设下行链路,使用256QAM调制(每符号承载8比特),码率假设为0.95(接近最高谱效)。
- 场景:100MHz带宽, SCS=30kHz,
N_RB= 273。 - 一个时隙内,总RE数(扣除DM-RS等开销,粗略按每RB每时隙12×14×0.9≈151个可用RE估算):273 RB × 151 RE/RB ≈ 41,223 RE。
- 一个时隙的数据比特数:41,223 RE × 8 bit/RE × 0.95 ≈ 313,000 bit。
- 时隙时长0.5ms, 则峰值速率 ≈ 313,000 bit / 0.0005 s ≈626 Mbps。
这是一个非常粗略的估算,实际中还要扣除更多控制信道开销、编码尾比特等,但计算逻辑是这样的。可以看到,RB数量N_RB是这个计算链条的起点和核心输入。
5. 实际网络中的RB计算:开销与灵活配置
在真实的5G基站(gNB)和终端(UE)中,可用的RB数并非总是等于N_RB这个最大值。主要有以下几类开销会占用资源:
5.1 同步信号块开销
SSB是UE接入网络的基石,它占用固定的时频资源。一个SSB在频域上占用20个RB(无论SCS是多少,都是240个子载波),在时域上占用4个符号。SSB的周期和位置模式是半静态配置的。在计算一个时隙内可用于数据的RB时,需要避开SSB所占的RB。
5.2 控制资源集开销
CORESET是承载PDCCH(下行控制信道)的区域。它由网络配置,可以在频域上占用连续的6个RB(一种常见配置),在时域上占用1-3个符号。CORESET的配置非常灵活,是网络优化的重要抓手。显然,被CORESET占用的RB也不能再用于PDSCH。
5.3 部分带宽配置
为了降低终端功耗和复杂度,5G NR支持“部分带宽”操作。一个UE可以被配置为只在整个载波带宽的一部分(称为BWP,带宽部分)内进行收发。此时,对于该UE而言,其可用的最大RB数就是其激活BWP所包含的RB数,而非整个载波的N_RB。BWP的引入使得网络可以更灵活地为不同能力的UE分配资源。
实际可用RB计算流程:
- 获取载波级最大
N_RB(查表所得)。 - 确定UE激活的BWP的起始位置和大小(
locationAndBandwidth参数),得到该BWP内的RB总数N_RB_BWP。 - 在当前调度的时隙内,从
N_RB_BWP中扣除SSB(如果存在)所占的RB。 - 再扣除当前时隙内PDCCH CORESET所占的RB。
- 剩余的资源,才是可以用于调度该UE的PDSCH或PUSCH的RB资源池。
这个过程通常由基站的调度器在每一个调度周期(例如每时隙)动态计算完成。
6. 从协议到代码:工程实现中的关键点
在物理层软件或仿真平台开发中,RB的计算不是一次性的查表,而是一系列动态配置和实时计算的结果。
6.1 配置参数的解析
基站侧会通过RRC信令或内部配置,获取到以下关键参数:
CarrierBandwidth: 信道带宽。SubcarrierSpacing: 子载波间隔。N_RB: 传输带宽配置(可直接配置或根据前两项查表得出)。SSB_Position: SSB的频域位置(以RB为单位的偏移量)。CORESET_Config: 各个CORESET的频域位置和大小。
我们的代码需要正确解析这些参数,并在内存中构建出当前小区的资源地图。
6.2 资源映射与冲突避免算法
调度器在分配资源时,核心算法之一就是冲突避免。伪代码逻辑大致如下:
// 假设: carrier_N_RB, ssb_start_rb, ssb_width_rb, coreset_list 已定义 int available_rbs[carrier_N_RB]; // 标记每个RB是否可用,1可用,0占用 // 1. 初始化,所有RB可用 for (int i=0; i<carrier_N_RB; i++) available_rbs[i] = 1; // 2. 扣除SSB占用的RB for (int i=ssb_start_rb; i < ssb_start_rb + ssb_width_rb; i++) { if (i < carrier_N_RB) available_rbs[i] = 0; } // 3. 扣除当前时隙所有CORESET占用的RB foreach (coreset in coreset_list) { if (coreset.is_active_in_current_slot()) { for (int i=coreset.start_rb; i < coreset.start_rb + coreset.width_rb; i++) { if (i < carrier_N_RB) available_rbs[i] = 0; } } } // 4. 现在,available_rbs数组中值为1的索引,就是可分配给PDSCH/PUSCH的RB编号 // 调度器可以从中选择连续的RB块分配给UE6.3 性能评估与问题定位
在测试和定位问题时,RB的数量是核心指标。
- 速率不达标:首先检查调度器实际分配的RB数是否达到预期。是不是SSB或CORESET配置过大,侵占了过多数据资源?或者BWP配置太小?
- 干扰问题:如果相邻小区SSB位置冲突,会导致初始接入困难。需要规划不同的SSB频域偏移。
- 资源利用率监控:网管系统通常会上报“PRB利用率”,这个“PRB”指的就是可用于数据的物理RB的平均使用比例。它是评估小区负荷的关键KPI。其计算基础就是准确知道每个时刻可用的RB总数。
7. 总结与高阶思考
计算5G NR的资源块数量,远不止是一个“12个子载波”的乘法。它是一个从标准定义(SCS,N_RB)到工程配置(BWP, SSB, CORESET),再到动态调度(时隙、符号)的完整链条。
核心要点再梳理:
- 基础单元:1个RB = 12个连续子载波。其绝对带宽随SCS线性增长。
- 总量上限:由信道带宽和SCS共同决定,查表得到传输带宽配置
N_RB。这是物理层硬资源的上限。 - 实际可用:对于特定UE或特定时隙,可用RB数需从
N_RB(或BWP内的RB数)中,扣除SSB和CORESET等固定开销。 - 时空二维:RB是频域概念,实际调度需结合时域(时隙、符号)。资源分配的最小单位是资源粒子。
高阶思考:
- 毫米波场景:在FR2(毫米波)频段,信道带宽常为400MHz或800MHz,SCS为120kHz或240kHz。此时
N_RB可能达到264或更少(因为单RB带宽极大)。虽然RB总数少了,但凭借极高的SCS和调制阶数(如1024QAM),以及多载波聚合,依然能实现数十Gbps的峰值速率。 - 动态频谱共享:在DSS场景下,4G LTE和5G NR共享同一段频谱。RB的计算需要同时考虑两套系统的资源图案,避免冲突,这给调度器带来了更大的挑战。
- 未来演进:随着RedCap等新终端类型的引入,对RB资源的分配策略会更加精细化,可能需要根据业务类型和UE能力,采用不同的RB粒度进行调度。
理解RB的计算,是打开5G NR物理层资源管理大门的第一把钥匙。它贯穿于网络规划、设备开发、性能优化和故障排查的全生命周期。下次当你看到PRB利用率报表,或者调试调度算法时,希望这篇文章能帮你更清晰地看到那些“格子”背后的故事。
