主要内容

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

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

FMCW波形

以用于自适应巡航控制(ACC)的汽车远程雷达(LRR)为例。这种雷达通常占据77ghz左右的频段,如[1]所示。雷达系统不断地估计它所安装的车辆与前面车辆之间的距离,并在两者太近时向驾驶员发出警告。下图是ACC的示意图。

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

接收信号是发送信号的延时副本,其中延时,$ \δt $,与值域有关。因为信号总是扫过一个频带,在扫过的任何时刻,频率差,f_b美元,是发射信号和接收信号之间的常数。f_b美元通常称为拍频。由于扫描是线性的,我们可以从拍频推导出时间延迟,然后将延迟转化为范围。

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

Fc = 77e9;C = 3e8;Lambda = c/fc;

扫描时间可以根据信号到达明确的最大距离所需的时间来计算。一般来说,对于FMCW雷达系统,扫描时间应该至少是往返时间的5到6倍。本例使用5.5的因子。

Range_max = 200;Tm = 5.5*range2time(range_max,c);

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

Range_res = 1;Bw = range2bw(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,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雷达的目标通常是前方的汽车。这个例子假设目标汽车在雷达引导下以96公里/小时的速度沿着x轴向前行驶50米。

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

Car_dist = 43;Car_speed = 96*1000/3600;Car_rcs = db2pow(min(10*log10(car_dist)+5,20));阶段性的。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.06e-4;平方米百分比Ant_gain = aperture2gain(ant_aperture,lambda);% (dB)Tx_ppower = db2pow(5)*1e-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;雷达运动=分阶段。平台(“InitialPosition”(0, 0, 0.5),“速度”, radar_speed, 0, 0);

雷达信号仿真

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

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

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

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

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

  4. 接收天线收集信号。

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

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

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

在仿真过程中,使用频谱分析仪来显示每个接收扫描的频谱以及其解密对应的频谱。

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

接下来,运行模拟循环。

rng (2012);Nsweep = 64;xr = complex(零(波形。samplerate *波形。sweeptime,Nsweep));m = 1:Nsweep更新雷达和目标位置[radar_pos,radar_vel] = radarmotion(wave . sweeptime);[tgt_pos,tgt_vel] = carmotion(wave . sweeptime);%发送FMCW波形Sig =波形();Txsig =发送器(信号);传播信号并从目标反射Txsig = channel(Txsig,radar_pos,tgt_pos,radar_vel,tgt_vel);Txsig = cartarget(Txsig);解码接收到的雷达回波Txsig = receiver(Txsig);Dechirpsig = dechirp(txsig,sig);%可视化光谱specanalyzer ([txsig dechirpsig]);Xr (:,m) = dechirpsig;结束

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

距离和多普勒估计

在估计范围和多普勒的值之前,看一下所有64次扫描的放大范围多普勒响应可能是一个好主意。

Rngdopresp = phase。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 =坐标轴;

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

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

作为旁注,虽然接收到的信号以150mhz采样,因此系统可以达到所需的范围分辨率,但在解码后,只需要以与最大拍频相对应的速率进行采样。由于最大拍频通常小于所需的扫频带宽,因此可以对信号进行抽取以减轻硬件成本。下面的代码片段显示了抽取过程。

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

为了估计距离,首先使用相干积分扫描估计拍频,然后将拍频转换为距离。

Fb_rng = rootmusic(音乐)“连贯”), 1, fs_d);rng_test = 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,lambda)/2
V_est = 1.0830

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

距离多普勒耦合效应

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

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

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

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

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

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

Waveform_tr = clone(波形);释放(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),lambda)/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 = helperfmcwsimulation (Nsweep,waveform_tr,radarmotion,carmotion,发射机、通道、cartarget接收机);

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

Fbu_rng = rootmusic(xr(:,1:2:end),“连贯”), 1, fs);Fbd_rng = rootmusic(xr(:,2:2:end),“连贯”), 1, fs);

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

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

此外,多普勒频移和速度也可以以类似的方式恢复。

Fd = -(fbu_rng+fbd_rng)/2;V_est = dop2speed(fd,lambda)/2
V_est = 1.1114

估计的距离和速度与实际值43 m和1.11 m/s非常吻合。

双线传播

为了完成讨论,在现实中,雷达和目标车辆之间的实际信号传播比目前所建模的要复杂得多。例如,无线电波也可以通过反射到达目标车辆。描述这种多路径场景的一个简单但广泛使用的模型是双射线模型,其中信号从雷达传播到目标车辆通过两条路径,一条是直接路径,一条是离路反射路径,如下图所示。

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

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

Txchannel = phase。TwoRayChannel (“PropagationSpeed”c“OperatingFrequency”足球俱乐部,“SampleRate”fs);Rxchannel = phase。TwoRayChannel (“PropagationSpeed”c“OperatingFrequency”足球俱乐部,“SampleRate”fs);Nsweep = 64;xr = helperfmcwtworaysimulation (Nsweep,波形,radarmotion,carmotion,发射机、txchannel rxchannel cartarget,接收机);plotResponse (rngdopresp xr);%绘制范围多普勒图([-v_max v_max 0 range_max]);caxis(爬);

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

总结

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

参考文献

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

[qh]罗林,H.和M.迈内克。汽车雷达系统波形设计原理,国际雷达学术会议论文集,2001。