项目说明:全流程OFDM移动通信系统仿真设计与性能分析
项目介绍
本仿真项目实现了一个端到端的正交频分复用(OFDM)移动通信系统模型。该系统不仅覆盖了物理层的基本信号处理环节,还针对移动通信中的典型挑战——如多径衰落、频率偏移和高峰均比(PAPR)——集成了相应的增强算法。通过该系统,用户可以定量评估各功能模块对系统整体误码率(BER)性能的影响。
主要功能特性
- 信道编码与译码:采用 (7, [171 133]) 卷积编码技术,并配合维特比(Viterbi)硬判决译码,有效提升系统在噪声干扰下的纠错能力。
- 高阶调制映射:支持 QPSK(及 16QAM 扩展)星座映射,通过归一化平均功率确保信号幅度稳定。
- PAPR 抑制:集成了选择性映射(SLM)技术原型,通过多组相位序列对信号进行加权处理,选择 PAPR 最优的候选信号。
- 鲁棒同步模块:基于 Schmidl & Cox 算法实现。通过构造具有周期性的前导块(Preamble),在接收端完成定时捕捉和分数倍载波频率偏移(CFO)的估算。
- 频率偏移补偿:针对模拟产生的相位漂移,利用估算的 CFO 值进行信号反向旋转校正。
- 多径信道模拟:构建了 3 径瑞利衰落信道模型,模拟移动环境下信号经过直射、反射、折射产生的多路径干扰。
- 信道估计与均衡:应用最小二乘法(LS)的基本原理进行频域信道响应估计,并采用迫近法(Zero-Forcing)进行信号均衡。
- 蒙特卡洛分析:通过循环迭代不同信噪比(SNR)场景,统计误码数并绘制 BER 性能曲线。
实现逻辑分析
1. 信号发射端流程
系统首先生成随机二进制数据序列,随后进行卷积编码增加冗余。编码后的比特根据调制阶数映射为复数星座点。在构造 OFDM 符号时,算法将串行符号转为并行,每帧加入特定的 S&C 同步头。为了抑制 OFDM 特有的高峰均比,代码中包含了一套 SLM 逻辑,对比四种随机相位的 PAPR 结果。最后,通过 IFFT 将频域数据转换至时域,并添加循环前缀(CP)以抵御 ISI。
2. 真实物理信道模拟
仿真模拟了包含多径时延(0, 2, 5 个采样点)和对应功率增益的瑞利衰落过程。同时,在信号中引入了归一化载波频率偏移(CFO=0.15)以及加性高斯白噪声(AWGN),模拟了多变的无线传播环境。
3. 同步与频率补偿
接收端首先执行 Schmidl & Cox 同步逻辑。通过计算接收信号的自相关轨迹 $M(d)$,寻找相关峰值点以确定 OFDM 帧的起始位置。同时,利用相关峰处的相位差计算频率偏移量,并对接收序列进行相位补偿,以减小正交破坏引起的子载波间干扰(ICI)。
4. 信号恢复与测量
在去除 CP 并进行 FFT 变换回频域后,系统利用导频/信道特征进行 LS 估计。均衡后的信号经过 QAM 解调恢复为比特流,随后送入维特比译码器。由于卷积码和译码器的存在,计算 BER 时通过设定延迟回溯,确保收发比特对齐。
关键算法细节
Schmidl & Cox 算法:代码通过 PreambleHalf 构造了重复的训练符号。在接收端计算滑动窗口内的相关性 P 和能量 R,利用 $M = |P|^2 / R^2$ 进行定时判决。
SLM 技术:通过 Phases 矩阵预生成的相位旋转向量,系统演示了对同一组符号进行多种相位转换并评估最大功率与平均功率比值的逻辑。
卷积码参数:设置约束长度为 7,生成多项式为 [171 133],这是一种在移动通信标准中广泛应用的配置,能在较低信噪比下提供明显的编码增益。
使用说明
运行环境:MATLAB (推荐 R2020b 或更新版本)。
所需工具箱:Communications Toolbox。
运行方式:直接运行脚本。程序将自动执行所有仿真帧的计算,并在完成后弹出四个子图,分别展示:
- BER 与 SNR 的关系曲线。
- 解调均衡后的信号星座图。
- 单个 OFDM 符号的时域波形。
- 实际信道与导频估算点的频域响应对比。
系统要求
- 内存:至少 4GB。
- 处理器:支持多线程(由于采用蒙特卡洛循环,较强的 CPU 能加速计算速度)。
- 软件:MATLAB 及其通信工具箱,确保支持 convenc, vitdec, qammod 等核心函数。