<!-- title: NR PDSCH频域资源分配Type 0/1双层博弈 -->
<!-- domain: ran -->

# NR PDSCH频域资源分配Type 0与Type 1双层博弈：Bitmap与RIV的信令开销生死线

## 一、机制定位：为什么5G NR要设计两种频域资源分配方式？

在LTE时代，下行资源分配只有Type 0（bitmap）和Type 1（bitmap子集）两种，且最终演进到Type 2（RIV）。5G NR直接在TS 38.214 Section 5.1.2.2中定义了全新的**Type 0（RBG bitmap）**和**Type 1（RIV连续分配）**，并引入了**动态切换（dynamicSwitch）**能力——gNB可以在每个DCI中实时选择使用哪种分配方式。

这不是协议设计的冗余，而是一场**频域调度灵活性与DCI信令开销之间的精确博弈**：

- **Type 0（bitmap）**：以RBG为粒度的非连续分配，支持频率选择性调度，但DCI开销大
- **Type 1（RIV）**：以单个PRB为粒度的连续分配，DCI开销极低，但无法做非连续分配

当BWP带宽为100MHz（273个PRB）时，Type 0的bitmap长度可达17-137比特，而Type 1的RIV仅需⌈log₂(273×274/2)⌉=16比特。两者之间的开销差，在PDCCH容量紧张的场景下，直接决定了**小区边缘用户能否被调度**。

## 二、Type 0：RBG Bitmap逐比特映射

### 2.1 RBG粒度配置——TS 38.214 Table 5.1.2.2.1-1

Type 0将BWP划分为若干个**资源块组（RBG）**，每个RBG包含P个连续PRB。P的取值由RRC参数`rbg-Size`（配置1或配置2）和BWP带宽共同决定：

| BWP大小（PRB数） | 配置1的RBG大小P | 配置2的RBG大小P |
|:---:|:---:|:---:|
| 1–36 | 2 | 4 |
| 37–72 | 4 | 8 |
| 73–144 | 8 | 16 |
| 145–275 | 16 | 16 |

bitmap的总长度为 $N_{RBG} = \lceil N_{BWP}^{size}/P \rceil$ 比特。bitmap中的第i位为1，表示第i个RBG被分配给该UE。

### 2.2 首尾RBG的特殊处理

当BWP的起始位置不是RBG大小的整数倍时，**第一个RBG**可能小于P个PRB。同理，**最后一个RBG**也可能不足P个PRB。这意味着：

```
BWP起始位置: RB_start = 10
BWP大小: N_BWP = 50 PRBs
RBG大小P = 4（配置1，37-72范围）

第一个RBG: PRB 10-11（仅2个PRB，因为10 mod 4 = 2）
中间RBG: PRB 12-15, 16-19, ..., 56-59（每个完整4 PRB）
最后一个RBG: PRB 60（仅1个PRB，因为50 mod 4 = 2，剩余2个PRB）
总RBG数 = ceil(50/4) = 13
```

这种非对齐带来的**碎片化**是Type 0的隐性成本——首尾RBG的资源利用率可能只有50%甚至更低。

### 2.3 Bitmap编码信令流

```mermaid
sequenceDiagram
    participant gNB as gNB调度器
    participant DCI as DCI Format 1_1
    participant UE as UE解码器
    
    gNB->>gNB: 1. 根据CQI选择频域PRB集合
    gNB->>gNB: 2. 将PRB映射为RBG bitmap
    gNB->>gNB: 3. 计算bitmap长度 = ceil(N_BWP/P)
    
    gNB->>DCI: 4. 填充Frequency domain<br/>resource assignment字段
    Note over DCI: 如果dynamicSwitch：<br/>bit 0 = 0 表示Type 0<br/>后续为bitmap
    
    DCI->>UE: 5. PDCCH发送DCI
    UE->>UE: 6. 检测resource allocation type
    UE->>UE: 7. 解析bitmap，定位分配的RBG
    UE->>UE: 8. 从RBG展开为PRB集合
    UE->>UE: 9. VRB-to-PRB映射（交织/非交织）
    UE->>UE: 10. 在对应PRB上接收PDSCH
```

## 三、Type 1：RIV连续编码的极限压缩

### 3.1 RIV编码算法——TS 38.214 Section 5.1.2.2.2

Type 1使用**资源指示值（RIV）**来编码一段连续的VRB分配。给定起始位置 $RB_{START}$ 和长度 $L_{RBs}$：

$$
RIV = \begin{cases}
N_{BWP}^{size}(L_{RBs}-1) + RB_{START} & \text{if } L_{RBs}-1 \leq \lfloor N_{BWP}^{size}/2 \rfloor \\
N_{BWP}^{size}(N_{BWP}^{size}-L_{RBs}+1) + (N_{BWP}^{size}-1-RB_{START}) & \text{otherwise}
\end{cases}
$$

RIV的比特宽度仅为 $\lceil\log_2(N_{BWP}^{size}(N_{BWP}^{size}+1)/2)\rceil$。

### 3.2 RIV编解码实战示例

```
BWP大小 = 106 PRBs（40MHz FR1）
起始位置 RB_START = 20
长度 L_RBs = 30

判断: L_RBs - 1 = 29 <= floor(106/2) = 53 ✓
RIV = 106 × (30-1) + 20 = 106 × 29 + 20 = 3094

所需比特: ceil(log2(106×107/2)) = ceil(log2(5671)) = 13 bits

对比Type 0:
RBG大小P = 8（配置1，73-144范围）
Bitmap长度 = ceil(106/8) = 14 bits
加上dynamicSwitch的1 bit = 15 bits

Type 1仅用13 bits完成了30个连续PRB的指示。
```

### 3.3 RIV的极限容量

RIV能表示的分配组合总数为 $N_{BWP}^{size}(N_{BWP}^{size}+1)/2$，即从1个PRB到整个BWP的所有连续分配组合。对于273个PRB的BWP，这意味着37,531种不同的分配方式，全部压缩在16个比特中。

## 四、Dynamic Switch：每DCI实时切换的博弈决策

### 4.1 RRC配置三层策略

TS 38.331中`PDSCH-Config`的`resourceAllocation`参数决定UE支持的分配类型组合：

| RRC配置值 | 含义 | DCI中的指示方式 |
|:---:|:---|:---|
| `resourceAllocation` = "type0" | 仅Type 0 | 无额外指示位 |
| `resourceAllocation` = "type1" | 仅Type 1 | 无额外指示位 |
| `resourceAllocation` = "dynamicSwitch" | 两者皆可 | DCI最高位指示类型 |

### 4.2 动态切换的DCI字段结构

当配置为`dynamicSwitch`时，Frequency domain resource assignment字段的编码规则：

```mermaid
graph TD
    A[DCI Frequency Domain<br/>Resource Assignment] --> B{最高位 MSB}
    B -->|MSB = 0| C[Type 0: RBG Bitmap]
    B -->|MSB = 1| D[Type 1: RIV]

    C --> E[bitmap长度 = ceil N_BWP/P bits]
    D --> F[RIV长度 = ceil log2 N_BWP×N_BWP+1/2 bits]

    E --> G[总字段长度 = 1 + max bitmap_len, RIV_len]
    F --> G

    style A fill:#e1f5fe
    style B fill:#fff9c4
    style C fill:#c8e6c9
    style D fill:#ffccbc
```

**关键设计**：无论选择Type 0还是Type 1，**该字段的总比特数相同**，等于 $1 + \max(N_{bitmap}, N_{RIV})$。当选择Type 1时，多余的高位比特全部填0。这保证了DCI长度的一致性——UE不需要先解码类型再确定DCI长度。

## 五、VRB-to-PRB映射：交织带来的第二层博弈

Type 0和Type 1分配的都是**虚拟资源块（VRB）**，还需要一层VRB到PRB的映射。TS 38.211 Section 7.3.1.5定义了两种映射方式：

### 5.1 非交织映射（Non-interleaved）

VRB n 直接映射到PRB n，一一对应。适用于：
- 频率选择性波束赋形（beamformed传输）
- 信道状态信息精确已知时的集中式调度

### 5.2 交织映射（Interleaved）

VRB以**Bundle**为单位进行交织映射。Bundle大小由DCI指示：

| 资源分配类型 | Bundle大小 |
|:---:|:---:|
| Type 0 | 等于RBG大小P |
| Type 1 | 由DCI中VRB-to-PRB interleaving字段决定（2或4） |

交织操作使用块交织器，行数从{2, 3, 6}中选择，将VRB bundle分散到整个BWP带宽上，获得**频率分集增益**。

### 5.3 交织映射信令流程

```mermaid
sequenceDiagram
    participant gNB as gNB调度器
    participant UE as UE物理层
    
    gNB->>gNB: 1. 确定VRB分配（Type 0/1）
    gNB->>gNB: 2. 决定VRB-to-PRB映射方式
    
    alt 非交织映射
        gNB->>UE: DCI: VRB-to-PRB = 0
        UE->>UE: VRB n → PRB n（直接映射）
    else 交织映射
        gNB->>UE: DCI: VRB-to-PRB = 1<br/>Bundle size = 2/4
        UE->>UE: VRB → Bundle分割
        UE->>UE: 块交织（行数2/3/6）
        UE->>UE: 映射后的PRB位置
    end
    
    UE->>UE: 在PRB位置接收PDSCH
```

## 六、DCI开销定量分析：信令比特生死线

### 6.1 典型场景下的比特开销对比

以FR1三个典型带宽为例，计算Frequency domain resource assignment字段的比特开销：

| BWP配置 | 20MHz (51 PRB) | 40MHz (106 PRB) | 100MHz (273 PRB) |
|:---|:---:|:---:|:---:|
| Type 0 bitmap（配置1） | 13 bits | 14 bits | 18 bits |
| Type 0 bitmap（配置2） | 7 bits | 14 bits | 18 bits |
| Type 1 RIV | 13 bits | 13 bits | 16 bits |
| Dynamic Switch总字段 | 1+max = 14 bits | 1+max = 15 bits | 1+max = 19 bits |
| **差值（max-min）** | **7 bits** | **2 bits** | **3 bits** |

### 6.2 PDCCH容量博弈模型

DCI Format 1_1的总长度通常在60-90 bits之间（取决于RRC配置）。每多1 bit的DCI长度，在相同聚合等级（AL）下可能需要翻倍的CCE资源：

```mermaid
graph LR
    subgraph DCI开销增加
        A[DCI +1 bit] --> B{CCE需求变化?}
        B -->|跨过边界| C[CCE翻倍]
        B -->|未跨边界| D[CCE不变]
        C --> E[PDCCH容量↓50%]
        E --> F[可调度UE数减少]
        F --> G[小区边缘UE<br/>可能无法调度]
    end

    subgraph 优化方向
        H[选择Type 1 RIV] --> I[最小化DCI长度]
        I --> J[相同AL下更少CCE]
        J --> K[更多UE可被调度]
    end

    style G fill:#ffcdd2
    style K fill:#c8e6c9
```

当小区负载高、PDCCH容量成为瓶颈时，**Type 1的RIV编码**成为救命的几比特。这也是为什么实际网络中，**大多数调度决策默认使用Type 1**——只有在信道条件好且需要频率选择性调度时才切换到Type 0。

## 七、DCI Format 1_0 vs 1_1 vs 1_2的分配策略差异

### 7.1 三种DCI格式对比

TS 38.212和38.214定义了三种下行调度DCI格式，其对资源分配的支持能力不同：

| DCI格式 | Type 0支持 | Type 1支持 | 动态切换 | 典型场景 |
|:---:|:---:|:---:|:---:|:---|
| DCI 1_0 | ❌ | ✅（强制） | ❌ | Fallback/公共搜索空间 |
| DCI 1_1 | ✅ | ✅ | ✅ | UE专用搜索空间（常规） |
| DCI 1_2 | ✅ | ✅ | ✅ | RedCap/低复杂度UE（R18+） |

### 7.2 DCI 1_2的特殊优化（R18引入）

DCI Format 1_2为RedCap等低复杂度UE引入了多项精简：

- **Type 0的RIV粒度**：DCI 1_2的Type 0可以配置为以RBG粒度做RIV编码，而非完整bitmap，进一步压缩信令
- **更大的交织Bundle**：支持更大的VRB-to-PRB交织粒度，减少处理复杂度
- **受限的BWP带宽**：RedCap UE的最大BWP为20MHz，bitmap长度被天然限制

### 7.3 状态转换：配置与运行时决策

```mermaid
stateDiagram-v2
    [*] --> RRC配置
    RRC配置 --> 仅Type0: resourceAllocation = type0
    RRC配置 --> 仅Type1: resourceAllocation = type1
    RRC配置 --> 动态切换: resourceAllocation = dynamicSwitch
    
    仅Type0 --> Type0调度: 每次DCI
    仅Type1 --> Type1调度: 每次DCI
    
    动态切换 --> Type0调度: DCI MSB=0
    动态切换 --> Type1调度: DCI MSB=1
    
    Type0调度 --> 非交织: VRBtoPRB=0
    Type0调度 --> 交织: VRBtoPRB=1<br/>BundleSize=RBG_Size
    Type1调度 --> 非交织2: VRBtoPRB=0
    Type1调度 --> 交织2: VRBtoPRB=1<br/>BundleSize=2or4
```

## 八、实战连接：抓包识别与故障排查

### 8.1 抓包识别关键步骤

在5G L1/L2抓包工具（如QXDM、Wireshark + MAC/PHY log）中识别PDSCH频域资源分配：

1. **定位DCI Format**：在PDCCH解码结果中确认是1_0、1_1还是1_2
2. **提取RRC配置**：确认`resourceAllocation`参数值和`rbg-Size`配置
3. **解析Frequency domain resource assignment字段**：
   - 如果是dynamicSwitch，先读MSB判断类型
   - Type 0：按bitmap展开为RBG索引 → PRB范围
   - Type 1：解码RIV得到起始位置和长度
4. **VRB-to-PRB映射**：确认DCI中的interleaving指示

### 8.2 常见故障场景

| 故障现象 | 可能根因 | 排查方向 |
|:---|:---|:---|
| UE解不出PDSCH数据 | RBG bitmap解析与RRC配置不匹配 | 检查`rbg-Size`配置与bitmap长度的对应关系 |
| DCI长度异常导致PDCCH漏检 | dynamicSwitch配置下DCI长度计算错误 | 对比TS 38.212 Section 7.3.1.2的DCI size计算 |
| 频率分集增益不足 | Type 1 + 非交织映射，窄带连续分配 | 检查是否应启用交织映射或切换Type 0 |
| 小区边缘吞吐量低 | PDCCH CCE受限，长DCI无法聚合 | 考虑使用Type 1减少DCI长度，降低AL需求 |
| RedCap UE调度失败 | DCI 1_2的Type 0 RBG粒度RIV配置错误 | 检查`PDSCH-Config`中`resourceAllocation-Type0-Granularity` |
## 九、深入分析：Type 0/1选择对系统级性能的影响

### 9.1 多用户MIMO场景下的博弈

在MU-MIMO中，多个UE共享同一时频资源。Type 0的bitmap可以精确地分配不同的频段给不同UE，实现**频域复用**。而Type 1只能给每个UE分配连续的频段，在多UE频分复用时灵活性受限。

设小区有K个MU-MIMO配对UE，每个UE平均分配BWP的1/K带宽：

- **Type 0**：bitmap可以灵活分配不相邻的RBG给不同UE，总调度灵活度为 $2^{N_{RBG}}$ 种组合
- **Type 1**：每个UE只能分配一段连续VRB，总组合仅为 $K \times N_{BWP}(N_{BWP}+1)/2$ 种

但Type 0的代价是每个UE的DCI更长，**总DCI开销 = K × bitmap_len**，可能耗尽PDCCH容量。

### 9.2 碎片化资源利用场景

当系统中存在大量窄带控制信道（CORESET）、参考信号（CSI-RS、SSB）的资源预留时，可用PRB呈**碎片化**分布。此时：

- **Type 0**：bitmap可以直接跳过被占用的RBG，灵活性极高
- **Type 1**：连续分配可能横跨预留资源，需要Rate Matching处理，增加复杂度

碎片化程度越高，Type 0的调度增益越明显。这也是TDD网络（时域资源碎片更多）中Type 0使用比例略高于FDD网络的原因之一。

## 十、R19增强方向：DCI压缩与灵活性的再平衡

TS 38.214在R18/R19中引入的增强主要围绕**降低DCI开销**展开：

1. **DCI 1_2的RBG粒度RIV**：将Type 0的bitmap替换为RBG粒度的RIV编码，保留非连续分配的灵活性同时压缩信令
2. **增强的VRB-to-PRB交织**：支持更大的交织粒度（如Bundle size = 8），减少UE侧处理复杂度
3. **AI辅助的资源分配类型选择**：部分厂商开始在调度器中引入ML模型，基于历史CQI分布和PDCCH负载预测最优的Type 0/1选择策略

## 常见问题

**Q1: DCI Format 1_0为什么强制使用Type 1？**
A: DCI 1_0是fallback格式，用于UE尚未获取完整的PDSCH-Config时（如初始接入、RRC重配期间）。Type 1的RIV编码是自包含的——UE只需知道BWP起始位置和大小即可解码，无需额外的RRC参数（如rbg-Size）。这保证了在任何状态下都能正确调度。

**Q2: 为什么不统一使用Type 0的bitmap？灵活性不是更高吗？**
A: 对于100MHz BWP（273 PRB），Type 0的bitmap可达18比特，加上dynamicSwitch指示位共19比特。而Type 1的RIV仅需16比特。在PDCCH使用AL=1（1个CCE = 54 bits有效载荷）时，这3比特的差异可能导致DCI从1个CCE膨胀到2个CCE，**PDCCH容量直接减半**。在小区边缘、高负载场景下，这是不可接受的。

**Q3: 配置1和配置2的rbg-Size应该怎么选？**
A: 配置1（细粒度）适合中小带宽（20-40MHz）和频率选择性调度场景，RBG大小更小意味着bitmap更长但调度更灵活。配置2（粗粒度）适合大带宽（80-100MHz），bitmap更短节省DCI开销，但代价是每个RBG包含更多PRB，可能浪费碎片资源。实际部署中，大多数厂商在BWP > 72 PRB时选择配置1以保持8 PRB的RBG粒度。

**Q4: 交织映射何时应该启用？**
A: 交织映射的核心价值是频率分集——将VRB分散到整个BWP上获得对抗频率选择性衰落的能力。当UE信道条件不稳定（高速移动、小区边缘、无精确CSI反馈）时启用交织映射。当信道条件稳定且有精确CSI反馈时（低移动性、近小区中心），非交织映射配合频率选择性调度可以获得更高的峰值速率。

**Q5: DCI 1_2中Type 0的RBG粒度RIV是什么意思？**
A: 传统Type 0使用bitmap指示每个RBG是否分配。DCI 1_2引入了一种新方式：用RIV编码一段连续的RBG（而非PRB）。例如在106 PRB BWP、P=8时，传统bitmap需要14比特，而RBG粒度RIV仅需⌈log₂(14×15/2)⌉=7比特，节省了一半。代价是只能分配连续的RBG，丧失了非连续分配能力。这是为RedCap UE设计的折中方案——用Type 0的部分灵活性换取更短的DCI。

## 参考来源

1. [3GPP TS 38.214 V19.x.x](https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3216) — Section 5.1.2.2（频域资源分配）、Table 5.1.2.2.1-1（RBG大小配置）
2. [3GPP TS 38.211 V19.x.x](https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3213) — Section 7.3.1.5（VRB-to-PRB交织映射）
3. [3GPP TS 38.212 V19.x.x](https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3214) — Section 7.3.1.2（DCI format 1_0/1_1/1_2编码）
4. [ShareTechnote - 5G Resource Allocation Type](https://www.sharetechnote.com/html/5G/5G_ResourceAllocationType.html) — Type 0/1对比与DCI字段解析
5. [CSDN - 5G NR PDSCH调度实战：Type0与Type1资源分配](https://blog.csdn.net/weixin_28710999/article/details/160204892) — 实战调优案例分析

---
> 本文由「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学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
