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