当前位置: 首页 > news >正文

通讯中为什么要用 0Hermitian 对称 *只使用“正频率”子载波,负频率部分通过对称性自动生成,从而保证时域信号是实值

是的,Hermitian 对称 的核心作用就是:

只使用“正频率”子载波,负频率部分通过对称性自动生成,从而保证时域信号是实值。


✅ 举个例子(K = 8):

1. 原始频域符号(未做 Hermitian 对称):

假设你只想传 4-QAM 符号 [A, B, C, D],但 IFFT 输入必须是复共轭对称的。

2. Hermitian 对称结构(K=8):
子载波索引0(直流)1234(奈奎斯特)567
频域数据0ABC0C*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,结果会是:

  1. 时域信号变成复数,而不是实数。
    因为 IFFT 输出的每个样点都是复数,包含实部和虚部。

  2. 无法直接用于光强度调制(IM/DD)系统
    光通信常用的是“光强度调制-直接检测”,只能传输非负的实值电流信号;复数或负值信号无法直接驱动 LED / 激光器。

  3. 频谱不再共轭对称
    负频率处没有自动镜像的共轭分量,导致频谱不对称,浪费带宽或产生镜像干扰。

  4. 接收端做 FFT 后得到的仍是原复数符号,但整个系统链路(DAC、光电器件)无法直接处理复数信号,需要额外的正交调制器或双路 DAC,硬件复杂度显著增加。

一句话总结:不做 Hermitian 对称,IFFT 输出就是复数信号,不能直接用于需要实值信号的系统(如光通信、射频零中频发射等)。

你是对的,上面的计算把“Hermitian 对称后只剩一半子载波”这一事实忽略了,所以比特数的估算偏大了一倍


✅ 正确思路(以 ACO-OFDM 为例):

  1. 原始 FFT 点数K
  2. Hermitian 对称后
    • 正频率有效子载波只剩一半:K/2(索引 1…K/2-1)
    • ACO-OFDM 只用其中 奇数子载波(K/2)/2 = K/4
  3. 但是!
    K/4 个子载波才是 真正可用的独立子载波(Hermitian 对称会自动补全负频率),不能再乘 2

✅ 所以,每个 OFDM 符号真正可用的“独立子载波”数量:

方案独立子载波数(每符号)
ACO-OFDMK // 4
DCO-OFDMK // 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-OFDMDCO-OFDM
Hermitian 对称必须必须
填充哪些子载波仅奇数正频率子载波
(1,3,5,…)
全部正频率子载波
(除直流/奈奎斯特外)
直流子载波置 0置 0
奈奎斯特子载波置 0置 0
负频率子载波共轭镜像奇数正频率共轭镜像全部正频率
结果实值信号,
再削负值
实值信号,
加直流偏置

✅ 一句话总结

DCO-OFDM 同样需要 Hermitian 对称,但填充的是“全部正频率子载波”(除直流/奈奎斯特),再共轭镜像到负频率,确保 IFFT 输出为实值信号。

http://www.lryc.cn/news/604021.html

相关文章:

  • 记一次导出pdf表单引发的问题
  • 【RAG搭建Agent应用实战】基于检索增强生成(RAG)搭建特定场景Agent应用
  • 验证pyspark提交参数指定环境变量生效
  • HbuilderX开发小程序
  • Java面试宝典:MySQL8新特性底层原理
  • 【nerf处理视频数据】Instant-NGP项目NeRF模型训练数据集准备指南
  • React--》规划React组件库编码规范与标准 — Button篇
  • 解决Spring MVC中@PathVariable参数为null导致的404问题:全面解析与最佳实践
  • 树形结构递归查询与嵌套结构转换:Flask + PostgreSQL 完整实现
  • EnergyMath芯祥代理 EMS4100可替代 ASW3410
  • 【牛客网C语言刷题合集】(五)——主要二进制、操作符部分
  • 深入解析mediasoup:构建实时音视频通信的高性能SFU解决方案
  • 用LangGraph实现聊天机器人记忆功能的深度解析
  • 深度学习篇---PaddleDetection模型选择
  • 循环神经网络——动手学深度学习7
  • electron-vite 动态加载脚本 实现动态插件
  • 使用jQuery时的注意事项
  • 爬虫逆向之瑞数五案例:某某医学院(补环境,联调)
  • 直播间里的酒旅新故事:内容正在重构消费链路
  • logtrick 按位或最大的最小子数组长度
  • 计算器4.0:新增页签功能梳理页面,通过IO流实现在用户本地存储数据
  • Java注解全面解析与应用实战
  • 三维扫描相机:工业自动化的智慧之眼——迁移科技赋能智能制造新纪元
  • 前端优化之虚拟列表实现指南:从库集成到手动开发
  • MongoDB系列教程-第一章:MongoDB简介、安装 、概念解析、用户管理、连接、实际应用示例
  • Java抽Oracle数据时编码问题
  • Spring Boot with RabbitMQ:四大核心模式指南
  • TDengine 中 TDgpt 异常检测的数据密度算法
  • TDengine 中 TDgpt 异常检测的机器学习算法
  • 中科米堆CASAIM金属件自动3d测量外观尺寸三维检测解决方案