跳转至

04-LTE PDCCH 资源映射 - CCE 到 REG 映射与交织

本文档详细解释 LTE PDCCH 的资源映射流程


一、资源映射概述

1.1 映射层次

1
2
3
4
5
6
PDCCH 资源映射层次:

DCI 比特 → CCE → REG → RE → 空中接口

详细流程:
编码后比特 → CCE (9 REG) → REG (4 RE) → RE (子载波×符号)

1.2 映射约束

1
2
3
4
5
6
映射约束条件:
├─ 避开 CRS 位置
├─ 避开 PCFICH 位置
├─ 避开 PHICH 位置
├─ REG 频域分散 (频率分集)
└─ CCE 内 REG 等间隔分布

二、CCE 到 REG 映射

2.1 映射公式

CCE n 的 REG 位置:
─────────────────────────────────────────────────────────
REG_index(n, i) = (n × 9 + i) mod N_REG_available

其中:
n = CCE 索引 (0 ~ N_CCE-1)
i = REG 索引 within CCE (0 ~ 8)
N_REG_available = 控制区域可用 REG 总数

示例 (N_REG = 900):
CCE 0 的 REG: 0, 1, 2, 3, 4, 5, 6, 7, 8
CCE 1 的 REG: 9, 10, 11, 12, 13, 14, 15, 16, 17
...
CCE 10 的 REG: 90, 91, 92, 93, 94, 95, 96, 97, 98
─────────────────────────────────────────────────────────

2.2 REG 分布

REG 在频域的分布:
─────────────────────────────────────────────────────────
符号 0:
RB 0:  [REG0][REG1][REG2]  (排除 CRS)
RB 1:  [REG3][REG4][REG5]
RB 2:  [REG6][REG7][REG8]
...

符号 1:
RB 0:  [REG9][REG10][REG11]
...

注意:
- CRS 位置跳过 (天线端口 0: 符号 0,4,7,11)
- REG 连续编号,但物理位置分散
─────────────────────────────────────────────────────────

三、REG 到 RE 映射

3.1 REG 结构

LTE REG 结构 (正常 CP, 1 天线端口):
─────────────────────────────────────────────────────────
符号 0:
子载波:0   1   2   3   4   5   6   7   8   9  10  11
        [R0][R1][R ][R3][R4][R5][R ][R7][R8][R9][R10][R11]
                          ↑               ↑
                        CRS 位置         CRS 位置

1 REG = 4 连续 RE (排除 CRS)

示例:
REG 0: 子载波 0,1,3,4 (跳过 CRS 位置 2)
REG 1: 子载波 6,7,9,10 (跳过 CRS 位置 8)
─────────────────────────────────────────────────────────

3.2 CRS 位置

CRS 位置公式 (天线端口 0):
─────────────────────────────────────────────────────────
符号 l 的 CRS 位置:
k = 6m + (v + v_shift) mod 6

其中:
m = 0, 1, ..., 2×N_RB - 1
v = 0 (符号 0), v = 3 (符号 4)
v_shift = N_cell_ID mod 6

示例 (N_cell_ID = 0):
符号 0: CRS 在子载波 0, 6, 12, 18, ...
符号 4: CRS 在子载波 3, 9, 15, 21, ...
─────────────────────────────────────────────────────────

四、块交织详解

4.1 交织器参数

PDCCH 块交织器参数:
─────────────────────────────────────────────────────────
列数:32 (固定)
行数:根据输入比特数确定

输入比特数:
AL-1: 72 bits → 3 行 (72/32 ≈ 3)
AL-2: 144 bits → 5 行
AL-4: 288 bits → 9 行
AL-8: 576 bits → 18 行
─────────────────────────────────────────────────────────

4.2 交织流程

块交织流程:
─────────────────────────────────────────────────────────
步骤 1: 按行写入

输入:[b0, b1, b2, ..., bN]

矩阵 (4 行×32 列示例):
行 0:  b0   b1   b2   ...  b30  b31
行 1:  b32  b33  b34  ...  b62  b63
行 2:  b64  b65  b66  ...  b94  b95
行 3:  b96  b97  b98  ...  b126 b127

步骤 2: 列置换

置换模式 P(j):
P = [0, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, ...]

置换后:
行 0:  b0   b16  b8   b24  b4   b20  b12  b28  ...

步骤 3: 按列读出

输出:[b0, b32, b64, b96, b16, b48, b80, b112, ...]
─────────────────────────────────────────────────────────

4.3 交织伪代码

def block_interleave(input_bits, num_cols=32):
    """
    LTE PDCCH 块交织
    """
    N = len(input_bits)
    num_rows = ceil(N / num_cols)

    # 填充到矩阵大小
    padded_bits = input_bits + [0] * (num_rows * num_cols - N)

    # 按行写入
    matrix = []
    for r in range(num_rows):
        row = padded_bits[r * num_cols : (r + 1) * num_cols]
        matrix.append(row)

    # 列置换
    perm_pattern = [0, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, ...]
    permuted_matrix = []
    for row in matrix:
        permuted_row = [row[j] for j in perm_pattern]
        permuted_matrix.append(permuted_row)

    # 按列读出
    output_bits = []
    for c in range(num_cols):
        for r in range(num_rows):
            output_bits.append(permuted_matrix[r][c])

    return output_bits[:N]  # 去除填充

五、循环移位

5.1 移位量计算

循环移位量:
─────────────────────────────────────────────────────────
shift = (N_cell_ID + 子帧号) mod N_bits

其中:
N_cell_ID = 小区 ID (0-503)
子帧号 = 0-9 (FDD)
N_bits = 交织后比特数

目的:
- 小区间干扰随机化
- 避免相邻小区 PDCCH 碰撞
─────────────────────────────────────────────────────────

示例:
N_cell_ID = 10
子帧号 = 5
N_bits = 144 (AL-2)

shift = (10 + 5) mod 144 = 15

5.2 移位操作

循环移位:
─────────────────────────────────────────────────────────
output[i] = input[(i + shift) mod N]

示例 (N=8, shift=3):
输入: [b0, b1, b2, b3, b4, b5, b6, b7]
输出: [b3, b4, b5, b6, b7, b0, b1, b2]
       ↑                    ↑
     i=0                  i=5
─────────────────────────────────────────────────────────

六、资源映射实例

6.1 完整实例 (AL-2)

场景:20MHz 系统,AL-2, CCE 索引=5

步骤 1: 确定 CCE 资源
CCE 5 占用 REG: 45, 46, 47, 48, 49, 50, 51, 52, 53
CCE 6 占用 REG: 54, 55, 56, 57, 58, 59, 60, 61, 62

步骤 2: REG 到 RE 映射
REG 45: 符号 0, RB 15, 子载波 [0,1,3,4] (排除 CRS)
REG 46: 符号 0, RB 15, 子载波 [6,7,9,10]
...

步骤 3: 块交织
输入:144 bits (AL-2)
矩阵:5 行×32 列
列置换后按列读出

步骤 4: 循环移位
shift = (N_cell_ID + 子帧号) mod 144
输出移位后比特

步骤 5: 调制映射
QPSK: 144 bits → 72 symbols

步骤 6: 资源映射
72 symbols → 72 RE (18 REG × 4 RE)

七、多天线映射

7.1 发射分集

SFBC (Space Frequency Block Code):
─────────────────────────────────────────────────────────
2 天线端口:

天线端口 0:  [s0, s1, s2, s3, ...]
天线端口 1:  [-s1*, s0*, -s3*, s2*, ...]

其中:
s0, s1, s2, s3 = QPSK 符号
* = 共轭

获得空间分集增益
─────────────────────────────────────────────────────────

7.2 预编码

1
2
3
4
5
6
7
8
9
LTE PDCCH 预编码:
─────────────────────────────────────────────────────────
透明预编码 (CRS 解调):
W = I (单位矩阵)

ePDCCH (DMRS 解调):
支持波束赋形
W = 预编码矩阵 (基于 PMI 或波束管理)
─────────────────────────────────────────────────────────

八、本章小结

关键要点

  1. CCE-REG 映射: 1 CCE = 9 REG,分散分布
  2. REG-RE 映射: 1 REG = 4 RE,避开 CRS
  3. 块交织: 32 列矩阵,频率分集
  4. 循环移位: 小区间干扰随机化
  5. 发射分集: SFBC (2 天线)

下一章预告

下一章 05-LTE-控制区域详解.md 将深入讲解: - PCFICH 结构与功能 - PHICH 资源配置 - 控制区域容量计算 - 实例分析


文档版本:v1.0
最后更新:2026-03-27
作者:AI Assistant