主要内容

基于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 * range2time (range_max c);

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

range_res = 1;bw = rangeres2bw (range_res c);sweep_slope = bw / tm;

由于FMCW信号通常占用很大的带宽,因此盲目地将采样速率设置为带宽的两倍往往会对a /D转换器硬件的性能造成压力。要解决这个问题,通常可以选择较低的抽样率。这里考虑两件事:

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

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

在本例中,最大量程对应的拍频如下。

fr_max = range2beat (range_max sweep_slope c);

因为一辆汽车的最高速度大约是230公里/小时。因此,最大多普勒频移和最大拍频可计算为

v_max = 230 * 1000/3600;fd_max = speed2dop (2 * v_max,λ);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雷达的目标通常是前面的汽车。本例假设目标车在雷达探测的汽车前方43米处移动,沿x轴以96公里/小时的速度移动。

根据雷达和目标汽车之间的距离,根据[1]计算汽车的雷达横截面。

car_dist = 43;car_speed = 96 * 1000/3600;car_rcs = db2pow (min (10 * log10 (car_dist) + 5, 20));cartarget =分阶段。RadarTarget (“MeanRCS”car_rcs,“PropagationSpeed”c...“OperatingFrequency”、fc);carmotion =分阶段。平台(“InitialPosition”(car_dist; 0; 0.5),...“速度”, car_speed, 0, 0);

假设传播模型是自由空间。

频道=分阶段。空闲空间(“PropagationSpeed”c...“OperatingFrequency”足球俱乐部,“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 %发射机=分阶段。发射机(“PeakPower”tx_ppower,“获得”, tx_gain);接收机=分阶段。ReceiverPreamp (“获得”rx_gain,“NoiseFigure”rx_nf,...“SampleRate”fs);

汽车雷达通常安装在车辆上,所以它们经常在运动中。本例假设雷达沿x轴以100公里/小时的速度移动。所以目标车以4公里/小时的相对速度接近雷达。

radar_speed = 100 * 1000/3600;radarmotion =分阶段。平台(“InitialPosition”(0, 0, 0.5),...“速度”, radar_speed, 0, 0);

雷达信号模拟

正如前面几节中简单提到的,FMCW雷达通过检查脱hirated信号中的拍频来测量距离。为了提取这个频率,通过将接收信号与发射信号混合来执行脱hirp操作。混频后,解卷积信号只包含与目标范围相对应的个别频率分量。

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

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

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

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

  4. 接收天线收集信号。

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

  6. 一旦一定数量的扫描填充了缓冲区,在距离和多普勒进行傅里叶变换以提取拍频和多普勒频移。然后可以估计的范围和速度的目标使用这些结果。距离和多普勒也可以显示为图像,并提供一个直观的指示目标在距离和速度域的位置。

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

在模拟过程中,使用频谱分析仪来显示接收到的每个扫描的频谱以及它的去极化对应的频谱。

specanalyzer =简介(“SampleRate”fs,...“方法”“韦尔奇”“AveragingMethod”“奔跑”...“PlotAsTwoSidedSpectrum”,真的,“FrequencyResolutionMethod”“rbw”...“标题”“接收和解码信号的频谱”...“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 =发射机(团体);传播信号并反射目标txsig =通道(txsig radar_pos、tgt_pos radar_vel, tgt_vel);txsig = cartarget (txsig);解码接收到的雷达返回txsig =接收机(txsig);dechirpsig = dechirp (txsig、团体);可视化频谱specanalyzer ([txsig dechirpsig]);xr(:,米)= dechirpsig;结束

从频谱范围可以看到,虽然接收到的信号是宽带(信道1),扫过了整个带宽,但脱hirped后的信号变成了窄带(信道2)。

距离和多普勒估计

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

rngdopresp =分阶段。RangeDopplerResponse (“PropagationSpeed”c...“DopplerOutput”“速度”“OperatingFrequency”足球俱乐部,“SampleRate”fs,...“RangeMethod”FFT的“SweepSlope”sweep_slope,...“RangeFFTLengthSource”“属性”“RangeFFTLength”, 2048,...“DopplerFFTLengthSource”“属性”“DopplerFFTLength”, 256);clf;plotResponse (rngdopresp xr);绘制距离多普勒地图Axis ([-v_max v_max 0 range_max]) clim = caxis;

从距离多普勒响应,你可以看到前面的车在40多米远的地方,几乎是静止的。这是因为相对于雷达,汽车的径向速度只有4公里/小时,换算成只有1.11米/秒。

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

作为一个旁注,虽然接收的信号在150mhz采样,以便系统能够实现所需的距离分辨率,但在脱hirp之后,您只需要以对应于最大拍频的速率对其采样。由于最大拍频通常小于所需的扫频带宽,可以对信号进行decimated以降低硬件成本。下面的代码显示了抽取过程。

Dn =修复(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

注意,距离和多普勒估计都是相当准确的。

距离多普勒耦合效应

与线性调频信号(如FMCW信号)相关的一个问题是距离多普勒耦合效应。如前所述,目标范围对应于拍频。因此,准确的距离估计依赖于拍频的准确估计。然而,多普勒频移的存在改变了拍频,导致有偏差的距离估计。

对于这个例子中所描述的情况,由目标和雷达之间的相对速度引起的距离误差如下所示

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

这个错误非常小,您完全可以忽略它。

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

较长的扫描时间使距离多普勒耦合更加突出。要看到这种效果,首先重新配置波形,使用2毫秒作为扫描时间。

waveform_tr =克隆(波形);释放(waveform_tr);tm = 2 e - 3;waveform_tr。SweepTime = tm;sweep_slope = bw / tm;

现在计算距离多普勒耦合。

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

1.14米的距离误差不能再被忽略,需要进行补偿。当然,您可能会考虑按照前面介绍的相同过程来做,估计距离和多普勒,从多普勒频移中计算距离多普勒耦合,然后从估计中去除误差。

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

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次vs. 64次)。

Nsweep = 16;xr = helperFMCWSimulate (Nsweep waveform_tr、radarmotion carmotion,...发射机、通道、cartarget接收机);

分别对上扫和下扫进行处理,得到上扫和下扫对应的拍频。

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 (“PropagationSpeed”c...“OperatingFrequency”足球俱乐部,“SampleRate”fs);rxchannel = twoRayChannel (“PropagationSpeed”c...“OperatingFrequency”足球俱乐部,“SampleRate”fs);Nsweep = 64;xr = helperFMCWTwoRaySimulate (Nsweep、波形、radarmotion carmotion,...发射机、txchannel rxchannel cartarget,接收机);plotResponse (rngdopresp xr);绘制距离多普勒地图轴([-v_max 0 range_max]);caxis(爬);

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

总结

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

参考文献

[1] Karnfelt, Camilla等。"77 GHz ACC雷达模拟平台。"2009第九届智能交通系统通信国际会议,(ITST), IEEE, 2009209 - 14页。DOI.org (Crossref),https://doi.org/10.1109/ITST.2009.5399354

[2]罗林,H.和M. M.迈内克。汽车雷达系统波形设计原理2001 CIE国际雷达会议论文集(Cat No.01TH8559), 2001, pp. 1-4。DOI.org (Crossref),https://doi.org/10.1109/ICR.2001.984612

Baidu
map