<!-- title: 信号处理基础：FFT与信道编码原理图解 -->

# 信号处理基础：从傅里叶变换到5G信道编码，理解通信的"底层算力"

## 一、从一个和弦说起：为什么信号需要"拆解"

想象你听到一段钢琴和弦——三个键同时按下，耳朵听到的是一个"整体声音"。但你的大脑其实能分辨出其中包含了哪些音符。这个"把混合声音拆成独立频率成分"的过程，就是**傅里叶变换**在做的事情。

在移动通信中，基站发出的射频信号同样是一个"混合体"——它包含了成百上千个用户的数据、导频信号、控制信息，全部叠加在一起。如果不能把这个混合信号精准地拆解开来，通信根本无法实现。

**信号处理就是通信系统的"底层算力"**。它包含两大核心任务：

| 任务 | 含义 | 关键技术 |
|------|------|----------|
| **信号变换** | 在时域和频域之间转换，实现多载波调制 | FFT / IFFT |
| **差错控制** | 在噪声信道中保护数据完整性 | LDPC码 / Polar码 |

本文将从直觉出发，用图解方式拆解这四大技术原理，让读者不仅知道"怎么用"，更理解"为什么这样设计"。

---

## 二、FFT与IFFT：通信系统的心脏

### 2.1 傅里叶变换的直觉——"彩虹拆白光"

牛顿用三棱镜把白光拆成彩虹，证明白光是多种颜色（频率）的混合。傅里叶变换就是数学上的"三棱镜"：

- **正变换（FFT）**：把时域信号"拆"成各频率分量 → 看到频谱
- **逆变换（IFFT）**：把各频率分量"合"回时域信号 → 恢复波形

```
时域信号（看到波形随时间变化）
    ⇅ FFT（拆解）
频域信号（看到包含哪些频率成分）
    ⇅ IFFT（合成）
时域信号（恢复原始波形）
```

### 2.2 DFT的数学定义

离散傅里叶变换（DFT）将长度为N的时域序列 $\{x[0], x[1], \ldots, x[N-1]\}$ 变换为频域序列 $\{X[0], X[1], \ldots, X[N-1]\}$：

$$X[k] = \sum_{n=0}^{N-1} x[n] \cdot e^{-j \frac{2\pi}{N} k n}, \quad k = 0, 1, \ldots, N-1$$

逆变换（IDFT）：

$$x[n] = \frac{1}{N} \sum_{k=0}^{N-1} X[k] \cdot e^{j \frac{2\pi}{N} k n}, \quad n = 0, 1, \ldots, N-1$$

**为什么DFT不够用？** 直接按公式计算，复杂度是 $O(N^2)$。当 $N=1024$ 时需要约100万次复数乘法。在5G系统中，OFDM的FFT点数可能高达4096甚至更大，按 $O(N^2)$ 实时处理根本不可能。

### 2.3 FFT：让DFT飞起来的分治魔法

**FFT（快速傅里叶变换）** 的核心思想是**分治（Divide and Conquer）**：

> 把一个N点的DFT，拆成两个N/2点的DFT，递归分解直到只剩1点。

```mermaid
graph TD
    A["N点DFT<br/>O(N²)"] --> B["偶数序号样本<br/>N/2点DFT"]
    A --> C["奇数序号样本<br/>N/2点DFT"]
    B --> D["N/4点DFT"]
    B --> E["N/4点DFT"]
    C --> F["N/4点DFT"]
    C --> G["N/4点DFT"]
    D --> H["...直到1点DFT<br/>直接就是数据本身"]
    E --> H
    F --> H
    G --> H

    style A fill:#ff6b6b,color:#fff
    style H fill:#4ecdc4,color:#fff
```

**复杂度对比：**

| 方法 | 复杂度 | N=1024时运算量 | N=4096时运算量 |
|------|--------|---------------|---------------|
| 直接DFT | $O(N^2)$ | ~100万次 | ~1600万次 |
| FFT | $O(N \log_2 N)$ | ~1万次 | ~4.8万次 |
| **加速比** | — | **约100倍** | **约330倍** |

这就是1965年Cooley-Tukey算法的伟大之处：它让傅里叶变换从"数学理论"变成了"工程实用"。

### 2.4 FFT在OFDM中的角色——发射端用IFFT，接收端用FFT

这是很多初学者的困惑点：**为什么OFDM发射端用IFFT而不是FFT？**

**直觉理解：**

- 发射端：我们手里有的是**频域数据**（各子载波上的调制符号），需要把它们**合成**成一路时域信号发送出去 → 这是"从频域到时域"→ 用**IFFT**
- 接收端：收到的是**时域信号**，需要把它**拆解**回各子载波的频域数据 → 这是"从时域到频域"→ 用**FFT**

```mermaid
graph TD
    subgraph 发射端
        A1["比特流"] --> A2["QAM映射<br/>(频域符号)"]
        A2 --> A3["IFFT<br/>频域→时域"]
        A3 --> A4["加循环前缀CP"]
        A4 --> A5["DAC→射频发射"]
    end

    subgraph 空中接口
        A5 -->|无线信道| B1["天线接收<br/>ADC采样"]
    end

    subgraph 接收端
        B1 --> B2["去CP"]
        B2 --> B3["FFT<br/>时域→频域"]
        B3 --> B4["信道均衡"]
        B4 --> B5["QAM解调<br/>→比特流"]
    end

    style A3 fill:#ff9f43,color:#fff
    style B3 fill:#54a0ff,color:#fff
```

**类比：** 想象一支合唱团。IFFT是"指挥"——把每个人（子载波）要唱的音符（数据符号）合成为统一的声音（时域波形）。FFT是"耳朵"——从听到的混合声中分辨出每个人唱的是什么。

### 2.5 FFT点数如何选择？——工程中的权衡

在5G NR中，FFT大小 $N_{FFT}$ 与子载波间隔（SCS）和信道带宽直接相关：

| 参数 | 关系 |
|------|------|
| 采样率 $f_s$ | $f_s = N_{FFT} \times \Delta f$，其中 $\Delta f$ 是子载波间隔 |
| 有用子载波数 | 不超过 $N_{FFT}$，通常小于 $N_{FFT}$（留保护频带） |
| CP长度 | $N_{FFT} / (1 + \text{CP比例})$ 的一个OFDM符号中有用部分占的比例 |

| 5G NR典型配置 | 带宽 | SCS | FFT大小 | 有用子载波 |
|--------------|------|-----|---------|-----------|
| 100MHz | 100MHz | 30kHz | 4096 | 3276 |
| 50MHz | 50MHz | 15kHz | 4096 | 3168 |
| 10MHz | 10MHz | 15kHz | 1024 | 600 |

**实战意义：** FFT点数越大，频域分辨率越高（子载波越窄），但时域OFDM符号越长，时延也越大。这就是为什么5G支持灵活的 numerology（子载波间隔可配），让系统在高分辨率和低时延之间灵活取舍。

---

## 三、信道编码：给数据穿上"防弹衣"

### 3.1 为什么需要信道编码？

无线信道是一个极其恶劣的传输环境：

- **噪声**：热噪声、人为噪声
- **衰落**：信号经过反射、折射后互相叠加，可能增强也可能抵消
- **干扰**：来自其他用户、其他小区的信号

如果直接把原始数据发出去，接收端大概率会收到错误比特。**信道编码**的思路是：

> **在发送前，给数据加上"冗余校验信息"。接收端利用这些冗余信息来发现和纠正错误。**

这就像寄快递时在箱子里塞泡沫——虽然增加了体积（开销），但保护了内容物（数据）的完好。

**编码效率（码率）** 的定义：

$$R = \frac{K}{N}$$

其中 $K$ 是信息比特数，$N$ 是编码后的总比特数。码率越低，冗余越多，保护越强，但有效传输速率也越低。

### 3.2 信道编码的演进路线

| 代际 | 数据信道编码 | 控制信道编码 | 核心突破 |
|------|------------|------------|----------|
| 2G GSM | 卷积码 | 卷积码 | 引入纠错编码概念 |
| 3G WCDMA | Turbo码 | 卷积码 | Turbo码逼近香农极限 |
| 4G LTE | Turbo码 |咬尾卷积码 | Turbo码成熟应用 |
| **5G NR** | **LDPC码** | **Polar码** | 两种码分工协作，各司其职 |

**5G为什么抛弃Turbo码？**

Turbo码在4G时代表现优异，但它有两个致命短板：
1. **高吞吐量场景性能瓶颈**：Turbo码的串行迭代译码结构难以并行化，无法支撑5G eMBB场景20Gbps的峰值速率
2. **短码性能不足**：在URLLC等短包场景下，Turbo码性能明显下降

**3GPP的最终决策：**

- **LDPC码** → 负责数据信道（PDSCH下行/PUSCH上行），因为LDPC天然适合**高吞吐量、大块数据**
- **Polar码** → 负责控制信道（DCI下行控制信息/UCI上行控制信息），因为Polar码在**短包、高可靠**场景表现突出

```mermaid
graph TB
    subgraph "5G NR信道编码架构"
        A["待传输数据"] --> B{"数据类型?"}
        B -->|"数据信道<br/>PDSCH/PUSCH"| C["LDPC编码<br/>擅长: 大块数据、高吞吐"]
        B -->|"控制信道<br/>DCI/UCI"| D["Polar编码<br/>擅长: 短包、高可靠"]
        C --> E["调制 → IFFT → 发射"]
        D --> E
    end

    style C fill:#ff6348,color:#fff
    style D fill:#7bed9f,color:#333
```

---

## 四、LDPC码原理：稀疏矩阵的神奇力量

### 4.1 从发明到被"重新发现"

LDPC（Low-Density Parity-Check，低密度奇偶校验码）的故事极具戏剧性：

- **1962年**：Robert Gallager在博士论文中提出LDPC码，理论优美但计算量远超当时的硬件能力
- **1990年代**：被David MacKay等人"重新发现"，此时芯片算力已大幅提升
- **2016年**：3GPP确认LDPC码为5G NR数据信道编码方案

> **教训：** 一个技术从理论提出到工程实用，可能需要50年。好的理论不怕等。

### 4.2 核心原理——奇偶校验矩阵H

LDPC码的核心是一个**稀疏的校验矩阵 H**（"低密度"指的是矩阵中1的密度很低）：

$$\mathbf{H} \cdot \mathbf{c}^T = \mathbf{0}$$

其中 $\mathbf{c}$ 是有效码字。所有满足这个方程的向量 $\mathbf{c}$ 都是合法码字。

**例子：** 一个简单的(6,3) LDPC码校验矩阵：

$$H = \begin{bmatrix} 1 & 1 & 0 & 1 & 0 & 0 \\ 0 & 1 & 1 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 & 1 & 1 \\ 0 & 0 & 1 & 1 & 0 & 1 \end{bmatrix}$$

矩阵中只有少量"1"，大部分是"0"——这就是"低密度"的含义。

### 4.3 Tanner图——让校验关系可视化

校验矩阵 H 可以用**Tanner图**（二部图）来可视化：

```mermaid
graph LR
    subgraph "变量节点 (Variable Nodes) — 代表码字比特"
        V1["c₁"]
        V2["c₂"]
        V3["c₃"]
        V4["c₄"]
        V5["c₅"]
        V6["c₆"]
    end

    subgraph "校验节点 (Check Nodes) — 代表校验方程"
        C1["f₁"]
        C2["f₂"]
        C3["f₃"]
        C4["f₄"]
    end

    V1 --- C1
    V1 --- C3
    V2 --- C1
    V2 --- C2
    V3 --- C2
    V3 --- C4
    V4 --- C1
    V4 --- C4
    V5 --- C2
    V5 --- C3
    V6 --- C3
    V6 --- C4

    style V1 fill:#74b9ff,color:#333
    style V2 fill:#74b9ff,color:#333
    style V3 fill:#74b9ff,color:#333
    style V4 fill:#74b9ff,color:#333
    style V5 fill:#74b9ff,color:#333
    style V6 fill:#74b9ff,color:#333
    style C1 fill:#fd79a8,color:#fff
    style C2 fill:#fd79a8,color:#fff
    style C3 fill:#fd79a8,color:#fff
    style C4 fill:#fd79a8,color:#fff
```

**类比理解：** 变量节点是"学生"，校验节点是"考试"。每场考试检查几个学生的答案是否一致。如果某学生出错（比特翻转），通过多场考试之间的信息交换（消息传递），就能定位并纠正错误。

### 4.4 译码过程——置信传播（Belief Propagation）

LDPC的译码不是"一次算出答案"，而是通过**迭代消息传递**逐步收敛到正确码字：

```mermaid
sequenceDiagram
    participant Channel as 信道接收端
    participant VN as 变量节点
    participant CN as 校验节点
    
    Channel->>VN: 初始化LLR值<br/>(基于接收信号)
    
    loop 迭代 (通常5~30次)
        VN->>CN: 传递"我认为这个比特是0还是1"<br/>(Variable-to-Check消息)
        CN->>VN: 传递"根据校验方程，建议修正"<br/>(Check-to-Variable消息)
        Note over VN: 更新每个比特的后验概率
    end
    
    VN->>Channel: 输出硬判决结果<br/>(所有校验方程满足则成功)
```

**关键术语解释：**

- **LLR（对数似然比）**：$\text{LLR} = \ln\frac{P(\text{bit}=0)}{P(\text{bit}=1)}$，正数倾向于0，负数倾向于1，绝对值越大越确信
- **迭代收敛**：如果所有校验方程都满足（$H \cdot \hat{c}^T = 0$），译码成功；如果达到最大迭代次数仍未满足，宣告译码失败

### 4.5 5G NR中LDPC码的特殊设计

5G中的LDPC码不是"通用"LDPC，而是经过精心定制的**QC-LDPC（准循环LDPC）**：

| 设计特点 | 说明 |
|---------|------|
| **两张基图** | BG1（大块、高速率）、BG2（小块、低速率） |
| **移位值矩阵** | 基图中的每个"1"被替换为一个循环移位单位矩阵，利于硬件并行 |
| **速率匹配** | 支持打孔（Puncturing）、缩短（Shortening）、重复（Repetition） |
| **IR-HARQ兼容** | 增量冗余HARQ重传时，只需发送额外的校验比特 |

**BG1 vs BG2选择逻辑：**

| 条件 | 使用BG1 | 使用BG2 |
|------|---------|---------|
| 传输块大小 $TBS \leq 292$ | — | ✅ |
| 传输块大小 $292 < TBS \leq 3824$ 且码率 $R \leq 0.67$ | — | ✅ |
| 其他情况 | ✅ | — |

**实战提示：** 调试5G数据信道问题时，如果看到BLER（误块率）异常偏高，要检查：是否选择了错误的基图？打孔模式是否正确？LDPC迭代次数是否足够？

---

## 五、Polar码原理：让信道"两极分化"

### 5.1 极化现象——自然界的"马太效应"

Polar码由土耳其学者Erdal Arıkan于2009年提出，其核心思想是一种反直觉的**信道极化（Channel Polarization）**：

> 把N个相同的信道，通过特定的编码变换，变成两类极端信道——
> 一部分变成"完美信道"（容量→1），另一部分变成"废信道"（容量→0）。
> 信息比特只放在完美信道上传输，废信道发送固定的"冻结比特"。

```mermaid
graph TD
    A["N个相同的<br/>原始信道<br/>(容量=W)"] -->|"极化变换"| B["一部分信道<br/>容量→1<br/>★ 可靠信道<br/>(放信息比特)"]
    A -->|"极化变换"| C["一部分信道<br/>容量→0<br/>✗ 不可靠信道<br/>(放冻结比特)"]

    B --> D["信息比特在可靠信道<br/>上安全传输"]
    C --> E["冻结比特=固定值<br/>接收端已知"]

    style B fill:#2ecc71,color:#fff
    style C fill:#e74c3c,color:#fff
    style A fill:#f39c12,color:#fff
```

**数学直觉：** 极化变换的核心矩阵是：

$$F = \begin{bmatrix} 1 & 0 \\ 1 & 1 \end{bmatrix}$$

对于 $N=2^n$ 的极化码，生成矩阵为：

$$G_N = B_N \cdot F^{\otimes n}$$

其中 $B_N$ 是比特反转置换矩阵，$F^{\otimes n}$ 表示矩阵 $F$ 的 $n$ 次Kronecker积（张量积）。

**$N=2$ 的最简例子：**

$$\begin{bmatrix} u_1 \\ u_2 \end{bmatrix} \xrightarrow{F} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} u_1 \oplus u_2 \\ u_2 \end{bmatrix}$$

经过信道传输后：
- $x_2 = u_2$ 直接经过一个信道 → 可靠性不变
- $x_1 = u_1 \oplus u_2$ 需要从"两个信道的联合"中恢复 → 可靠性下降

递归执行这个过程，随着N增大，信道逐渐两极分化。

### 5.2 编码过程

Polar码 $\mathcal{P}(N, K)$ 的编码（$N$ = 码长，$K$ = 信息比特数）：

1. **可靠性计算**：预先计算 $N$ 个子信道的可靠性排序（5G中使用预定义的可靠性序列）
2. **比特分配**：选择可靠性最高的 $K$ 个子信道放置信息比特，其余放置冻结比特（固定为0）
3. **矩阵乘法**：$\mathbf{x} = \mathbf{u} \cdot G_N$

```mermaid
graph LR
    A["输入向量 u"] --> B["位置0: 冻结比特 0"]
    A --> C["位置1: 冻结比特 0"]
    A --> D["位置2: 信息比特 d₁"]
    A --> E["位置3: 信息比特 d₂"]
    A --> F["位置4: 冻结比特 0"]
    A --> G["位置5: 信息比特 d₃"]
    A --> H["位置6: 信息比特 d₄"]
    A --> I["位置7: 信息比特 d₅"]

    B & C & D & E & F & G & H & I --> J["× 生成矩阵 G₈"]
    J --> K["编码输出 x₁...x₈"]

    style D fill:#2ecc71,color:#fff
    style E fill:#2ecc71,color:#fff
    style G fill:#2ecc71,color:#fff
    style H fill:#2ecc71,color:#fff
    style I fill:#2ecc71,color:#fff
    style B fill:#e74c3c,color:#fff
    style C fill:#e74c3c,color:#fff
    style F fill:#e74c3c,color:#fff
```

### 5.3 译码——连续消除（SC）与SC列表（SCL）

**基本SC译码：** 逐比特顺序译码。对冻结位直接设为已知值；对信息位，根据之前已译出的比特和接收信号计算LLR，做硬判决。

**问题：** SC译码是串行的——一个比特译错，后续所有比特都受影响（错误传播）。

**解决方案——SCL（SC List）译码：**

> 同时维护L条候选路径，保留"最有可能"的L条，最终选择CRC校验通过的那条。

| 参数 | SC | SCL (L=8) |
|------|----|----|
| 复杂度 | $O(N \log N)$ | $O(L \cdot N \log N)$ |
| 性能 | 中等 | 接近最大似然译码 |
| 适用场景 | 理论分析 | **5G NR实际使用** |

**5G NR使用CRC辅助的SCL译码（CA-Polar）：** 发送前在信息比特上附加CRC，译码时用CRC辅助路径选择——只有CRC校验通过的路径才被选为最终结果。这相当于给Polar译码加了一层"质量检验"。

### 5.4 5G NR中Polar码的具体应用

| 参数 | 下行控制信息DCI | 上行控制信息UCI |
|------|---------------|---------------|
| 最大码长 | 512 | 1024 |
| CRC长度 | 24位（分布式） | 6/11位 |
| 载荷大小 | ≥12比特用CA-Polar | ≥12比特用CA-Polar |
| 小载荷（<12比特） | PC-Polar | PC-Polar |

**为什么5G控制信道不用LDPC？**

- 控制信息通常很短（几十比特甚至更少）
- LDPC在小块数据下性能不佳（Tanner图迭代不充分）
- Polar码在短码场景下更接近理论极限
- 控制信息对可靠性要求极高（丢失DCI意味着整个调度失败）

---

## 六、LDPC vs Polar：一张图看清分工

| 对比维度 | LDPC码 | Polar码 |
|---------|--------|---------|
| **5G用途** | 数据信道（PDSCH/PUSCH） | 控制信道（DCI/UCI） |
| **发明时间** | 1962年（Gallager） | 2009年（Arıkan） |
| **核心思想** | 稀疏校验矩阵 + 迭代消息传递 | 信道极化 + 可靠性排序 |
| **译码算法** | 置信传播（BP） | SC列表（SCL）+ CRC辅助 |
| **强项** | 大块数据、高吞吐量 | 短包、高可靠性 |
| **弱项** | 短码性能差 | 长码复杂度高 |
| **并行性** | 高度可并行（适合硬件加速） | 串行依赖（SCL列表缓解） |
| **码率灵活性** | 灵活（支持速率匹配） | 灵活（打孔/缩短/重复） |
| **理论最优性** | 接近香农极限 | 严格达到对称容量 |

**一句话总结：** LDPC是"重卡"——拉得多、跑得快；Polar是"快递车"——小而精准、使命必达。

---

## 七、从原理到实战：工程师调测指南

### 7.1 FFT/IFFT相关调测场景

| 场景 | 可能的问题 | 排查思路 |
|------|-----------|---------|
| OFDM解调失败 | FFT窗口同步偏差 | 检查CP范围内的定时同步 |
| 子载波间干扰（ICI） | 采样钟偏移导致失正交 | 检查晶振精度、频偏补偿 |
| 频域信道估计异常 | FFT点数配置不匹配 | 确认基带参数与协议配置一致 |
| 峰均比（PAPR）过高 | IFFT输出信号幅度波动大 | 检查子载波分配、考虑PAPR降峰 |

### 7.2 信道编码相关调测场景

| 场景 | 可能的问题 | 排查思路 |
|------|-----------|---------|
| 数据信道BLER高 | LDPC迭代次数不够 | 增大最大迭代次数（默认通常5-8次） |
| DCI漏检率高 | Polar码率匹配出错 | 检查聚合等级（AL）配置 |
| HARQ重传无法合并 | IR-HARQ冗余版本（RV）配置错误 | 确认RV序列正确 |
| 小包数据误码 | 可能误用了BG1而非BG2 | 检查传输块大小和码率 |

### 7.3 常见误解与陷阱

**误解1："FFT只是数学工具，不懂也能做通信工程"**

→ FFT/IFFT是OFDM的基石，不理解它就无法理解为什么需要CP、为什么有采样钟要求、为什么子载波要正交。遇到频偏问题时，不懂FFT就无从排查。

**误解2："LDPC比Turbo码好在所有方面"**

→ 在某些中等码长（500~1000比特）、中等码率场景下，成熟的Turbo码实现可能与LDPC性能相当。LDPC的优势主要体现在**极大块长**和**极高吞吐**场景。

**误解3："Polar码是华为发明的"**

→ Polar码由学者Arıkan于2009年在国际学术期刊公开发表。华为在5G标准中大力推动Polar码的应用，并在此基础上有大量工程优化专利，但基础理论本身是学术界成果。

---

## 八、端到端信号处理链路——全景图

把本文所有内容串联起来，一个5G NR下行链路的完整信号处理流程如下：

```mermaid
graph TD
    A["MAC层PDU<br/>(传输块TB)"] --> B["CRC附加<br/>(24位)"]
    B --> C["码块分段<br/>+ 每段CRC"]
    C --> D["LDPC编码<br/>(BG1或BG2)"]
    D --> E["速率匹配<br/>(打孔/重复)"]
    E --> F["码块级联"]
    F --> G["加扰<br/>(小区级/UE级)"]
    G --> H["QAM调制<br/>(QPSK/16QAM/64QAM/256QAM)"]
    H --> I["层映射<br/>(MIMO层数)"]
    I --> J["预编码<br/>(波束赋形权重)"]
    J --> K["RE映射<br/>(资源网格)"]
    K --> L["IFFT<br/>(频域→时域)"]
    L --> M["加CP"]
    M --> N["DAC → 射频 → 天线"]

    style D fill:#ff6348,color:#fff
    style L fill:#ff9f43,color:#fff
```

**控制信道路径的区别：** 步骤D换成"Polar编码"，且载荷通常很小（几十比特），不需要码块分段。

---

## 常见问题

**Q1: FFT和DFT到底是什么关系？**

A: FFT不是一种新的变换，它只是DFT的一种**快速算法**。两者计算的数学结果是相同的，区别仅在计算效率。好比从北京到上海，DFT是走国道（能到但慢），FFT是走高速公路（能到且快得多）。在通信工程中，我们说"做FFT"其实就是"用FFT算法来计算DFT"。

**Q2: 为什么5G数据信道用LDPC而不用Polar码？**

A: 两个原因。第一，LDPC在大块数据场景下译码性能更优，且高度可并行化，能支撑5G的Gbps级吞吐量。第二，Polar码在长码场景下的SCL译码复杂度随列表大小L线性增长，硬件实现代价太高。标准制定时的仿真数据也证实了LDPC在高码率、大块长下的优势。

**Q3: LDPC码的"低密度"到底有多稀疏？**

A: 在5G NR的QC-LDPC中，基图H矩阵的行重（每行中非零元素的个数）通常只有十几到二十几个，而矩阵的总列数可能高达数百甚至数千。这意味着99%以上的元素都是0。这种极端稀疏性使得置信传播译码的每轮迭代只需处理极少的连接，从而实现高速并行译码。

**Q4: 工程上如何选择FFT点数？**

A: FFT点数由系统的**采样率**和**子载波间隔**共同决定：$N_{FFT} = f_s / \Delta f$。5G NR中，基带参数集（numerology）确定了子载波间隔 $\Delta f = 15 \times 2^\mu$ kHz（$\mu=0,1,2,3,4$），然后根据信道带宽确定采样率，进而确定FFT点数。实际配置中，3GPP已经为每种带宽和SCS组合定义了推荐参数，工程师不需要自己计算。

**Q5: Polar码的"冻结比特"为什么不放随机值？**

A: 冻结比特必须放**已知固定值**（通常为0），因为接收端译码器需要"已知这些比特是什么"才能正确译出信息比特。如果冻结比特是随机的且接收端不知道，译码器就无法区分"信息位上的变化"和"冻结位上的噪声"——就好比考试答案中混入了无法识别的题目，评分就乱了。

---

## 参考来源

1. [FFT算法全解析：通信与雷达信号处理的核心工具 — CSDN](https://blog.csdn.net/weixin_63763813/article/details/151228114) — FFT分治原理与蝶形运算详解
2. [5G NR信道编码双雄：LDPC与Polar码关键角色与实战对比 — CSDN](https://blog.csdn.net/weixin_42565652/article/details/159848501) — LDPC与Polar码在5G中的分工与应用
3. [Understanding FFT and IFFT in OFDM — nxgconnect](https://www.nxgconnect.com/post/understanding-fft-and-ifft-in-ofdm) — OFDM系统中FFT/IFFT的角色解释
4. [Demystifying 5G Polar and LDPC Codes — arXiv:2502.11053](https://arxiv.org/abs/2502.11053) — 5G信道编码综述论文
5. [移动通讯中使用的信道编解码技术—NR编解码LDPC和Polar概述 — 技术栈](https://jishuzhan.net/article/1763191561631305729) — 信道编码技术演进综述

---

> 本文由「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)
