一文看懂!FMCW毫米波雷达测速原理
FMCW雷达测速
上文讲解了FMCW体制的雷达如何进行测距,这篇文章将讲解如何测速。
1.上文回顾
上一篇文章表明测量距离只需要一个chirp进行FFT就可以完成。而测速则最少需要2个chirp。
2.测速原理
假设物体位于天线正前方10m处,并以速度为5m/s远离雷达。
天线依次发射两个chirp,当天线发射第一个chirp的同时,目标位于10m处,当天线发射第二个chirp的同时,目标肯定不在10m处了,而是比10m远。那么理所应当,对两个chirp进行测距,最终结果应该不同。
并且两个距离的差值应为:
Δd=Tchirp∗v \Delta d = {T_{chirp}}v\
TchirpT_{chirp}是一个chirp信号的周期,而vv是目标运动的速度。到这一步是不是通过测量距离差再使用上面公式直接求解速度呢?答案是理论可行,通过理论公式推导计算完全可以这样求解出速度,但计算机是无法实现的,一个是采样率无法无限大,另一个则是因为误差问题,这里不做太多叙述。
在FMCW雷达测速中,用相位是一个更好的选择,因为它的对距离的变化更加敏感。(其实测距理论上也是用相位进行求解,只不过由于中频的存在,使得单个距离门对应单个频率)
单个chirp的相位为:
φ=2πfcτ \varphi = 2\pi {f_c}\tau \
其中fcf_c为载波频率,τ\tau为目标时延,且:
τ=2∗R/c \tau = 2R/c\
RR为目标距离,cc为光速。
联立上述两式:
φ=4πfcRc=4πRλ \varphi = \frac{{4\pi {f_c}R}}{c} = \frac{{4\pi R}}{\lambda }\
则φ\varphi即为单个chirp的相位,那么多个chirp之间的相位差就可以表示为:
Δφ=4πλ×ΔR \Delta \varphi = \frac{{4\pi }}{\lambda } \times \Delta R\
考虑到物体做匀速直线运动,则:
ΔR=Δd=Tchirp∗v \Delta R = \Delta d = {T_{chirp}}*v\
综上所述:
Δφ=4πTchirp∗vλ \Delta \varphi = \frac{{4\pi {T_{chirp}}*v}}{\lambda }\
如果我们已知相位差,则可以求解速度为:
v=Δφλ4πTchirp v = \frac{{\Delta \varphi \lambda }}{{4\pi {T_{chirp}}}}\
以上就是毫米波雷达测速的原理。
3.实现方法
再拿到回波数据以后,求取相位差实际上并不容易。在实现过程中经常用多普勒频率进行求解。
可以这么认为,在雷达探测具有匀速径向速度的目标时,在不同的chirp之间会产生相位差,这种相位差产生了一个频率。
对相位差进行求导即可得到多普勒频率fdf_d:
φ=2πf0τ=2πcλτ \varphi = 2\pi {f_0}\tau = 2\pi \frac{c}{\lambda }\tau \
τ=2R(t)c=2r+vtc \tau = 2\frac{{R(t)}}{c} = 2\frac{{r + vt}}{c}\
fd=12πdφdτ=2vλ {f_d} = \frac{1}{{2\pi }}\frac{{{\rm{d}}\varphi }}{{{\rm{d}}\tau }} = \frac{{2v}}{\lambda }\
那么求解速度的问题就由求解相位差到求解多普勒频率了。在matlab中更容易实现,直接进行FFT即可。(注意坐标表示:可以类比测距中的采样率)
4.仿真结果
目标速度设置为5m/s(远离雷达方向),距离为10m。(在代码中,如果仿真远离和靠近雷达的速度,则需要修改坐标表示方法,原理一样)
仿真代码放在资源中了,需要自取即可(免费)

