1. 多用户MIMO JCAS系统概述
在5G/6G时代,无线通信系统正从单纯的"信息传输管道"向"通信-感知-计算一体化"方向演进。多用户MIMO联合通信与感知(JCAS)系统正是这一趋势下的典型代表。作为一名长期从事无线通信算法开发的工程师,我见证了MIMO技术从单纯的通信功能向多功能融合的转变过程。
JCAS系统的核心思想是通过同一套硬件设备和频谱资源,同时实现高质量的通信服务和精确的环境感知能力。这种设计理念在毫米波和太赫兹频段尤为重要——高频段通信面临严重的路径损耗问题,而密集的天线阵列恰好为高精度感知提供了硬件基础。在实际部署中,我们通常采用均匀线性阵列(ULA)或平面阵列结构,天线间距设置为半波长以最大化阵列增益。
2. 系统建模与关键挑战
2.1 系统架构设计
典型的MU-MIMO JCAS系统架构包含以下核心组件:
- 基站端:配备N根发射天线和M根接收天线(通常共址部署)
- 通信终端:K个单天线用户设备(UE)
- 感知目标:位于远场的点散射体(Swerling 1模型)
系统工作时,基站通过预编码矩阵W将通信数据流映射到发射天线,同时利用接收天线阵列捕获目标反射信号。这里的关键在于预编码设计需要同时满足:
- 通信需求:保证各用户的SINR
- 感知需求:最大化目标检测概率Pd
2.2 信号模型构建
发射信号可表示为:
x = Ws = w_c s_c + w_r s_r
其中s_c是通信符号向量,s_r是专用感知信号(可选)。在MATLAB中,我们可以这样建模:
matlab复制% 系统参数初始化
N = 16; % 发射天线数
K = 2; % 用户数
L = 100;% 符号长度
% 生成通信信号(16-QAM)
s_comm = qammod(randi([0 15],K,L),16,'UnitAveragePower',true);
% 生成感知信号(恒模)
s_radar = exp(1i*2*pi*rand(N-K,L));
% 预编码矩阵设计
W = [W_comm, W_radar]; % 需要优化的核心部分
2.3 核心矛盾与折中
在实际工程实现中,我们面临的主要矛盾是:
- 通信信号特性:高阶QAM(如256-QAM)具有高峰度,有利于信息传输但会劣化感知性能
- 感知信号特性:恒模信号(如PSK)峰度最低,检测概率最优但无法携带信息
通过大量实测发现,当使用16-QAM通信信号进行感知时,其检测概率比QPSK信号低约3-5dB。这种性能差距在低信噪比区域尤为明显。
3. 预编码设计方法论
3.1 性能指标量化
3.1.1 通信SINR计算
第k个用户的SINR可表示为:
γ_k = |h_k^H w_k|^2 / (∑_{j≠k}|h_k^H w_j|^2 + σ_n^2)
其中h_k是用户k的信道向量(瑞利衰落),σ_n^2是噪声功率。
3.1.2 感知检测概率
基于NP准则的检测概率:
Pd = Q(√(2E_s/N_0), √(2γ))
其中E_s是信号能量,γ是检测门限,Q(·)是Marcum Q函数。
3.2 优化问题构建
联合优化问题可表述为:
max_W (1-α)∑log(1+γ_k) + αPd
s.t. tr(WW^H) ≤ P_max
其中α∈[0,1]是权重因子,控制通信与感知的权衡。
3.3 实用算法实现
我们采用深度学习框架实现端到端优化:
python复制# PyTorch实现示例
class JCAS_Encoder(nn.Module):
def __init__(self, N, K):
super().__init__()
self.W = nn.Parameter(torch.randn(N, K+1, dtype=torch.cfloat))
def forward(self, s_comm, s_radar):
# 功率归一化
W_norm = self.W / torch.norm(self.W, 'fro')
x = W_norm[:,:K] @ s_comm + W_norm[:,-1:] * s_radar
return x
# 损失函数设计
def joint_loss(SINR, Pd, alpha=0.5):
comm_loss = -torch.log(1 + SINR).mean()
radar_loss = -Pd
return (1-alpha)*comm_loss + alpha*radar_loss
工程经验:初始化预编码矩阵时,建议先对通信和感知波束进行初步对准,可显著加速算法收敛。具体可通过以下步骤实现:
- 使用MUSIC算法估计目标角度
- 构造相应的导向矢量作为初始化
- 对通信用户采用ZF预编码初始化
4. 仿真分析与实测验证
4.1 典型场景配置
我们构建了以下测试环境:
- 载频:28GHz
- 天线阵列:16元ULA,半波长间距
- 信道模型:
- 通信:3GPP UMi NLOS
- 感知:Swerling 1
- 调制方式:
- 通信:16-QAM
- 感知:恒模信号
4.2 性能对比结果
通过蒙特卡洛仿真(10000次实现),我们得到:
| 方案 | 通信容量(bps/Hz) | 检测概率(@Pfa=1e-3) |
|---|---|---|
| 纯通信 | 8.7 | 0.12 |
| 纯感知 | 0 | 0.98 |
| 联合优化(α=0.5) | 7.2 | 0.83 |
| 信号复用 | 7.9 | 0.65 |
4.3 实测中的发现
在实际部署中,我们还观察到一些有趣现象:
- 当目标位于通信用户波束旁瓣时,复用通信信号感知可使通信SINR提升2-3dB
- 混合信号方案的检测概率比理论值低约10%,主要源于信号间的非线性干扰
- 在移动场景下,需要将优化周期控制在信道相干时间内
5. 工程实现建议
5.1 硬件配置要点
-
射频前端建议:
- 使用高线性度PA以避免信号失真
- ADC位数≥12bit以保证感知动态范围
- 本振相位噪声<-100dBc/Hz@1MHz
-
校准要求:
- 通道间幅度误差<0.5dB
- 相位误差<5度
- 定时误差<1/10符号周期
5.2 参数调优指南
基于我们的调参经验,推荐以下配置流程:
-
初始阶段:
- 设置α=0.5
- 学习率1e-3
- batch size≥1024
-
精细调整:
- 根据业务需求调整α:
- 优先通信:α=0.3
- 平衡模式:α=0.5-0.7
- 优先感知:α>0.8
- 动态调整学习率(余弦退火)
- 根据业务需求调整α:
5.3 典型问题排查
在实际部署中遇到的常见问题及解决方案:
-
检测概率波动大:
- 检查通道校准
- 验证目标RCS起伏特性
- 增加累积脉冲数
-
通信BER突增:
- 检查预编码矩阵是否出现数值不稳定
- 验证信道估计周期是否合适
- 考虑增加训练序列密度
-
算法收敛慢:
- 尝试更好的初始化(如基于信道信息的初始化)
- 增加batch size
- 检查梯度裁剪阈值
6. 进阶优化方向
对于追求极致性能的场景,可以考虑以下优化策略:
-
空时联合编码:
- 在快时间维度引入相位调制
- 示例方案:
python复制def st_encoding(angles): # 在脉冲间引入相位变化 phase = np.pi * np.sin(2*np.pi*np.arange(L)/L) return np.exp(1j*phase)
-
非线性预失真:
- 补偿PA非线性
- 基于Volterra级数的预失真器:
matlab复制y = x + a3*x.*abs(x).^2; % 三阶预失真
-
智能反射面辅助:
- 在感知盲区部署RIS
- 联合优化基站预编码和RIS相移
在实际系统开发中,我们发现将通信信号的峰度控制在3.5以下时,可以在通信容量损失不超过10%的情况下,使检测概率达到0.9以上。这个经验值对于大多数城市微小区场景都是适用的。