本节摘要:SOURCE 2.3:CP 复制符号尾部到前端,长度 T_{CP}>\tau_{max},使信道作用为循环卷积,FFT 后对角化信道矩阵。
无 CP:线性卷积 → 符号间 ISI,需复杂时域均衡。
有 CP:接收去 CP 后等价循环卷积 → 频域 Y_k=H_k X_k+N_k。
| 参数 | 设计考虑 |
|---|---|
| T_{CP} | ≥ 信道最大时延扩展 |
| 开销 | T_{CP}/(T_{CP}+T_{sym}) |
| 扩展 CP | LTE 模式支持大小区 |
LTE 常规 CP 约 4.7μs,扩展 CP 模式用于广播/大覆盖;5G NR 多种 numerology 对应不同 CP 比例。
⚠️ 常见坑:CP 过短 → 仍 ISI;过长 → 频谱效率降。
💡 关键直觉:CP 是用冗余换均衡复杂度骤降。
无线信道的多径传播使接收信号由多个时延不同的副本叠加而成。若最大时延与最小时延之差为 \tau_{max},则信道冲激响应在时间轴上占据 \tau_{max} 的跨度。对单载波系统,符号周期 T_s 若小于 \tau_{max},前一个符号的拖尾会侵入后一个符号,产生符号间干扰。对 OFDM 系统,多径还会引入另一重破坏:不同路径的时延使 FFT 窗口内的相位旋转不一致,若不加处理,子载波正交性将被破坏,产生子载波间干扰。
工程上 \tau_{max} 的典型量级随场景变化:室内 50-300 ns,城市宏小区 1-5 μs,山区或广域覆盖可达 20 μs 以上。LTE 常规 CP 约 4.7 μs、扩展 CP 约 16.7 μs,正是为覆盖不同量级的时延扩展而设计。CP 长度的选择本质是在两个风险间取平衡:过短则 ISI/ICI 抬头,过长则频谱效率下降。
CP 的精妙之处在于一个看似简单、实则深刻的数学操作。设 OFDM 时域符号为 \mathbf{x}=[x_0,x_1,\dots,x_{N-1}],无 CP 时信号经信道 h[n] 作用为线性卷积:
线性卷积的结果长度变为 N+L-1(L 为信道长度),FFT 无法直接对角化。加 CP 时,把符号尾部 N_{CP} 个采样复制到前端:
接收端丢弃前 N_{CP} 个采样后,只要 N_{CP} \geq L-1,剩余 N 个采样恰好等于 \mathbf{x} 与 h 的循环卷积。循环卷积定理保证:时域循环卷积等价于频域逐点相乘,即 FFT 后得到:
于是多径信道的时域弥散,被 CP 干净地"折叠"进了每个子载波的一个复增益 H_k。均衡因此退化为一次复除法——这是 OFDM 全部工程优势的数学根基。换句话说,CP 不是用来"留白"的,而是把线性的、混乱的信道作用,重塑为循环的、可对角化的结构。
实际标准对 CP 的取值体现了对覆盖、速率与时延的联合考量。以 LTE 为例:子载波间隔 15 kHz,有效符号周期 T=66.7\mu s,常规 CP 首符号 5.2 μs、其余符号 4.7 μs,开销约 6.7%;扩展 CP 全部 16.7 μs,开销约 20%,用于大区覆盖与 MBMS 广播。开销换来的,是 \tau_{max} 容忍度从约 4.7 μs 提升到 16.7 μs,覆盖半径显著增大。
5G NR 把 CP 设计进一步参数化。每个 numerology 用 \mu 索引:子载波间隔 = 15\times 2^\mu kHz,符号周期与 CP 按同样比例缩放。高速移动场景(如高铁)使用大间隔小 CP 组合,以抵御多普勒扩展;广域覆盖场景使用小间隔长 CP 组合,以应对大时延扩展。NR 还引入了"扩展 CP"作为独立选项,配合特定 numerology 支持超远距离同步。下表给出典型组合:
| numerology μ | Δf | 符号周期 | 常规 CP | 典型场景 |
|---|---|---|---|---|
| 0 | 15 kHz | 66.7 μs | 4.7 μs | 宏小区覆盖 |
| 1 | 30 kHz | 33.3 μs | 2.3 μs | 一般城市 |
| 2 | 60 kHz | 16.7 μs | 1.2 μs | 密集城区、uRLLC |
| 3 | 120 kHz | 8.3 μs | 0.6 μs | 高速、毫米波 |
下面扩展 2.2 节的仿真,扫描不同 CP 长度,观察 ISI 对解调误码率的直接影响。信道设两径,第二径时延 10 个采样。
import numpy as np from numpy.fft import fft, ifft N = 64 bits_rng = np.random.default_rng(0) noise_rng = np.random.default_rng(1) h = np.zeros(12); h[0] = 0.8; h[10] = 0.5 # 时延扩展 10 采样 H = fft(h, N) # 理想信道频响 def run(N_CP, n_trials=2000): err = 0; total = 0 for _ in range(n_trials): bits = bits_rng.integers(0, 2, 2 * N) X = (bits[0::2].astype(int)*2-1 + 1j*(bits[1::2].astype(int)*2-1)) / np.sqrt(2) x = ifft(X) x_cp = np.concatenate([x[-N_CP:], x]) y = np.convolve(x_cp, h)[:N + N_CP] y = y + noise_rng.normal(0, 0.15, N + N_CP) * (1 + 1j) / np.sqrt(2) Y = fft(y[N_CP:]) / H # 去 CP、FFT、单抽头均衡 rx = np.stack([(Y.real > 0).astype(int), (Y.imag > 0).astype(int)], 1).flatten() err += np.sum(rx != bits); total += bits.size return err / total for cp in [0, 4, 9, 10, 12, 16]: print(f"N_CP={cp:2d} BER={run(cp):.4f}")
注意观察:CP 长度小于时延扩展(10)时误码明显偏高,达到 10 之后误码降到噪声底。这直观验证了"CP 长度必须超过最大时延扩展"的设计准则。
CP 只有几十个采样,却改变了整个物理层的复杂度结构。它让频域均衡成为可能,让 MIMO 检测可以逐子载波独立进行,让资源网格可以按子载波×符号组织。几乎所有 OFDM 的衍生能力——AMC、频选调度、OFDMA——都以"每子载波独立"为前提,而这一前提的成立,CP 功不可没。理解 CP,就理解了 OFDM 为什么能以最小的工程成本,驯服最顽固的多径信道。
CP 不是对抗多径的唯一手段,理解替代方案有助于反衬 CP 的价值。**零填充(ZP)**方案在符号间插入全零保护间隔,接收端先做加性重叠相加以恢复循环结构,再执行 FFT。ZP 在节省发射功率(不发送冗余)与避免循环重复上有理论优势,但接收端需要额外的重叠相加运算,且对定时的要求更严格,工程收益不明确。重叠保留与加权叠加(WOLA、加窗 OFDM)则通过窗函数平滑符号边界,以轻微性能损失换取旁瓣大幅衰减,主要用于频谱整形而非抗多径。
这些方案与 CP 的本质区别在于:CP 同时解决了"循环化"与"定时容错"两个问题——它让接收端即使定时略有偏差,只要窗口起点仍落在 CP 内,循环结构就保持完整。ZP 需要精确的帧对齐,容错性差。这也是 CP 从 802.11a 到 5G NR 始终被采用的原因:它不仅数学上必要,工程上还提供裕量。理解这一点,就能明白为什么"CP 开销"在三十多年的标准演化中从未被取消,只是被不断参数化。