毫米波雷达-AWR2243
简介
毫米波雷达,是工作在毫米波波段(Millimeter Wave )探测的雷达。通常毫米波是指30~300GHz频域(波长为1~10mm)的。毫米波的波长介于微波和厘米波之间,因此毫米波雷达兼有微波雷达和光学雷达的一些优点。
同厘米波雷达相比,毫米波雷达具有体积小、质量轻和空间分辨率高的特点。与红外、激光、电视等光学雷达相比,毫米波雷达穿透雾、烟、灰尘的能力强,具有全天候(大雨天除外)全天时的特点。另外,毫米波雷达的抗干扰、反隐身能力也优于其他微波雷达 。毫米波雷达能分辨识别很小的目标,而且能同时识别多个目标;具有成像能力,体积小、机动性和隐蔽性好,在战场上生存能力强 。
目前在自动驾驶,智能监控领域广泛运用。毫米波雷达能直接获取目标的距离,速度,角度等基本信息。通过对数据的进一步处理,对目标的尺寸,轮廓可能也有一定的估计能力。
1 调频连续波(FMCW)
调频连续波(Frequency-Modulated Continuous Wave),是一组幅值不变,但频率变化的连续波形,毫米波雷达使用的调频连续波是频率线性增加的正弦波,又叫线性调频连续波。
如下图的蓝色波形所示,横坐标是时间,横坐标是幅度,波的频率从起始频率逐渐增加到截至频率。这个过程称为一个Chirp(脉冲,啁啾)。
下方红色图,横坐标是时间,纵坐标是频率,更能直观的看出在每个Chirp中频率在线性增加,之后经过一个空闲时间迅速降到起始频率,开始下一个Chirp。
1.1、为什么毫米波雷达使用FMCW
由于线性调频波频率是随时间变化的,当毫米波发射出去,被远处的物体反射回来,可以很容易的根据回波的频率判断出波从发射到接收所经过的时间,从而根据电磁波的传播速度估算物体的距离。
很容易想到,能够测距离自然就能测速度,测量两次距离除以两次测量的时间就是速度。
进一步分析,可以发现角度也是可以通过距离计算出来的,通过多个雷达对同一目标的距离测量,可以根据细微的距离差,计算出目标的角度。
以上只是简单说明毫米波雷达测量距离,速度,角度的基本原理,下面将详细介绍雷达工作的各个细节,以及如何来设计FMCW,来满足自己对距离,速度,角度的分辨率要求,最大测量范围要求。
1.2、FMCW的基本参数
:调频连续波信号。
:起始频率(GHz)。
:chirp与chirp之间的空闲时间(us)。
:调频时间(斜坡周期),信号从起始频率上升到截止频率的时间(us)。
:chirp总周期,等于 空闲时间+调频时间,即:。
:调频连续波的频率变化斜率(MHz/us)。
:数模转换采样数,后期数据处理需要使用的采样数据。
:数模转换采样速率(ks/s)。
:数模转换采样时间,等于 采样数/采样速率,即 。
:采样带宽,
:帧时长,一个帧由多个chirp组成(ms)。
上面各参数的名称为代码中常使用的命名方式,括号内的简写便于后面推导公式使用。
1.2、距离
雷达的基本构造如下图所示:1. 频率合成器;2. 发射雷达;3. 接收雷达;4.混频器。
频率合成器用于生产线性调频波(FMCW),之后通过发射雷达发射,雷达信号被目标反射后通过接收雷达接收信号,之后通过混频器生成发射信号和接收信号的差频信号(IF信号)。
差频信号(IF信号)的频率和距离正相关,如果距离为0,信号发射出去后立即反射接收,差频信号(IF信号)频率为0,距离越远,差频信号(IF信号)的频率越高。
推导距离与IF信号的关系表达式:
调频连续波斜率变化为 ,信号发射到接收的时间为 ,IF信号的频率为:,式中即电磁波传播的时间,所有 ,其中c是光速:。
1.2.1 最大距离
最大距离取决于,IF信号的最大频率 ,这取决于系统的硬件参数。一般毫米波雷达的的最大距离约200米左右。
1.2.2 距离分辨率
距离分辨率,同样取决于的分辨率。前面分析我们很容易计算出来距离与IF信号的关系。但真实情况下往往前方不止一个目标,接收到的回波信号是多种频率波的叠加。分析叠加信号的频率,可以通过傅里叶变换,把接收的时域信号在频域展开。对于离散的采样数据,通常使用快速傅里叶变换(FFT)。
傅里叶变换的频率分辨率与采样时间成反比:,带入距离公式:
式中是斜波斜率,是采样时间,所有,是采样带宽。
综上,距离分辨率:
可以知道,距离分辨率与带宽成反比,带宽越高,距离分辨率越小。
1.3、速度
根据多普勒效应,机械波满足如下公式,其中:是接收到的频率;是发射源于该介质中的原始频率; 是波在该介质的传播速度;是接收者的移动速度; 是发射源的移动速度;
但对于电磁波,多普勒效应更加复杂,且物体的运动速度一般相对光速几乎可忽略不计,因此不易通过频率频率获取目标速度。
速度的估算,正如基本原理所介绍的那样,是通过测量距离的变化估算的。
距离的变化,可以通过相位判断。对速度估算,需要发射一组N个等间隔的线性调频脉冲(chirp),称为帧(Frame),通过分析一帧内每个chirp的相位变化,估算速度。
距离变化与相位变化的关系: 最简单的假设,一个初始相位为0的毫米波波射向距离为0的物体,回波的相位也是0,射向距离1/8波长的物体,回波的相位是 ;同理一个波在某一时刻 射向距离为 d 的物体,下个时刻 射向 的物体,遵循同样的规律,$Δω = 2* Δd/\lambda * 2\pi $,这里虽然是线性调频波,波长在变化,但是由于波长的变化量相对起始波长相差至少一个数量级,所有可以忽略不记,可以任务相位变化是和频率无关的。
又因为 ,所以可得速度估算公式:
1.3.1 最大速度
最大速度取决于最大相位角,为了不造成歧义,约定 ,大于0是远离,小于0是接近。
所以有:
即物体运动的最大速度不能超过,式中 是波长,是是chirp总周期。(如果容易搞混,可以考虑物体在 chirp的空闲时间或者不采样时也是运动的,所以是除chirp总周期,不是斜坡时间,也不是采样时间)
1.3.2 速度分辨率
速度分辨率同样取决于相位角频率 的分辨率,因为接收的信号是多个物体的速度叠加,因此不能通过简单相位法得到速度。同样是通过快速傅里叶变换,将回波信号在频域展开,获取频率。
快速傅里叶变换的分辨率:对于离散的相位角频率满足 ,或者 这里M是采样点数,即每帧的chirp数。
可以看出离散数据的分辨率,和连续数据的分辨率形式上是非常相似的()。离散数据和采样点数相关,连续数据和采样时间相关。
速度分辨率推导过程:
$\Delta \omega = 2*\pi / M => \frac{4\pi * v * T_c}{\lambda} = 2*\pi / M => v = \frac{\lambda}{4\pi * T_c * M} = \frac{\lambda}{2 * T_f} $
1.4、角度
角度的测量需要多个接收雷达,根据不同接收雷达接收信号的的微小距离差来评估角度。如下图所示,假设物体足够远(一般来说相对雷达的间距是足够远的)。发射雷达TX发射信号,接收雷达RX接收回波信号。RX1与RX2接收的信号是近似平行的。因此两者的信号传播距离差可以表示为:
,这里d表示两个RX的距离。
由上一节速度评估的分析可知,距离差和相位之间相关。
这里距离与相位的关系为:
可以看到测角与测速的相位变化:,存在二倍关系,是因为测角时电磁波去的时候距离相同,只有来的时候有距离差。(ps:下图滥用了符合,d表示物体与雷达的距离,而不是上图两个接收雷达的间距)
带入可得:
即:
1.4.1最大角度
与最大速度类似,最大角度取决于两个雷达之间的最大相位角,为了不造成歧义,约定 。可得:
一般毫米波雷达的间距 ,所以 。
雷达的最大可视角度为 正负 90度。
1.4.2 角度分辨率
角度分辨率也和速度分辨率类似,由于可能存在多个物体导致回波叠加,因此同样需要使用快速傅里叶变换对回波信号进行处理。而这里也是离散信号,采样点是接收雷达RX的个数。在速度估算时,我们说过离散信号的分辨率取决与采样点的个数,所以这里相位分辨率为:
,式中N是接收雷达的个数。
所以:
$\Delta \phi = \frac{2\pi dsin(\theta)} {\lambda} > 2\pi/N => \theta > arcsin(\frac{\lambda}{Nd}) => \theta > arcsin(\frac{2}{N}) $
上式Nd,就是雷达阵列的宽度,可见当波长一定时,雷达的角分辨率与雷达阵列尺寸有关,分辨率越大,需要的雷达阵列的尺寸就越大。由于一般 ,所以角度和接收雷达的个数相关。
2 德州仪器(TI) 产品使用
2.1 MIMO雷达
2.2 AWR 2243
2.3 DCA 1000
2.4 mmWave Studio
3 雷达数据的处理
3.1、格式处理
TI公司的毫米波雷达通常使用DCA 1000 或 TSW 1400进行数据采集,这里主要分析DCA 1000采集的数据格式。
3.1.1 使用DCA 1000采集的xWR12xx或xWR14xx实数数据格式
3.1.2 使用DCA 1000采集的xWR12xx或xWR14xx复数数据格式
matlab行优先
python列优先
返回:(numLoopsPerFrame * numTxAntennas, numRxAntennas, numRangeBins)
1 | def organize2243(raw_frame, num_chirps, num_rx, num_samples): |
3.1.3 使用DCA 1000采集的xWR16xx或IWR6843实数数据格式
3.1.3 使用DCA 1000采集的xWR16xx或IWR6843复数数据格式
返回:(numLoopsPerFrame * numTxAntennas, numRxAntennas, numRangeBins)
1 | def organize(raw_frame, num_chirps, num_rx, num_samples): |
分离TX数据
(numLoopsPerFrame * numTxAntennas, numRxAntennas, numRangeBins) -> (numLoopsPerFrame, numTxAntennas * numRxAntennas, numRangeBins)
1 | def separate_tx(signal, num_tx, vx_axis=1, axis=0): |
3.2、距离
1 | ## 加窗 |
3.3、速度
1 | fft2d_in = np.transpose(rangeBins, axes=(2, 1, 0)) |
3.4、角度
1 | dopplerBins = aoa_input |
4 信号处理相关算法
4.1 杂波去除
4.2 目标检测
4.3 目标追踪
参考连接:
相机数据是结构化的高分辨率图像数据,毫米波雷达原始数据则是角分辨率很低且没有高程信息的稀疏点云,这二者原始数据很难融合成一套输入给到神经网络模型,因此目前绝大多数方案都是使用后融合(松耦合)方案。