📡 5G NR PRACH 链路级仿真平台
完全符合 3GPP TS 38.211 标准的高精度物理随机接入信道仿真
📌 为什么选择本仿真平台?
| 痛点 | 本平台解决方案 |
|---|---|
| 🚫 依赖昂贵工具箱 | ✅ 100% 独立实现:核心算法自主可控 |
| 🧩 标准实现不完整 | ✅ 3GPP 全覆盖:支持全格式 (0-3, A1-C2)、全 N_CS 表、Type A/B 限制集 |
| 🐢 代码晦涩难懂 | ✅ 教学级中文注释:每一行关键代码都有详细的 3GPP 协议引用和物理含义解释 |
| 📉 高速场景失效 | ✅ 高多普勒鲁棒:精确实现 Restricted Set 算法,支持高铁与 LEO 卫星场景仿真 |
| 📦 只有理论公式 | ✅ 工程化落地:提供完整的发射机、接收机、信道模型和检测器链路 |
🎯 核心价值
🔬 科研/学术价值
|
💼 工程/产品价值
|
⚡ 技术亮点
🌊 PRACH 信号处理全链路
┌────────────────────────────────────────────────────────────────────────┐
│ PRACH 链路仿真核心流程 │
├────────────────────────────────────────────────────────────────────────┤
│ │
│ [配置生成] [ZC 序列] [循环移位] [OFDM 调制] │
│ prach_config ──► gen_zc ──► circshift ──► prach_ofdm_mod │
│ │ │ │
│ ▼ ▼ │
│ [N_CS查表] <── [3GPP Tables] [信道模型] │
│ (6.3.3.1-5~7) apply_channel │
│ │ │
│ ▼ │
│ [检测判决] ◄── [峰值搜索] ◄── [频偏补偿] ◄── [Preamble检测] │
│ threshold findpeaks doppler_comp prach_detect │
│ │
│ 关键特性: │
│ Restricted Set Type A/B | 多假设频偏搜索 | 重复符号合并 │
└────────────────────────────────────────────────────────────────────────┘
📊 实测性能演示
1. 多普勒鲁棒性 (Restricted Set)
在 1200 Hz (约 450 km/h) 频偏下,Restricted Set 通过更大的 提供了有效的检测窗口,避免了虚警。
| 场景 | 配置 | N_CS | 检测结果 |
|---|---|---|---|
| 低速常规 | Unrestricted | 46 | ❌ 混叠/虚警 |
| 高速移动 | Restricted Type A | 68 | ✅ 100% 检测 |
2. 重复增益 (Format 0 vs 2)
在 -17 dB 极低信噪比下,Format 2 利用 4 次重复获得了显著增益。
- Format 0 (1次): 检测率 ~10%
- Format 2 (4次): 检测率 ~90% (增益显著)
🖥️ 运行环境
最低要求
| 项目 | 要求 |
|---|---|
| MATLAB版本 | R2018b 或更高 (推荐 R2021b+) |
| 必需工具箱 | 无 (基于基础 MATLAB 语言开发) |
| 推荐配置 | 8GB RAM (用于长时间蒙特卡洛仿真) |
🧠 核心算法详解
1. 受限集 (Restricted Set) 算法
针对高速场景,本项目完整实现了 3GPP TS 38.211 6.3.3.1 节定义的复杂算法:
- 计算模逆元
- 根据 与 的关系判定 Type A/B
- 生成非连续的合法循环移位 列表
2. 多假设检测器
为了应对 LEO 卫星场景下的超大频偏 (如 ±40 kHz),检测器支持:
- 宽范围网格搜索:在频域进行多假设尝试
- 非相干合并:对多次重复的符号进行能量合并
📁 项目结构
DL_PTRS/
├── 📂 src/ # 💎 核心算法库 (无依赖)
│ ├── prach_config.m # 配置生成 (含完整 3GPP 表格)
│ ├── prach_tx.m # 发送机 (ZC 序列 + 循环移位)
│ ├── prach_detect.m # 检测器 (相关 + 峰值搜索)
│ ├── prach_ofdm_mod.m # OFDM 调制 (CP + 加窗)
│ ├── gen_zc_seq.m # ZC 序列生成器
│ └── get_root_seq_tables.m # 根序列映射表
│
├── 📂 test/ # 🧪 测试与演示
│ ├── demo_scenarios.m # 📊 综合场景演示 (一键运行)
│ ├── demo_restricted_set.m # 🚄 高速场景验证
│ ├── demo_leo_multistage.m # 🛰️ LEO 卫星场景演示
│ ├── test_formats.m # ✅ 格式一致性测试
│ └── calibrate_threshold.m # 🎚️ CFAR 门限校准
│
└── 📂 docs/ # 📘 文档
├── 算法文档.md # 详细数学原理与推导
🎬 快速开始
1. 运行综合演示
展示时域波形、灵敏度曲线和多普勒效应可视化:
>> cd test
>> run demo_scenarios.m
2. 验证高速场景
模拟高铁/卫星场景下的 Restricted Set 性能:
>> run demo_restricted_set.m




🛒 获取方式
本文代码仅为核心片段,完整版工程包含所有源码、测试脚本及详细文档。 关注公众号 【3GPP仿真实验室】进行获取。
📚 参考文献
- 3GPP TS 38.211 V17.5.0: NR Physical channels and modulation
- 3GPP TS 38.213: Physical layer procedures for control
- 3GPP TR 38.821: Solutions for NR to support Non-Terrestrial Networks (NTN)