???? 5G NR PRACH 链路级仿真平台
完全符合 3GPP TS 38.211 标准的高精度物理随机接入信道仿真
???? 为什么选择本仿真平台?
| 痛点 | 本平台解决方案 |
|---|---|
| ???? 依赖昂贵工具箱 | ✅ 100% 独立实现:核心算法自主可控 |
| ???? 标准实现不完整 | ✅ 3GPP 全覆盖:支持全格式 (0-3, A1-C2)、全 N_CS 表、Type A/B 限制集 |
| ???? 代码晦涩难懂 | ✅ 教学级中文注释:每一行关键代码都有详细的 3GPP 协议引用和物理含义解释 |
| ???? 高速场景失效 | ✅ 高多普勒鲁棒:精确实现 Restricted Set 算法,支持高铁与 LEO 卫星场景仿真 |
| ???? 只有理论公式 | ✅ 工程化落地:提供完整的发射机、接收机、信道模型和检测器链路 |
???? 核心价值
???? 科研/学术价值深入理解 PRACH:透彻掌握 ZC 序列、循环移位、Restricted Set 等核心概念 高速移动性研究:提供精准的高速场景基线,助力多普勒估计算法研究 LEO 卫星通信:验证大频偏下的 RACH 检测性能 非标算法验证:开放的架构允许轻松替换检测算法 (如基于深度学习的检测) |
???? 工程/产品价值算法核对 (Cross-Check):作为黄金参考 (Golden Reference) 验证 DSP/FPGA 实现 IP 核开发参考:清晰的模块化结构,易于移植到 C/C++/Verilog 演示汇报利器:内置丰富的可视化图表,一键生成波形图、PDP 图和性能曲线 零成本部署:无需购买额外的 MATLAB 工具箱 License |
⚡ 技术亮点
???? 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}$ 提供了有效的检测窗口,避免了虚警。
| 场景 | 配置 | 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 节定义的复杂算法:
计算模逆元 $d_u$ 根据 $d u$ 与 $N{CS}$ 的关系判定 Type A/B 生成非连续的合法循环移位 $C_v$ 列表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)
