主要内容

基于FMCW技术的汽车自适应巡航控制

这个例子展示了如何使用频率调制连续波(FMCW)技术建立汽车自适应巡航控制系统的模型。这个例子执行距离和多普勒估计的运动车辆。与在国防工业中常见的脉冲雷达系统不同,汽车雷达系统通常采用FMCW技术。与脉冲雷达相比,FMCW雷达体积更小,功耗更低,制造成本更低。因此,FMCW雷达只能监测更小的距离。

FMCW波形

考虑一个用于自适应巡航控制(ACC)的汽车远程雷达(LRR)。这类雷达通常占据77ghz左右的频段,如[1]所示。雷达系统不断地估计它所安装的车辆和它前面的车辆之间的距离,并在两者变得太近时向驾驶员发出警报。下图显示了ACC的草图。

在ACC系统中常用的波形是FMCW。使用FMCW技术进行距离测量的原理可以用下图来说明。

收到的信号是延迟的传输信号的时间延迟副本,$ \δt $,与量程有关。因为信号总是扫过一个频带,在扫频的任何时刻,频差,f_b美元,在发送信号和接收信号之间是常数。f_b美元通常被称为节拍频率。因为扫描是线性的,可以从节拍频率导出时间延迟,然后将延迟转换为范围。

在ACC设置中,雷达需要监视的最大距离约为200米,系统需要能够区分两个相隔1米的目标。根据这些要求,可以计算波形参数。

fc = 77 e9;c = 3 e8;λ= c / fc;

扫描时间可以根据信号通过明确的最大范围所需的时间来计算。一般情况下,对于FMCW雷达系统,扫描时间应至少为往返时间的5 ~ 6倍。本例使用因子5.5。

Range_max = 200;tm = 5.5 *范围2time(Range_max,c);

根据距离分辨率确定扫描带宽,同时利用扫描带宽和扫描时间计算扫描斜率。

Range_res = 1;bw =范围2bw(Range_res,c);sweep_slope = bw / tm;

由于FMCW信号通常占用巨大的带宽,因此盲目地将采样率设置为带宽的两倍,通常会强调A / D转换器硬件的能力。为了解决这个问题,人们通常可以选择较低的采样率。这里可以考虑两件事:

  1. 对于复杂的采样信号,可以将采样率设置为与带宽相同。

  2. FMCW雷达利用解码信号中嵌入的拍频估计目标距离。雷达需要检测的最大拍频是最大距离对应的拍频与最大多普勒频率之和。因此,采样率只需是最大拍频的两倍。

在该示例中,对应于最大范围的节拍频率由

fr_max = range2beat (range_max sweep_slope c);

此外,旅行车的最大速度约为230 km / h。因此,可以计算最大多普勒频移和最大拍频

v_max = 230 * 1000/3600;fd_max = speed2dop(2 * v_max,lambda);fb_max = fr_max + fd_max;

本例采用的采样率是最大拍频和带宽的两倍。

fs = max (2 * fb_max bw);

下表总结了雷达参数。

系统参数值-------------------------------工作频率(GHz)77最大目标范围(M)200范围分辨率(m)1最大目标速度(km / h)230扫描时间(微秒)7.33扫描带宽(MHz)150最大拍频(MHz)27.30采样率(MHz)150

利用上述所有信息,可以建立雷达系统中使用的FMCW波形。

波形=分阶段。FMCWWaveform (“SweepTime”,Tm值,“SweepBandwidth”bw,...“SampleRate”fs);

这是一个上扫线性FMCW信号,通常称为锯齿形。人们可以检查所产生信号的时频图。

sig =波形();次要情节(211);情节(0:1 / fs: tm-1 / fs,真实(sig));包含(“时间(s)”);ylabel (“振幅(v)”);标题(“FMCW信号”);轴;次要情节(212);32岁的谱图(32岁的团体16 fs,“桠溪”);标题('FMCW信号谱图');

目标模型

ACC雷达的目标通常是一辆车在它面前。该示例假设目标车在X轴的速度以96km / h的速度将50米移动到达车辆前方50米。

根据[1],可以根据雷达与目标车辆之间的距离计算出车辆的雷达截面。

car_dist = 43;car_speed = 96 * 1000/3600;car_rcs = db2pow (min (10 * log10 (car_dist) + 5, 20));cartarget =分阶段。RadarTarget (“MeanRCS”car_rcs,'繁殖',C,...“OperatingFrequency”、fc);carmotion =分阶段。平台('初始位置'(car_dist; 0; 0.5),...“速度”, car_speed, 0, 0);

传播模型假定为自由空间。

频道=分阶段。空闲空间('繁殖',C,...“OperatingFrequency”,fc,“SampleRate”,fs,“TwoWayPropagation”,真正的);

雷达系统设置

雷达系统的其余部分包括发射机、接收机和天线。本示例使用[1]中提供的参数。注意,这个示例只建模主要组件,而忽略了其他组件的影响,如耦合器和混频器。另外,为了简单起见,假设天线是各向同性的,并且在发射机和接收机中都包含天线的增益。

ant_aperture = 6.06的军医;%(平方米)ant_gain = aperture2gain (ant_aperture,λ);在dB %tx_ppower = db2pow (5) * 1 e - 3;%的美国瓦茨tx_gain = 9 + ant_gain;在dB %rx_gain = 15 + ant_gain;在dB %rx_nf = 4.5;在dB %变送器=相位.Transmitter('峰值功率'tx_ppower,“获得”,tx_gain);Receiver = phased.receiverProemp(“获得”rx_gain,“NoiseFigure”rx_nf,...“SampleRate”fs);

汽车雷达通常安装在车辆上,因此它们经常处于运动状态。这个例子假设雷达沿x轴以100公里/小时的速度移动。目标车正以相对速度4km /h接近雷达。

radar_speed = 100 * 1000/3600;radarmotion =分阶段。平台('初始位置'(0, 0, 0.5),...“速度”,[RADAR_SPEED; 0; 0]);

雷达信号模拟

正如前面简要提到的,FMCW雷达通过检查解码信号的拍频来测量距离。为了提取这个频率,通过将接收信号与发送信号混合来执行解码操作。混合后,解码后的信号只包含与目标距离相对应的单个频率分量。

此外,尽管从一次扫频中提取多普勒信息是可能的,但多普勒频移通常是在多次扫频中提取的,因为在一个脉冲内,多普勒频率与拍频是无法区分的。为了测量距离和多普勒,FMCW雷达通常执行以下操作:

  1. 波形发生器产生FMCW信号。

  2. 发射器和天线放大信号并将信号辐射到空间中。

  3. 信号传播到目标,被目标反射,然后返回到雷达。

  4. 接收天线收集信号。

  5. 接收到的信号被解码并保存在缓冲区中。

  6. 当一定次数的扫频填满缓冲器后,在距离和多普勒处进行傅里叶变换,提取拍频和多普勒频移。然后可以利用这些结果估计目标的距离和速度。距离和多普勒也可以显示为图像,并给出一个直观的指示目标在距离和速度域。

下一节模拟上面概述的过程。共模拟了64次扫描,最后产生了距离多普勒响应。

在仿真期间,使用频谱分析仪来示出每个接收的扫描以及其DecHir3d对应的频谱。

specanalyzer = dsp。简介(“SampleRate”,fs,...“PlotAsTwoSidedSpectrum”,真的,...“标题”“接收和解码信号的频谱”...“ShowLegend”,真正的);

接下来,运行模拟循环。

rng (2012);Nsweep = 64;xr =复杂(0 (waveform.SampleRate * waveform.SweepTime Nsweep));m = 1: Nsweep更新雷达和目标位置[radar_pos, radar_vel] = radarmotion (waveform.SweepTime);[tgt_pos, tgt_vel] = carmotion (waveform.SweepTime);%发送FMCW波形sig =波形();txsig =发射机(sig);传播信号并反射出目标txsig =通道(txsig radar_pos、tgt_pos radar_vel, tgt_vel);txsig = cartarget (txsig);将接收到的雷达返回信号解码txsig =接收机(txsig);dechirpsig = dechirp (txsig、团体);%想象光谱specanalyzer ([txsig dechirpsig]);xr(:,米)= dechirpsig;结束

从频谱范围可以看出,虽然接收信号是宽带(通道1),但扫过整个带宽后,解码信号变成窄带(通道2)。

距离和多普勒估计

在估计距离和多普勒值之前,最好先看一下所有64次扫描的放大距离多普勒响应。

rngdopresp =分阶段。RangeDopplerResponse ('繁殖',C,...“DopplerOutput”“速度”“OperatingFrequency”,fc,“SampleRate”,fs,...“RangeMethod”FFT的“SweepSlope”,sweep_slope,...“RangeFFTLengthSource”'财产'“RangeFFTLength”, 2048,...'dopplerfftlengthsource''财产''dopplerfftlength',256);CLF;plotResponse (rngdopresp xr);绘制距离多普勒图轴([ -  v_max v_max 0 range_max])爬升= caxis;

从距离多普勒响应,可以看到前面的车是一个略超过40米,似乎几乎静止。这是预期的,因为汽车相对于雷达的径向速度只有4公里/小时,也就是仅仅1.11米/秒。

有许多方法来估计目标车的距离和速度。例如,可以选择几乎任何频谱分析方法来提取拍频和多普勒频移。本例使用根MUSIC算法提取拍频和多普勒频移。

作为一个旁注,虽然接收信号在150兆赫兹采样,因此系统可以达到所需的距离分辨率,在解码后,只需要以对应于最大拍频的速率采样它。由于最大拍频通常小于所需的扫频带宽,因此可以对信号进行大量抽取以降低硬件成本。下面的代码片段显示了抽取过程。

dn = fix(fs /(2 * fb_max));m =大小(xr, 2): 1:1 xr_d(:,米)=毁掉(Dn xr(:,米),“杉”);结束fs_d = fs / Dn;

为了估计该范围,首先,使用相干的扫描估计节拍频率,然后将其转换为范围。

fb_rng = rootmusic (pulsint (xr_d“连贯”), 1, fs_d);rng_est = beat2range (fb_rng sweep_slope c)
rng_est = 42.9976

其次,在目标存在的距离上估计扫频的多普勒频移。

peak_loc = val2ind (rng_est c / (fs_d * 2));fd = -rootmusic (xr_d (peak_loc:), 1, 1 / tm);λv_est = dop2speed (fd) / 2
v_est = 1.0830

请注意,两个范围和多普勒估计都非常准确。

距离多普勒耦合效应

与线性FM信号(例如FMCW信号)相关的一个问题是范围多普勒耦合效果。如前所述,目标范围对应于节拍频率。因此,精确的范围估计取决于拍频的准确估计。然而,多普勒频移的存在改变了节拍频率,导致偏置范围估计。

对于本例中所概述的情况,由目标与雷达之间的相对速度引起的距离误差为

deltaR = rdcoupling (fd sweep_slope c)
deltaR = -0.0041

这个错误如此之小,我们可以放心地忽略它。

尽管目前的设计达到了预期的性能,但有一个参数值得进一步关注。在当前配置中,扫描时间约为7微秒。因此,系统需要在很短的时间内扫频150mhz。这样的汽车雷达可能无法满足成本要求。此外,给定汽车的速度,没有必要每7微秒进行一次测量。因此,汽车雷达通常使用较长的扫描时间。例如,[2]中使用的波形与本例中设计的波形具有相同的参数,只是扫描时间为2毫秒。

更长的扫描时间使得范围多普勒耦合更加突出。要查看此效果,请先重新配置波形以使用2 ms作为扫描时间。

waveform_tr =克隆(波形);释放(Waveform_tr);TM = 2E-3;waveform_tr.sweeptime = tm;sweep_slope = bw / tm;

现在计算范围多普勒耦合。

deltaR = rdcoupling (fd sweep_slope c)
deltaR = -1.1118

1.14 m的距离误差不能再被忽略,需要进行补偿。自然地,人们可能会考虑按照前面部分所述的相同程序来做,估计距离和多普勒,从多普勒频移计算出距离多普勒耦合,然后从估计中去除误差。

不幸的是,这个过程在长时间扫描时并不能很好地工作。扫描时间越长,扫描时的采样率越低,从而降低了雷达明确检测高速车辆的能力。例如,使用2ms的扫描时间,雷达系统可以使用传统的多普勒处理检测到的最大明确速度是

v_unambiguous = dop2speed (1 / (2 * tm),λ)/ 2
v_unambiguous = 0.4870

明确的速度只有0.48 m/s,这意味着相对速度1.11 m/s,不能明确检测到。这意味着不仅目标车在多普勒处理中出现速度变慢,距离多普勒耦合也无法正确补偿。

解决这种不需要多普勒处理的模糊性的一种方法是采用三角形扫描模式。下一节将展示三角形扫描如何解决这个问题。

三角扫

在三角形扫掠中,一个向上扫掠和一个向下扫掠形成一个周期,如下图所示。

这两次扫面坡度相同,只是符号不同。从图中可以看出,多普勒频率的存在,f_d美元,影响拍频(f {bu} $ $f {bd} $ $)在上下扫码上是不同的。因此,通过结合上下扫描的拍频频率,可以消除多普勒的耦合效应,从而获得无模糊的距离估计。

首先,设置波形为三角扫描。

waveform_tr。SweepDirection =“三角形”

现在模拟信号返回。由于扫描时间较长,所以在处理之前收集的扫描较少(16对64)。

Nsweep = 16;xr = helperFMCWSimulate (Nsweep waveform_tr、radarmotion carmotion,...变送器,通道,卡拉特,接收器);

上扫和下扫描被单独处理,以获得与上下扫描相对应的节拍频率。

fbu_rng = rootmusic (pulsint (xr(1:2,::结束),“连贯”), 1, fs);fbd_rng = rootmusic (pulsint (xr(: 2:2:结束),“连贯”), 1, fs);

同时使用上扫和下扫的拍频,得到了正确的距离估计。

Rng_est = beat2range([fbu_rng fbd_rng],sweep_slope,c)
rng_est = 42.9658

而且,多普勒偏移和速度也可以以类似的方式回收。

fd = - (fbu_rng + fbd_rng) / 2;λv_est = dop2speed (fd) / 2
v_est = 1.1114

估算的距离和速度与真实值43米和1.11米/秒吻合得很好。

双线传播

为了完成讨论,实际上,雷达和目标车辆之间的实际信号传播比到目前为止所建模的内容更复杂。例如,无线电波也可以通过反射到达目标车辆。一种简单而广泛使用的模型来描述这种多径情景是双射线模型,其中信号通过两个路径从雷达传播到目标车辆,一个直接路径和路径的一个反射路径,如下所示数字。

道路反射影响信号的相位,目标车辆接收信号是两路信号的相干组合。同样的事情也发生在回程中,目标车辆的反射信号返回到雷达。因此,根据车辆之间的距离,来自不同路径的信号可能会有建设性地或破坏性地增加,使信号强度随时间波动。这种波动会在后续的检测阶段带来一些挑战。

为了展示多路径效果,下一节使用两个射线通道模型在雷达和目标车辆之间传播信号。

txchannel =分阶段。TwoRayChannel ('繁殖',C,...“OperatingFrequency”,fc,“SampleRate”fs);rxchannel =分阶段。TwoRayChannel ('繁殖',C,...“OperatingFrequency”,fc,“SampleRate”fs);Nsweep = 64;xr = helperFMCWTwoRaySimulate (Nsweep、波形、radarmotion carmotion,...发射机、txchannel rxchannel cartarget,接收机);plotResponse (rngdopresp xr);绘制距离多普勒图轴([ -  v_max v_max 0 Range_max]);Caxis(Chrec);

在所有设置相同的情况下,将得到的双射线传播的距离-多普勒图与之前通过视线传播通道获得的距离-多普勒图进行比较,信号强度下降了近40 dB,这是非常显著的。因此,在设计时必须考虑这种影响。一种可能的选择是在垂直方向上形成一个非常锐利的光束,以消除反射。

总结

这个例子展示了如何使用FMCW信号执行距离和多普勒估计在汽车自动巡航控制的应用。该实例还演示了如何从接收信号生成距离多普勒图,并讨论了如何使用三角扫描来补偿FMCW信号的距离多普勒耦合效应。最后讨论了多径传播对信号电平的影响。

参考文献

[1] Karnfelt, C.等。77 GHz ACC雷达仿真平台, 2009年IEEE智能交通系统电信国际会议(ITST)。

[2] Rohling,H.和M. Meinecke。汽车雷达系统波形设计原理,国际雷达会议论文集,2001。