# ? 5G NR 大规模 MIMO 检测算法仿真平台
面向 5G/6G 多天线系统的高性能软输出检测器完整实现
? 为什么选择本仿真平台?
| 痛点 | 本平台解决方案 |
|---|---|
| ? MIMO 检测算法复杂难懂 | ✅ 8 种主流算法全覆盖,从线性到非线性,代码结构清晰透明 |
| ? 软信息 (LLR) 计算易出错 | ✅ 鲁棒 LLR 实现,自动处理反假设缺失 (Counter-Hypothesis Missing) |
| ? 缺乏统一对比框架 | ✅ 内置 一键多算法对比仿真,自动生成 BER 曲线 |
| ⚡ 高阶调制复杂度高 | ✅ 智能算法筛选,自动跳过不适用的 MLD/SD 算法 |
| ? 信道模型不够真实 | ✅ 集成 3GPP TDL/CDL 标准信道模型,支持高移动性场景 |
? 核心价值
? 学术研究价值
- 完整的线性/非线性检测算法对比
- 验证 K-Best, LSD, Lattice Reduction 理论
- 探索不同星座阶数对性能的影响
- 5G/6G MIMO 接收机研究利器
? 工程应用价值
- 验证 LDPC 编解码与检测器联合性能
- 评估真实 3GPP 信道模型下的误码率
- 高效的 Schnorr-Euchner 球形译码实现
- 完整的 8x8 大规模 MIMO 支持
⚡ 技术亮点
? MIMO 检测技术栈
┌───────────────────────────────────────────────────────────────┐ │ MIMO 检测器信号流 │ ├───────────────────────────────────────────────────────────────┤ │ │ │ y = Hx + n ──► [预处理] ──► [检测器] ──► [LLR计算] ──► [LDPC] │ │ │ │ │ │ │ │ QR分解/LLL ZF/MMSE/ Max-Log-MAP 译码 │ │ LSD/K-Best │ │ │ │ 支持算法: │ │ ZF | MMSE | OSIC | K-Best | LSD | SD | LR-MMSE | MLD │ └───────────────────────────────────────────────────────────────┘
? 性能指标 (仿真实测)
| 场景 (4x4 Rayleigh) | 调制方式 | Eb/N0 | ZF BER | LSD BER | 增益 |
| --------------------- | ---------- | ------- | -------- | ------------------ | ------------------ |
| 基础验证 | QPSK | 4 dB | 2.1e-2 | 8.5e-3 | 2.5 倍 |
| 进阶测试 | 16QAM | 8 dB | 5.2e-2 | 2.7e-2 | 1.9 倍 |
| 高阶调制 | 64QAM | 12 dB | 8.1e-2 | 4.0e-2 | 2.0 倍 |
? 软信息优势:LSD 输出的软 LLR 结合 LDPC 译码,相比硬判决检测器具有显著的编码增益。
?️ 运行环境
最低要求
| 项目 | 要求 |
|---|---|
| MATLAB 版本 | R2023b 或更高 (推荐) |
| 必需工具箱 | Communications Toolbox, 5G Toolbox |
| 推荐工具箱 | Signal Processing Toolbox |
| 操作系统 | Windows 10/11, macOS, Linux |
| 内存 | 8 GB+ (8x8 MIMO 仿真建议 16GB) |
快速验证
% 在MATLAB命令窗口运行 >> ver 5g % 应显示 5G Toolbox 版本信息
? 算法原理
MIMO 检测核心思想
问题:在多天线系统中,接收信号 \$\\mathbf{y} = \\mathbf{H}\\mathbf{x} + \\mathbf{n}\$ 是多个发射流的叠加,需要从混叠信号中恢复原始符号。
解决方案:
- 线性检测 (ZF/MMSE):通过伪逆矩阵分离各发射流,计算简单但性能有限。
- 干扰消除 (OSIC):逐层检测并消除已判决信号的干扰,性能中等。
- 树搜索 (LSD/K-Best):在约束搜索空间内寻找最优解,实现近 ML 性能。
- 格基规约 (LR-MMSE):变换信道矩阵使其更正交,显著提升线性检测性能。
关键公式
MMSE 检测器:
$$ \mathbf{W} {MMSE} = (\mathbf{H}^H\mathbf{H} + \sigman^2 \mathbf{I})^{-1}\mathbf{H}^H $$
Max-Log-MAP LLR 计算:
$$
L(b k) \approx \min{\mathbf{x} \in \mathcal{L} {bk=1}} \frac{\|\mathbf{y}-\mathbf{H}\mathbf{x}\|^2}{\sigma n^2} - \min{\mathbf{x} \in \mathcal{L} {bk=0}} \frac{\|\mathbf{y}-\mathbf{H}\mathbf{x}\|^2}{\sigma_n^2} $$
鲁棒 LLR (本项目特色):当候选列表缺少某比特假设时,避免 LLR 无穷大。
? 项目结构
MIMO Equalization/
├── ? mimo_detection/
│ ├── ? core/ # 核心检测算法库
│ │ ├── detect_linear.m # 线性检测器 (ZF, MMSE)
│ │ ├── detect_osic.m # 排序串行干扰消除 (OSIC)
│ │ ├── detect_mld.m # 最大似然检测 (MLD - 基准)
│ │ ├── detect_sd.m # 球形译码 (SD - 硬判决)
│ │ ├── detect_lsd.m # ? 列表球形译码 (LSD - 推荐)
│ │ ├── detect_kbest.m # K-Best 检测器 (广度优先)
│ │ ├── detect_mmse_pic.m # MMSE 并行干扰消除
│ │ ├── detect_lr.m # 格基规约辅助检测
│ │ └── lll_process.m # LLL 格基规约算法
│ │
│ ├── ? utils/ # 工具函数库
│ │ ├── gen_5g_channel.m # 5G NR 信道生成 (TDL/CDL)
│ │ ├── mod_5g.m # 5G 调制封装 (nrSymbolModulate)
│ │ ├── demod_5g.m # 5G 解调封装 (nrSymbolDemodulate)
│ │ ├── mimo_detect_wrapper.m # 统一检测器调用接口
│ │ └── llr2softsym.m # LLR 转软符号
│ │
│ ├── ? sims/ # 仿真脚本 ("一键运行")
│ │ ├── sim_main_comparison.m # ? 多算法/多场景综合对比
│ │ ├── diag_basic_link.m # 非编码链路诊断
│ │ └── diag_coded_link.m # 编码链路诊断
│ │
│ └── ? tests/ # 单元测试
│ ├── test_robust_llr.m # 鲁棒 LLR 验证
│ ├── test_detectors.m # 检测器基础测试
│ └── test_utils.m # 工具函数测试
│
└── ? docs/ # 文档
├── 算法文档.md # ? 算法原理详述 (含公式推导)
└── 项目文档.md # ? 项目介绍 (本文档)
代码统计:
- ? 20+ 个与核心功能直接相关的 MATLAB 文件
- ? 2000+ 行精炼代码
- ? 100% 中文详细注释
? 仿真演示
一键运行算法对比
>> cd mimo_detection/sims >> sim_main_comparison
预设仿真场景
| 场景 ID | 名称 | 配置 |
| --------- | ------------ | ---------------------------------- |
| 1 | 基础验证 | 4x4 QPSK, Rayleigh, -4\~6 dB |
| 2 | 进阶测试 | 4x4 16QAM, Rayleigh, 0\~12 dB |
| 3 | 真实信道 | 4x4 64QAM, TDL-C 300ns, 5\~18 dB |
| 4 | 大规模天线 | 8x8 QPSK, Rayleigh, -2\~8 dB |
| 5 | 极限挑战 | 8x8 16QAM, TDL-A, 2\~16 dB |
输出结果预览
BER vs SNR (4x4 16QAM Rayleigh)


? 您将获得
| 内容 | 说明 |
|---|---|
| ? 完整源码 | 覆盖 8 种主流检测算法,ZF 到 LSD 全覆盖 |
| ? 原理文档 | MMSE/LSD/K-Best/LR 详细推导与实现说明 |
| ? 高效算法 | Schnorr-Euchner 枚举加速的 LSD 实现 |
| ? 对比套件 | 一键生成多算法 BER 性能对比图 |
| ? 鲁棒设计 | 自动处理 LLR 异常、智能跳过高复杂度算法 |
| ? 5G 兼容 | 集成 3GPP TDL/CDL 信道与 LDPC 编解码 |
? 获取方式
本文代码仅为核心片段,完整版工程已整理好。 关注公众号 【 3GPP仿真实验室】进行获取。
? 参考文献
- 3GPP TS 38.211: "NR; Physical channels and modulation."
- 3GPP TR 38.901: "Study on channel model for frequencies from 0.5 to 100 GHz."
- Wübben, D., et al. (2011): "Lattice reduction." IEEE Signal Processing Magazine.
- Hochwald, B. M., & ten Brink, S. (2003): "Achieving near-capacity on a multiple-antenna channel." IEEE Transactions on Communications.
- Guo, Z., & Nilsson, P. (2006): "Algorithm and implementation of the K-best sphere decoding for MIMO detection." IEEE JSAC.
? 立即获取,开启 5G/6G 大规模 MIMO 检测研究之旅!
© 2026 版权所有