【MATLAB源码】5G:PTRS上行链路综合仿真平台
📡 5G NR NTN 上行链路 (PUSCH) 综合仿真平台
面向非地面网络 (NTN) 的上行链路相位跟踪参考信号 (PTRS) 全功能仿真




📌 为什么选择本仿真平台?
|
|
|
|
|
✅ DFT-s-OFDM 支持:完美支持 Transform Precoding (SC-FDMA) 波形生成,降低 PAPR,提升边缘覆盖,全面对标 3GPP R16/R17 标准
|
|
|
✅ 高精度 PTRS 建模:精确模拟卫星通信中的相位噪声与多普勒频移补偿,支持复杂的时频密度 () 配置
|
|
|
✅ 跳频 (Frequency Hopping):支持 Intra-slot 和 Inter-slot 频率跳频仿真,可视化验证抗干扰性能
|
|
|
✅ 交互式配置 GUI:所见即所得的参数配置界面,实时计算 Transport Block Size (TBS) 与资源开销
|
|
|
✅ 代码即文档:模块化设计直接映射 3GPP TS 38.211 协议条款,清晰展现物理层处理流程
|
🎯 核心价值
🔬 学术研究价值
-
波形对比研究: 一键切换 CP-OFDM 与 DFT-s-OFDM,直观对比两种波形在相位噪声下的性能差异。
-
NTN 信道建模: 结合
NtnPtrsMAPPER,可深入研究卫星移动引起的大频偏对解调的影响。
-
MIMO 演进: 支持 Codebook-based 上行传输方案,探索多天线预编码技术。
|
💼 工程应用价值
-
链路预算验证: 提供精确的 RE 级资源映射,辅助计算系统吞吐量与开销。
-
接收机算法开发: 生成的标准信号可作为 DSP/FPGA 接收机算法的黄金比对源 (Golden Reference)。
-
一致性测试: 参数覆盖全,支持所有 SCS (15-960kHz) 和 CP 类型,满足不同频段测试需求。
|
⚡ 技术亮点
🌊 5G NR 上行物理层技术栈
┌────────────────────────────────────────────────────────────────────────┐│ PUSCH 上行链路处理架构 │├────────────────────────────────────────────────────────────────────────┤│ ││ [传输块 TB] ──► [LDPC 编码] ──► [调制 QAM] ──► [层映射] ││ │ ││ ┌──────────────── Configurable Block ─────────────▼───────────────┐ ││ │ │ ││ │ [DMRS 生成] [PTRS 生成] [Transform Precoding] │ ││ │ (Type 1/2) (L=1/2/4) (DFT 扩展, 可选) │ ││ │ │ │ │ │ ││ └───────┼────────────────┼───────────────────────▼────────────────┘ ││ │ │ │ ││ ▼ ▼ ▼ ││ [资源网格映射 RE Mapping] ◄─── [频率跳频 Frequency Hopping] ││ │ ││ ▼ ││ [OFDM 调制] ──► [相位噪声模拟] ──► [上行波形输出] ││ ││ 核心能力: ││ Low PAPR (低峰均比) | Phase Tracking (相位跟踪) ││ MIMO Precoding (预编码) | Flexible Numerology (灵活参数集) │└────────────────────────────────────────────────────────────────────────┘
📊 关键功能指标
|
|
|
|
|
| 波形技术 |
|
Transform Precoding On/Off
|
|
| 参考信号 |
|
|
|
| 资源调度 |
|
|
|
| 多天线 |
|
|
|
🖥️ 运行环境
最低要求
|
|
|
| MATLAB版本 |
R2023b 或更高 (推荐 App Designer 兼容性)
|
| 必需工具箱 |
零依赖
(核心算法纯 MATLAB 实现,无需 5G Toolbox)
|
| 操作系统 |
Windows 10/11, macOS, Linux
|
| 内存 |
|
📁 项目结构
Tx PTRS/├── 📂 src/ # 🚀 核心源代码│ ├── NtnPtrsGUI.m # 💻 交互式配置主程序│ ├── NtnPtrsConfig.m # ⚙️ 配置管理与校验 (3GPP 规则)│ ├── NtnPtrsGenerator.m # ⚡ 参考信号生成引擎│ ├── NtnPtrsMapper.m # 🗺️ 资源网格映射 (含跳频逻辑)│ └── NtnOfdmModulator.m # 🌊 OFDM 波形调制器│├── 📂 DL PTRS/ # 📡 下行链路子项目 (独立)│ └── ... (见独立文档)│├── 📂 tests/ # 🧪 自动化测试套件│ └── ...│└── 📂 docs/ # 📚 文档中心 └── 算法文档.md # 详细数学原理说明
🎬 典型应用演示
1. 启动交互式仿真 GUI
>> cd 'src'>> app = NtnPtrsGUI(); % 启动主程序
体验: 调整 “Transform Precoding” 开关,观察时域波形包络的显著变化 (高 PAPR vs 低 PAPR),理解 DFT-s-OFDM 对功放效率的意义。
2. 脚本化批量仿真
cfg = NtnPtrsConfig();cfg.SubcarrierSpacing = 30;cfg.TransformPrecoding = true; % 开启 DFT-s-OFDM[sym, ind] = NtnPtrsGenerator.generate(cfg);