TDM-MIMO 下的 FCMW 雷达的相位补偿
像是 2T4R TDM MIMO 雷达,两个 Tx 在时间上轮流发射 chirp,虚拟出 1T8R 的天线阵列,以获得更高的角度分辨率。然而,Tx2 形成的四根虚拟天线相对于 Tx1 形成的四根虚拟天线将会产生一个普勒相偏 \(\Delta \varphi\)。角度估计前须进行相位矫正,才能保证角度估计的正确性。
多普勒相偏
速度为 \(V_r\) 的目标产生的多普勒频偏 \(\Delta f\) 和相偏 \(\Delta \varphi\):
\[\Delta f=\frac{2V_rf_c}{c}=\frac{2V_r}{\lambda} \]\[\Delta \varphi=2\pi\cdot \Delta f \cdot T_c=\frac{4\pi V_r f_c T_c}{c}=\frac{4\pi V_r T_c}{\lambda} \]- \(f_c\),雷达中心频率
- \(\lambda\),雷达波长
- \(T_c\),chirp 时长
根据目标速度进行相位补偿
经过 Range-Doppler 处理后,速度信息变为了离散的数字。假设速度维度已由 fftshift()
处理,即多普勒单元索引 \(n\) 的范围在 \((-\frac{N}{2},\frac{N}{2})\),其中 \(N\) 是 Doppler-FFT 的长度,则 \(V_r\) 的转换如下:
假设在 \(M\times N\) 根虚天线上对应目标的 2D-FFT 结果序列为 \(X(m,n)\),其中 \(m\) 表示这个 2D-FFT 结果对应的发射天线编号(从 0 编号),\(n\) 表示这个 2D-FFT 结果对应的接收天线编号,那么相偏补偿:
\[X'(m,n)=X(m,n)\times e^{-jm\Delta \varphi \cdot \frac{M}{2}} \]换句话说,从第二根发射天线开始就要进行补偿
Python 代码与实验
假设该雷达系统是 2T8R, Range-Doppler 处理后的数据 range_doppler
维度为 [N_rx*N_tx, doppler_bin, range_bin]
,且 range_doppler[:8]
是第一个 Tx 的数据、range_doppler[8:]
是第二个 Tx 的数据,则补偿代码如下:
# 获取 dop_bin 长度
dop_bin = np.arange(range_doppler.shape[-2])
# 计算相位差
delta_phi = np.exp(-2j * np.pi * (dop_bin - len(dop_bin) / 2) / len(dop_bin)) / N_tx
# 进行补偿
range_doppler[8:, :, :] *= delta_phi[None, :, None]
仿真的结果说明方法很有效。
参考来源
- “MIMO Radar”,https://www.ti.com/lit/an/swra554a/swra554a.pdf
- Ray,“干货|利用MATLAB实现FMCW MIMO雷达的超分辨测角”,https://zhuanlan.zhihu.com/p/44359309
- 调皮连续波,“雷达仿真 | FMCW TDMA-MIMO毫米波雷达信号处理仿真”,https://zhuanlan.zhihu.com/p/576353487
- “基于 AWR1642 汽车雷达的速度扩展算法研究”,https://www.ti.com.cn/cn/lit/an/zhca901/zhca901.pdf