【MATLAB源码】OTFS/OCDM/AFDM:高机动 NTN 均衡对比仿真平台

来源:这里教程网 时间:2026-03-03 23:27:32 作者:

???? OTFS/OCDM/AFDM 高机动 NTN 对比仿真平台

统一信道建模 · 三体制公平对比 · 双检测器性能评估   支持 OTFS / OCDM / AFDM 一键仿真,输出 BER 曲线与结构化结果文件 %20 %20 %20

????%20为什么需要这个项目?

高机动场景下(高速终端、卫星链路)时延-多普勒扩散显著,传统单波形脚本很难回答“到底哪种体制在当前参数下更稳”。常见问题包括:

常见痛点(零散脚本) 本项目解决方式????%20参数不统一,体制对比不公平 ✅%20统一%20
K/L/M/SNR/NTN
%20参数链,三体制同口径
????%20信道模型拆散在多处,难验证正确性 ✅%20通用%20
NTN_channels
+%20兼容封装%20
NTN_channels1/2
????%20只有一种检测器,无法比较检测增益 ✅%20同时支持%20
LMMSE
%20与%20
MMSE-SD
????%20输出文件命名混乱、结果难复现 ✅%20固定文件名输出,单目录清晰落盘????%20演示与正式仿真混在一起
demo
%20与%20
full
%20双模式分离,场景明确

????%20核心价值

????%20研究价值

公平比较框架:同一%20NTN%20参数下评估%20OTFS/OCDM/AFDM。 统一检测口径:在每个体制内同时给出%20LMMSE%20与%20MMSE-SD。 可解释链路:信道构造、域变换、等效信道、检测与%20BER%20统计全链路闭环。 可复现实验:固定随机种子与固定输出行为,便于重复实验和论文复核。

????%20工程价值

模块化结构清晰:入口脚本薄、算法模块独立、工具函数复用。 输出可直接集成:图像%20+%20MAT%20结构化结果适合后处理与报告自动化。 扩展路径明确:新增体制、新增检测器可低耦合接入。 维护门槛低:全中文注释与文档,利于团队协作交接。

⚡%20技术亮点

????️%20完整工程架构

OTFS-OCDM-AFDM/
 ├── run_unified_comparison.m        # 正式仿真入口(full)
 ├── demo_waveform_showcase.m        # 演示入口(demo)
 ├── src/
 │   ├── default_params.m            # 参数工厂:full/demo 模式
 │   ├── prepare_output_dir.m        # 输出目录准备 + 旧结果清理
 │   ├── run_ocdm_simulation.m       # OCDM 仿真主循环
 │   ├── run_afdm_simulation.m       # AFDM 仿真主循环
 │   ├── run_otfs_simulation.m       # OTFS 仿真主循环
 │   ├── NTN_channels.m              # 通用 NTN 信道矩阵构造
 │   ├── NTN_channels1.m             # AFDM 兼容信道封装
 │   ├── NTN_channels2.m             # OCDM(含CP)兼容信道封装
 │   ├── mmse_sd_detector_unified.m  # MMSE-SD 统一检测器
 │   ├── normalize_channel_matrix.m  # 信道归一化
 │   ├── symbols_to_bits.m           # 符号转比特工具
 │   ├── plot_comparison_results.m   # 曲线绘图与保存
 │   └── print_performance_summary.m # 终端摘要与结构化统计
 └── docs/
     ├── 算法文档.md
     ├── 代码文档.md

????%20统一仿真内核(关键设计)

    统一参数入口
    default_params(mode)
    %20生成全局参数,避免体制参数漂移。
    统一信道构造思路
    NTN_channels
    %20输出时变矩阵,AFDM/OCDM%20通过兼容层适配。
    统一检测对比:三体制均执行%20LMMSE%20与%20MMSE-SD,结果结构一致。 统一输出策略:固定命名%20+%20单目录覆盖,利于快速比对“当前版本结果”。

????%20实测性能(full%20模式结果)

数据来源:

outputs/unified_comparison_results.mat
(当前项目实测输出)

LMMSE%20BER

|%20SNR%20(dB)%20|%20OCDM%20 %20 %20 |%20AFDM%20 %20 %20 %20 %20 %20 %20 %20 |%20OTFS%20 %20 %20 %20 %20 %20 %20 %20 |%20最优体制%20 %20 %20 %20||%20----------%20|%20-----------%20|%20---------------------%20|%20---------------------%20|%20----------------%20||%200%20 %20 %20 %20 |%203.150e-01%20|%203.073e-01%20 %20 %20 %20 %20 %20|%20 3.071e-01%20|%20OTFS%20 %20 %20 %20 %20 %20||%204%20 %20 %20 %20 |%202.299e-01%20|%20 2.165e-01%20|%202.171e-01%20 %20 %20 %20 %20 %20|%20AFDM%20 %20 %20 %20 %20 %20||%208%20 %20 %20 %20 |%201.469e-01%20|%20 1.254e-01%20|%201.268e-01%20 %20 %20 %20 %20 %20|%20AFDM%20 %20 %20 %20 %20 %20||%2012%20 %20 %20 %20|%207.530e-02%20|%20 4.730e-02%20|%204.740e-02%20 %20 %20 %20 %20 %20|%20AFDM%20 %20 %20 %20 %20 %20||%2016%20 %20 %20 %20|%203.080e-02%20|%208.200e-03%20 %20 %20 %20 %20 %20|%20 7.900e-03%20|%20OTFS%20 %20 %20 %20 %20 %20||%2020%20 %20 %20 %20|%201.370e-02%20|%20 9.000e-04%20|%20 9.000e-04%20|%20AFDM/OTFS%20并列%20|

MMSE-SD%20BER

|%20SNR%20(dB)%20|%20OCDM%20 %20 %20 |%20AFDM%20 %20 %20 %20 %20 %20 %20 %20 |%20OTFS%20 %20 %20 %20 %20 %20 %20 %20 |%20最优体制%20||%20----------%20|%20-----------%20|%20---------------------%20|%20---------------------%20|%20----------%20||%200%20 %20 %20 %20 |%203.154e-01%20|%203.076e-01%20 %20 %20 %20 %20 %20|%20 3.073e-01%20|%20OTFS%20 %20 %20||%204%20 %20 %20 %20 |%202.312e-01%20|%20 2.173e-01%20|%202.179e-01%20 %20 %20 %20 %20 %20|%20AFDM%20 %20 %20||%208%20 %20 %20 %20 |%201.500e-01%20|%20 1.272e-01%20|%201.285e-01%20 %20 %20 %20 %20 %20|%20AFDM%20 %20 %20||%2012%20 %20 %20 %20|%207.880e-02%20|%20 4.750e-02%20|%204.770e-02%20 %20 %20 %20 %20 %20|%20AFDM%20 %20 %20||%2016%20 %20 %20 %20|%203.340e-02%20|%205.900e-03%20 %20 %20 %20 %20 %20|%20 5.800e-03%20|%20OTFS%20 %20 %20||%2020%20 %20 %20 %20|%201.800e-02%20|%20 2.000e-04%20|%203.000e-04%20 %20 %20 %20 %20 %20|%20AFDM%20 %20 %20|

结论:在当前配置下,AFDM%20与%20OTFS%20在中高%20SNR%20区间显著优于%20OCDM;MMSE-SD%20相对%20LMMSE%20的增益在高%20SNR%20更明显。

????%20核心实现展示

1)%20OCDM:Fresnel%20域有效信道构造

% 发射端:QAM符号 -> OCDM调制 -> 加循环前缀
 s_qam = qammod(x, params.M, 'UnitAveragePower', true);
 s_ocdm = IFSnT * s_qam;
 s_cp = CP_mtx * s_ocdm;
 
 % 有效信道构造与归一化
 Heff = R_mtx * H * CP_mtx;
 D = normalize_channel_matrix(FSnT * Heff * IFSnT);

2)%20AFDM:DAFT%20域等效信道

% DAFT 变换矩阵
 A = D2 * DFT * D1;
 AH = A';
 
 % 仿射域信道与检测输入
 Y = A * r_time;
 H_daft = normalize_channel_matrix(A * HT * AH);

3)%20OTFS:DD%20域等效化

% OTFS 变换算子
 OP = kron(WH, eye(M));
 
 % 时域信道 -> DD域等效信道
 H_eff = normalize_channel_matrix(OP' * HT * OP);
 r_dd = H_eff * x + w;

4)%20MMSE-SD:增广系统%20+%20QR%20回代

A = [H; reg * eye(n_tx)];
 b = [y; zeros(n_tx, 1)];
 [Q, R] = qr(A, 0);
 z = Q' * b;
 
 for i = n_tx:-1:1
     inter = R(i, i+1:end) * x_hat(i+1:end);
     rhs = z(i) - inter;
     soft_val = rhs / R(i, i);
     x_hat(i) = nearest_constellation(soft_val, constellation);
 end

????%20端到端调用链

run_unified_comparison / demo_waveform_showcase
         ↓
 default_params(mode)
         ↓
 prepare_output_dir(...)
         ↓
 run_ocdm_simulation
 run_afdm_simulation
 run_otfs_simulation
         ↓
 plot_comparison_results
 print_performance_summary
         ↓
 save(...results, params, summary, plot_paths)

????%20一键运行

% 进入工程目录
 cd('D:/03_代码库/04.code4sale/OTFS-OCDM-AFDM')
 
 % 快速演示
 run('demo_waveform_showcase.m')
 
 % 正式仿真
 run('run_unified_comparison.m')

????%20输出预览

当前输出目录:

outputs/
典型结果文件:

unified_comparison_results.mat
ber_comparison_full.png
ber_comparison_full.fig
demo_results.mat
ber_comparison_demo.png
detector_gain_demo.png

图像示例: ber<em>comparison</em>full.png

????️ 运行环境

MATLAB:R2020a 或更高版本(建议 R2022a+) 依赖函数:
qammod / qamdemod
(通信相关工具箱)
physconst
(物理常量函数)
操作系统:Windows / Linux / macOS 均可(路径按系统调整)

???? 获取方式

本文代码仅为核心片段,完整版工程已整理好。 关注公众号 【 3GPP 仿真实验室】进行获取。

相关推荐