OFDM 接收机仿真与训练
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_a09e7c7f/ofdm-receiver-setup。
技能介绍
要解决什么问题
传统 OFDM 接收机往往把信道估计、均衡和解调拆成多个模块,参数和接口一多,仿真与算法对比就容易「各写一套」。若还要在瑞利衰落、WINNER II 等信道下扫信噪比并导出训练数据,MATLAB 链路与 Python 侧网络结构还必须对齐输入维度与标签定义,否则 BER 曲线对上了,深度学习数据集却可能对不上。
本技能把任务拆成两条可验收的流水线:固定参数的 OFDM 仿真平台(QPSK、128 子载波、CP=32)与 固定拓扑的 FCN 智能接收机基准,便于复现论文式对比或作为后续更复杂模型的起点。
技能如何工作
任务一:链路仿真与数据集
- 发射端:随机 QPSK → IFFT → 加循环前缀;每帧 128 符号(可先理想信道估计)。
- 信道:
AWGN、瑞利衰落(Jakes)、WINNER II;SNR 0~20 dB,步进 2 dB。 - 接收预处理:去 CP → FFT 得到频域符号。
- 样本:256 维实向量(128 路 I/Q),标签为四类 QPSK;目标规模 100,000 组,80% 训练 / 20% 测试。
- 验收:跑通仿真并绘制 BER 曲线与理论值对比。
任务二:FCN 基准训练(PyTorch)
网络结构固定:输入 256 → 隐藏层 128/64/32(ReLU)→ 输出 4(Softmax)。训练侧固定 Adam、lr 0.001、CrossEntropyLoss、batch 128、30 epochs;学习率调度可用 StepLR 或 ReduceLROnPlateau。
环境侧需 MATLAB R2021a+ 与 Communications Toolbox 做链路;Python 3.8+、PyTorch 1.10+ 及 NumPy/Matplotlib 负责训练与可视化;SciPy 可选用于 .mat 数据交换。
适用边界与注意点
- 子载波数、调制、CP 长度、帧结构与 SNR 网格在 SKILL 里是硬约束,偏离后需自行改数据维度和标签映射。
- 本阶段接收侧重「去 CP + FFT」后的频域特征分类,不等同于完整商用接收机(同步、导频设计、高级均衡等需另建模块)。
- FCN 是基准模型,在强衰落或极低 SNR 下的表现需结合 BER 与混淆矩阵解读,不宜直接当作最终系统方案。
使用场景
- 课程或开题要求按 128 子载波 QPSK、CP=32 在 MATLAB 搭 OFDM 链路并画 BER 与理论对比
- 要在 AWGN、瑞利(Jakes)、WINNER II 下按 0~20 dB 步进 2 dB 批量生成 256 维 I/Q 训练样本
- 论文实验需要固定 FCN(256→128→64→32→4)在十万级数据集上训练并报告测试集误码
- 组内要对传统 FFT 后处理与 Softmax 分类接收机做同一 SNR 网格下的基准对比
适合人员
- 通信工程研究生,论文章节要写清 OFDM 仿真参数、数据集划分与智能接收机基准结果
- 无线物理层算法工程师,需要可复现的 Simulink/MATLAB 平台再接入自有均衡或估计模块
- 主讲 OFDM 或数字通信的助教,要统一实验验收项(BER 曲线、样本维度、训练超参)方便批改
- 做接收端机器学习的研发,要把 .mat 链路输出对齐 PyTorch 交叉熵训练与四类 QPSK 标签