面向 ISAC 场景的 MMV/GMMV 稀疏恢复与多子阵协作定位统一实现
近场球面波建模 · 结构化块稀疏恢复 · MUSIC/WLS 定位闭环
在近场超大规模天线场景中,传统“远场平面波 + 单任务估计”流程难以同时兼顾活动用户检测、信道恢复与定位精度。 本项目以统一的近场几何信道模型为基础,将 AUD、CE 与定位 串联为闭环仿真链路,并支持 MMV/GMMV 多算法对照。 工程实现采用参数集中、过程可追踪、结果可复现的脚本化组织方式,适用于科研复现实验与算法迭代。
| 痛点 | 方案 |
|---|---|
| 近场模型与算法实现割裂 | 统一近场球面波建模,直接驱动观测与恢复流程 |
| 算法单一,难以横向评估 | 同时提供 BSP、BSAMP、MMV-OMP、StrBOMP、Oracle-LS |
| MMV/GMMV 场景切换成本高 | 通过统一脚本模式参数完成路径切换 |
| 指标统计分散,复现实验困难 | 固化
Pe/NMSE/MSE 统计流程并自动归档
.mat 结果 |
| 定位链路与通信恢复脱节 | 基于恢复信道直接进入 MUSIC + WLS 协作定位 |
面向近场 ISAC 的“模型-算法-指标”一体化实验平台。
强调可运行、可追踪、可复现实验的工程化组织方式。
| 特性 | 传统方案 | 本方案 |
| ---------- | ---------------------- | ---------------------------------------- |
| 信道建模 | 远场或弱几何抽象 | 近场球面波 + 子阵可见性 |
| 观测建模 | 单场景、单字典 | MMV/GMMV 双模式统一 |
| 稀疏恢复 | 单算法验证 | BSP/BSAMP/OMP/StrBOMP 全链对比 |
| 结果指标 | 单点输出 |
Pe + NMSE + 定位误差 联合统计 |
| 代码组织 | 分散脚本、复现成本高 | 参数集中 + 主流程简洁 + 末尾函数模块化 |
数据来源:
ISAC-XMIMO/output/AUD_CE_MMV_Results.mat,配置为num_sim=200、K=60、Ka=6
| 场景 | 基线 | 本方案 | 结论 |
| ------------------ | ------------------------------------------------- | ------------------------------------------------------- | ---------------------------- |
|
Ptx=0 dBm | MMV-BOMP:
Pe=0.0140,
NMSE=-7.65 dB | MMV-BSOMP-改进:
Pe=0.0046,
NMSE=-14.92 dB | 低功率区检测与估计明显改善 |
|
Ptx=10 dBm | MMV-BOMP:
Pe=0.0035,
NMSE=-14.01 dB | MMV-BSOMP-改进:
Pe=0.0009,
NMSE=-23.03 dB | 中功率区优势持续扩大 |
|
Ptx=20 dBm | MMV-BOMP:
Pe=0.0026,
NMSE=-18.34 dB | MMV-BSOMP-改进:
Pe=0.0002,
NMSE=-25.57 dB | 高功率区逐步逼近理想支持 |
|
Ptx=30 dBm | MMV-BOMP:
Pe=0.0030,
NMSE=-18.58 dB | MMV-BSOMP-改进:
Pe=0.0002,
NMSE=-25.82 dB | 误检率保持低位且估计稳定 |
协作定位链路由“GMMV 恢复 + MUSIC 角距估计 + WLS 坐标反演”组成,可直接复用通信恢复阶段得到的信道估计结果。
| 参数 | 配置 | 性能 |
| ------------------ | ------------------------------------ | -------------------------------------- |
| 活动用户检测入口 |
K=60, Ka=6,GMMV 子阵级恢复 | 为定位提供稳定候选用户集合 |
| 角距估计方式 |
music_angle + music_distance | 在子阵级观测上提取几何参数 |
| 坐标反演方式 | 加权最小二乘(WLS) | 输出用户坐标估计与
MSE_Loca 统计 |
项目采用 MATLAB 脚本化科研仿真形态,默认以单机离线方式运行。
cdfplot),Parallel Computing Toolbox(可选)Near-Field-XMIMO/ ├── ISAC-main/ # 原始参考实现 │ ├── Joint_AUD_CE_XLMIMO/ # AUD+CE 参考算法与主脚本 │ ├── MultiSubarrayCollabLoc/ # 协作定位参考算法与主脚本 │ └── ... # 其他参考文件 ├── ISAC-XMIMO/ # 重构后的主工程目录 │ ├── run_aud_ce.m # 联合 AUD+CE 主脚本(MMV/GMMV) │ ├── run_collab_loc.m # 协作定位主脚本 │ └── output/ # 结果文件与图形输出 ├── docs/ # 项目文档目录 │ ├── 算法文档.md # 原理与公式推导 │ └── 代码文档.md # 代码结构与函数说明 └── Plan.md # 协作计划与阶段记录
文档按“理论先行 + 代码落地”双轨组织,覆盖算法推导、实现映射与运行指引。
docs/算法文档.md:系统模型、近场信道推导、MMV/GMMV 稀疏恢复、MUSIC/WLS 定位与附录级公式分析。
docs/代码文档.md:目录职责、主流程时序、函数输入输出、数据结构维度与参考实现映射关系。
该模块根据用户位置、子阵几何与 LoS/NLoS 多径关系生成三维信道张量,是整条仿真链路的物理基础。
# 初始化子阵位置、用户位置、散射体位置 # 对每个活动用户循环 # 采样路径数并生成路径复增益 # 若 LoS: # 计算子阵距离、角度、相位延迟、阵列响应 # 若 NLoS: # 叠加 UE->散射体->子阵双段传播 # 对所有有效子载波累积路径贡献 # 输出 H_set(N_BS, P_subc, K)
该模块将信道映射到观测域,构建字典矩阵(或张量),并调用块稀疏恢复算法输出活动集合与信道估计。
# 逐导频块生成随机相位合并矩阵 W_RF # MMV: 使用共享导频列构造统一字典 Z # GMMV: 每子载波单独构造字典切片 Z(:,:,p) # 叠加噪声并注入发射功率缩放 # 调用 BSP/BSAMP/OMP/StrBOMP 等算法 # 计算 Pe 与 NMSE 指标
该模块先由恢复信道估计角度与距离,再通过加权最小二乘反演用户二维坐标。
# 对命中用户提取子阵级信道块 # 依据子阵能量筛选高可信子阵 # 对每个子阵: # 调用 MUSIC 角度估计 # 调用 MUSIC 距离估计 # 构建几何约束矩阵 A,b 与权重矩阵 Omega # 通过 WLS 求解用户坐标 # 统计定位误差 MSE_Loca
cd('D:/10_存储库/OneDrive/15.代码归档/01.施工中/Near-Field-XMIMO/ISAC-XMIMO')
run('run_aud_ce.m')
run('run_collab_loc.m')

本文代码仅为核心片段,完整版工程已整理好。 关注公众号 【 3GPP 仿真实验室】进行获取。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70049237/viewspace-3116876/ ,如需转载,请注明出处,否则将追究法律责任。