TI的FMCW(调频连续波)毫米波雷达培训(1)------距离估算

从这一篇开始我们将讨论一项称为FMCW雷达的传感器技术,该技术如今在汽车和工业领域非常流行,因此本系列的文章是让您简单了解一下这一类雷达,同时又为以后深入了解打下基础。

  FMCW中文名为调频连续波,该雷达主要测量其前方物体的距离、速度和到达角。因此该系列文章将会详细的讨论其中的每一个测量值。首先我们先从距离维下手。本文主要从两个方面来进行解释:FMCW雷达运行的基本知识FMCW雷达的工作原理以及如何使用雷达进行距离估算

  在本文中主要解决下面几个问题:

    1、假如你有一个雷达如何估算它与物体之间的距离?

    2、如果有多个物体,并且它们与雷达之间的距离是不同的,该如何估算距离?

    3、两个物体能够相距多近而仍然能够有望被解析为两个物体?

    4、什么决定着雷达可以看到的最远距离?

FMCW雷达 python_FMCW雷达 python

一、FMCW雷达运行的基本知识

  FMCW雷达的核心是一种被称为线性调频脉冲的信号。那么什么是线性调频脉冲呢?线性调频脉冲就是频率随时间以线性方式增长的正弦波。那么该振幅-时间图中,线性调频脉冲可能以频率为fc的正弦波开始然后它的频率不断逐渐增大;最后,假设以fc加B的频率结束,其中B是线性调频脉冲的带宽。所以,线性调频脉冲本质上是一种频率以线性方式进行调制的连续波

FMCW雷达 python_斜率_02

  上面是振幅-时间图,那么接下来我们看一下频率-时间图(f-t),显示同一个线性调频脉冲,它会看起来怎么样?这里再提醒一下,线性调频脉冲的频率是随时间线性变化的

FMCW雷达 python_正弦波_03

  从f-t图中可以看出,线性调频脉冲会是一条具有特定斜率S的直线。为了更加直观我们直接放一些数据来看看。起始频率是77GHz,截止频率为81GHz,带宽为4GHz,chirp周期Tc=40us。线性调频斜率S定义线性调频脉冲上升的速率在这个例子中,线性调频脉冲跨越4GHz的带宽,具有40微秒的时长,这就对应每微秒100MHz的斜率。后面我们会看到带宽B和斜率S是用于定义系统性能的重要参数

二、FMCW雷达的工作原理以及如何使用雷达进行距离估算

  根据第一部分我们了解了什么是线性调频脉冲,那接下来我们看看FMCW雷达的工作原理。首先给出一个简化的FMCW雷达框图,大致由四部分构成他们分别是chirp产生器、发射天线、接收天线和混频器。

FMCW雷达 python_傅里叶变换_04

  该雷达的工作原理是:首先合成器产生一个线性调频脉冲(chirp),其次通过发射天线将这个chirp发射出去,之后当遇到物体后,该chirp会发射回来,接收天线接收反射回来的信号,最后发射信号和接收信号在混频器中进行混频操作,最终生成一个IF(中频)信号。那么什么又是中频信号呢?我们后面会讲到,我们首先先看一下什么是混频器。

  • 混频器以及如何估算雷达到单个目标的距离

FMCW雷达 python_正弦波_05

  首先我们看到混频器有两个输入和一个输出,我们通过一个简单的例子来进一步学习混频器。假设我们向混频器的两个输入端口输入两个正弦波,那么输出的正弦波就具有以下两条性质。

  性质1:输出正弦波的瞬时频率等于两个输入正弦波的瞬时频率的差值。因此即使这些正弦波的频率是随时间变化的,那么任一时刻输出频率的正弦波也将等于该时刻的输入频率的差值。

  性质2:输出正弦波的起始相位等于两个输入正弦波的起始相位差值

  已知两个输入正弦波

x1=sin[w1t+Φ1]                         (1)

                 x2=sin[w2t+Φ2]                         (2)

  其中w1、w2分别代表频率,Φ1、Φ2代表起始相位。结合公式1和2,我们得到输出正弦波的公式为:

xout=sin[(w1-w2)t+(Φ12)]           (3)

可以看出得到的正弦波具有频率为w1-w2,起始相位为Φ12。为了更加直观的了解混频器的工作原理,我们回看一下前面讨论过的f-t图。

FMCW雷达 python_斜率_06

该图中有两个线性调频脉冲,一个是TX chirp,另一个是RX chirp。图中可以看出RX chirp是TX chirp延时一个时间τ得到的。现在假设在雷达前方仅有一个物体。所以只有一个RX chirp。

  由公式3可以看出混频器的输出频率是其TX chirp和RX chirp的瞬时频率的差值。那么为了生成IF信号的f-t图,需要将RX chirp这条线从TX chirp这条线上减掉。正好如上图所示,两条线之间存在固定的距离。该固定距离是通过线性调频脉冲的斜率乘以延迟τ得到的,也就是图中的Sτ。

  因此雷达前方的单个物体可生成一个包含单个频率的IF信号,该频率由Sτ得到,另外延迟时间τ=2d/c(d是目标到雷达的距离,c为光速)。我们要记住这个基本概念,雷达前方的单个物体可生成具有恒定频率的IF信号,该中频频率fIF=Sτ=S*2d/c。

FMCW雷达 python_正弦波_07

另外还应注意一点,IF信号仅从RX天线接收到反射信号才开始有效。若要使用ADC对该IF信号进行数字化,那么需要确保在经过延迟时间τ之后再接收样本,并且只能持续到TX信号消失之前(也就是红色括号这一段时间)

  除了上面所说的还有一点就是延迟时间τ通常只占总线性调频脉冲时间很小的一部分。例如,对于最大距离300米并且线性调频脉冲时间Tc为40微秒的雷达,该τ与Tc的比率仅为5%。   

  • 傅里叶变换(穿插内容)

傅里叶变换是FMCW雷达信号处理的核心,它主要用于DSP中的距离、速度和角度估算中,所以在这篇文章会不时的穿插傅里叶变换的内容,另外大家如果感兴趣可以看一下我之前的博客傅里叶变换以及快速傅里叶变换在雷达信号处理中的应用,应该能加深各位的理解。

FMCW雷达 python_正弦波_08

  傅里叶变换的目的是将时域信号转换到频域中,因此如上图所示,时域上周期一定的信号会在频域上产生单个频率。同样的时域上两个周期不同的信号在频域上会产生两个频率,有时会出现一些特殊情况,就是时域上的周期比较接近导致频域上的两个频率分不开。如下图所示,从图中可以看出在观测时间T内,红色线信号完成了两个周期,蓝色线信号完成了2.5个周期,该0.5个周期的差值似乎不足以在频域中解析处两个频率,所以在下图右侧的频域图可以看到,两个时域上的信号在频域上只输出了一个频率峰值。

FMCW雷达 python_傅里叶变换_09

 然后我们看一下观测时间加倍的情况,也就是2T。观测窗口的加倍会导致红色线信号和蓝色线信号之间的周期相差1个周期。解析在频域上你会发现这两个不同周期的信号对应两个不同的频率。

FMCW雷达 python_傅里叶变换_10

  上面两个例子对比是想告诉我们,观测时间越长,解析就是越好的。一般来说(并不是所有的都适应,上面第一个例子就是不适应的情况),观测时间T可以分隔以高于T分之一赫兹进行分隔的频率分量

  • 多个目标

正如我们上面提到的这些信号的频率与距离成正比。因此,从下图可以看出距离近的目标对应小的频率,距离远的目标对应大的频率。

FMCW雷达 python_正弦波_11

  那么上述IF信号的傅里叶变换,会显示多个峰值,这些峰值的频率将与之对应目标的距离成正比,同时也是与距离对应关系也是一一对应的。

FMCW雷达 python_正弦波_12

  • 距离分辨率

  既然讨论了多个目标的情况,那咱们就来看看距离分辨率。距离分辨率也就是两个物体相距多近仍然能够在IF频谱中解析为两个峰值。我们还是从一个例子入手。

FMCW雷达 python_FMCW雷达 python_13

FMCW雷达 python_FMCW雷达 python_14

       上图可以看出有两个从两个目标反射的线性调频脉冲,IF信号对应的A-t图显示了两个正弦波,但这两个正弦波的频率从图中可以看出二者非常接近。以至于在频谱图中只能显示为一个峰值。

  那么如何提高雷达的距离分辨率呢?一种选项是我们在上面说的傅里叶变换得到的,就是通过增大IF信号的长度来扩展这两个正弦波的观测时间。如下图所示,线性调频脉冲得到扩展,从而扩展了IF信号的持续时间,在频域中解析了两个峰值。另外需要注意的一点是,增加IF信号的持续时间,能够成正比增加线性调频脉冲的带宽,这里带宽是2B,上面的带宽是B

FMCW雷达 python_正弦波_15

FMCW雷达 python_FMCW雷达 python_16

  通过上面对距离分辨率的了解,我们可以看出距离分辨率其实和带宽有着密切的关系,至于是什么关系呢?咱们接着往下看。我们一起来推导一下这个距离分辨率和带宽的公式。但首先我们先回忆一下之前的两个知识点:

  1、一个距离为d的目标将产生一个频率为S2d/c的中频信号;

  2、当频差满足 Δf > 1/T时,两个信号可以在频率上被区分开(如果忽略开始的一小部分。即往返延迟产生的τ部分,那么Δf与1/T基本相等);

  所以我们就可以得到。两个信号的距离分辨率:

S*2Δd/c>1/T

Δd>c/(2S*T)

S*T=B(带宽)

Δd>c/(2B)

  从上面的公式可以看出距离分辨率仅仅与chirp的带宽有关。

  这里有一个问题,有两个线性调频脉冲A和B,A的持续时间是B的两倍,但二者具有相同的带宽,那这两个线性调频脉冲中哪一个可以提供更好的距离分辨率?

FMCW雷达 python_正弦波_17

由距离分辨率的公式可以知道,带宽相同的话,二者的距离分辨率其实是一样的。但是脉冲A具有更长的持续时间,因此具有更长的IF信号观测时间。因此,凭直觉来看,如果考虑傅里叶变换的性质,线性调频脉冲A的距离分辨率应好于线性调频脉冲B。那么这个矛盾该如何解决?大家不妨在评论区畅想一下,下面给出个人的一点想法,如果有错误还请大家批评指正。 

FMCW雷达 python_斜率_18

 

  • IF信号数字化

  到这里我们已经讨论了IF信号,可以得出IF信号的频率与物体的距离成正比。在大多数雷达中,通常都会对IF信号进行数字化来供后面的处理。它的处理过程大概总结为以下几点:

  1、进行低通滤波;2、ADC进行数字化;3、接着发送到合理的处理器中,如DSP;4、进入DSP后,DSP可能首先执行傅里叶变换,来估算目标的距离;5、然后执行其他处理,估算目标的速度和到达角。关于速度和到达角我们后面会说明。

FMCW雷达 python_正弦波_19

 当我们要对信号进行数字化时,首先要知道目标带宽,这样可以适当的设置低通滤波器和ADC采样率。

  现在假设我们对0~dmax之间的物体感兴趣,IF信号的最大频率为

                          fIF_max=S2dmax/c。

  与之相对的,目标的带宽将是从零到该最大IF频率的值,这意味着低通滤波器的截止频率应大于IF信号的最大频率。另外ADC应具有高于IF信号的最大频率的采样率

  这时可以看出ADC的最大采样率可能会限制雷达的最大探测距离。还需注意的一点是最大IF带宽取决于S和dmax的乘积。所以如果ADC采样率和IF带宽是传感器瓶颈,那么可以通过调整斜率S和最大距离dmax进行折中。一般雷达倾向于针对较大的dmax使用较小的调频斜率

所以脉冲A相对与脉冲B对ADC的要求更宽松,但脉冲B相对于脉冲A来说仅需要一半测量时间

FMCW雷达 python_FMCW雷达 python_20

  • 小结

  下面这张图总结我们上面所说的全部内容:这是一个具有单个发射天线和接收天线的FMCW雷达框图,我们来看看估算目标距离会涉及到哪些东西。

  1、首先,合成器生成一个线性调频脉冲。

  2、该线性调频脉冲通过发射天线进行发射,到达雷达前方的多个目标后反射回来,接收器接收到延迟的信号,并将其输入到混频器中与发射信号进行混频,得到IF信号。

  3、这个IF信号包含多个波,每个波的频率与距离成正比,所以频率会不一样;

  4、然后IF信号进行低通滤波并数字化( ADC 必须支持 S2dmax/c 的 IF 带宽);

  5、对数字化数据进行处理,进行傅里叶变换,得到的频谱中峰值的位置就是我们要求的目标的距离。

FMCW雷达 python_傅里叶变换_21

三、总结:

  1、距离为d的目标会产生中频频率为:fIF=S2d/c。

  2、距离分辨率仅取决与线性调频脉冲跨越的宽度(也就是射频带宽):dres=c/2B;

  3、ADC采样率Fs限制了雷达的最大探测距离:dmax=Fs*c/2S;

  另外当我们讨论带宽和FMCW雷达时,通常有两个重要的带宽:射频带宽和中频带宽。

  射频带宽:是线性调频脉冲跨越的宽度,较大的射频带宽可直接转换为较好的距离分辨率。射频带宽的宽度通常在几百MHz到几GHz。

  中频带宽:较大的IF带宽主要可以使雷达拥有更大的探测距离,同样还可以实现较快的线性调频脉冲(较高斜率S的线性调频脉冲),典型的中频带宽一般在低MHz范围内。

  射频带宽和中频带宽的存在使得FMCW雷达具有跨越较大带宽的射频信号。但ADC仅需要几MHz的信号采样

  本文关于距离的学习就先到这,后面会学习速度和角度的相关知识,敬请期待。