通讯中为什么要用 0Hermitian 对称 *只使用“正频率”子载波,负频率部分通过对称性自动生成,从而保证时域信号是实值
是的,Hermitian 对称 的核心作用就是:
只使用“正频率”子载波,负频率部分通过对称性自动生成,从而保证时域信号是实值。
✅ 举个例子(K = 8):
1. 原始频域符号(未做 Hermitian 对称):
假设你只想传 4-QAM 符号 [A, B, C, D]
,但 IFFT 输入必须是复共轭对称的。
2. Hermitian 对称结构(K=8):
子载波索引 | 0(直流) | 1 | 2 | 3 | 4(奈奎斯特) | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
频域数据 | 0 | A | B | C | 0 | C* | B* | A* |
- 正频率部分:子载波 1、2、3(
[A, B, C]
) - 负频率部分:子载波 5、6、7(
[C*, B*, A*]
),是 3、2、1 的共轭对称 - 直流(0)和奈奎斯特(4):通常设为 0(光通信中直流一般不用)
✅ 结论:
- Hermitian 对称后,你只需填“正频率”子载波(比如索引 1 到 K/2-1);
- 负频率子载波会自动镜像生成,不需要你手动处理;
- 所以代码里只算“正频率”数量(K//4 或 K//4 - 1)就够了。
⚠️ 注意:
- 这里的“正频率”是指 非负频率部分,包括直流(0)和奈奎斯特(K/2);
- 但在光通信(ACO/DCO-OFDM)中,通常直流和奈奎斯特子载波会被置零,所以实际只填索引 1 到 K/2-1 中的奇数或偶数子载波。
原理一句话:
Hermitian 对称只是把“正频率”子载波照镜 子贴到负频率,贴完以后 IFFT 的输出天然就是实数;你不贴就得不到实数,就这么简单,不麻烦。
如果不做 Hermitian 对称,直接把一串任意的复数符号(如 4-QAM 符号 [A, B, C, D]
)送进 IFFT,结果会是:
-
时域信号变成复数,而不是实数。
因为 IFFT 输出的每个样点都是复数,包含实部和虚部。 -
无法直接用于光强度调制(IM/DD)系统。
光通信常用的是“光强度调制-直接检测”,只能传输非负的实值电流信号;复数或负值信号无法直接驱动 LED / 激光器。 -
频谱不再共轭对称。
负频率处没有自动镜像的共轭分量,导致频谱不对称,浪费带宽或产生镜像干扰。 -
接收端做 FFT 后得到的仍是原复数符号,但整个系统链路(DAC、光电器件)无法直接处理复数信号,需要额外的正交调制器或双路 DAC,硬件复杂度显著增加。
一句话总结:不做 Hermitian 对称,IFFT 输出就是复数信号,不能直接用于需要实值信号的系统(如光通信、射频零中频发射等)。
你是对的,上面的计算把“Hermitian 对称后只剩一半子载波”这一事实忽略了,所以比特数的估算偏大了一倍。
✅ 正确思路(以 ACO-OFDM 为例):
- 原始 FFT 点数:
K
- Hermitian 对称后:
- 正频率有效子载波只剩一半:
K/2
(索引 1…K/2-1) - ACO-OFDM 只用其中 奇数子载波:
(K/2)/2 = K/4
个
- 正频率有效子载波只剩一半:
- 但是!
这K/4
个子载波才是 真正可用的独立子载波(Hermitian 对称会自动补全负频率),不能再乘 2。
✅ 所以,每个 OFDM 符号真正可用的“独立子载波”数量:
方案 | 独立子载波数(每符号) |
---|---|
ACO-OFDM | K // 4 |
DCO-OFDM | K // 4 - 1 |
✅ 每符号携带的比特数(修正):
bits_per_symbol_aco = (K // 4) * log2(M)
bits_per_symbol_dco = (K // 4 - 1) * log2(M)
如果 M
是你自定义的“每子载波符号数”,那用 M
也行,但要保证 M
就是 log2(调制阶数)
。
⚠️ 你之前的代码问题:
self.payloadBits_aco = self.Kon_aco * M * num_symbols
- 如果
M
是调制阶数(如 4),那还要乘以log2(M)
才是比特数; - 如果
M
已经代表“每子载波比特数”,那公式是对的; - 但 不需要再“去掉一半”,因为
K//4
已经是对称后的独立子载波数。
✅ 一句话总结:
K//4
已经是对称后剩下的独立子载波数,不要再减半;直接乘log2(调制阶数)
就是每符号的比特数。
DCO-OFDM 的 Hermitian 对称做法与 ACO-OFDM 不同,核心区别是:
| ACO-OFDM | DCO-OFDM |
---|---|---|
Hermitian 对称 | 必须 | 必须 |
填充哪些子载波 | 仅奇数正频率子载波 (1,3,5,…) | 全部正频率子载波 (除直流/奈奎斯特外) |
直流子载波 | 置 0 | 置 0 |
奈奎斯特子载波 | 置 0 | 置 0 |
负频率子载波 | 共轭镜像奇数正频率 | 共轭镜像全部正频率 |
结果 | 实值信号, 再削负值 | 实值信号, 加直流偏置 |
✅ 一句话总结
DCO-OFDM 同样需要 Hermitian 对称,但填充的是“全部正频率子载波”(除直流/奈奎斯特),再共轭镜像到负频率,确保 IFFT 输出为实值信号。