基于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 = range2bw (range_res c);sweep_slope = bw / tm;

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

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

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

在这个例子中,对应于最大范围的拍频为

fr_max=范围2Beat(范围_max,扫掠斜率,c);

此外,汽车行驶的最大速度约为230公里/小时。因此,最大多普勒频移和最大拍频可以计算为

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

该示例采用最大拍频和带宽两倍中较大的采样率。

fs=最大值(2*fb_最大值,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));包含(‘时间’); 伊拉贝尔(“振幅(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));cartarget =分阶段。RadarTarget (“MeanRCS”car_rcs,“PropagationSpeed”c...“OperatingFrequency”、fc);carmotion =分阶段。平台(“InitialPosition”(car_dist; 0; 0.5),...“速度”,[car_speed;0;0]);

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

频道=分阶段。空闲空间(“PropagationSpeed”c...“OperatingFrequency”,fc,“SampleRate”fs,“双向传播”,真正的);

雷达系统设置

雷达系统的其余部分包括发射机、接收机和天线。本例使用[1]中给出的参数。请注意,本示例仅对主要组件进行建模,并忽略了其他组件(如耦合器和混频器)的影响。此外,为简单起见,假设天线为各向同性,天线增益包括在发射机和接收机中。

ant_aperture = 6.06的军医;%平方米ant_增益=孔径2Gain(ant_孔径,λ);在dB %tx_ppower=db2pow(5)*1e-3;%的美国瓦茨tx_增益=9+ant_增益;在dB %rx_gain = 15 + ant_gain;在dB %rx_nf=4.5;在dB %发射机=分阶段。发射机(“PeakPower”,德克萨斯州,“收益”, tx_gain);接收机=分阶段。ReceiverPreamp (“收益”,rx_增益,“NoiseFigure”,rx_nf,...“SampleRate”fs);

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

雷达速度=100*1000/3600;雷达运动=相控平台(“InitialPosition”(0, 0, 0.5),...“速度”, radar_speed, 0, 0);

雷达信号模拟

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

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

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

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

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

  4. 接收天线收集信号。

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

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

下一节将模拟上述过程。总共模拟64次扫描,并在最后生成距离多普勒响应。

在模拟过程中,使用频谱分析仪显示每个接收扫描的频谱以及其去啁啾对应的频谱。

specanalyzer=dsp.SpectrumAnalyzer(“SampleRate”fs,...“绘制双侧面光谱”是的,...“头衔”,“接收和去啁啾信号的频谱”,...“ShowLegend”,真正的);

接下来,运行模拟循环。

rng (2012);Nsweep = 64;xr =复杂(0 (waveform.SampleRate * waveform.SweepTime Nsweep));m = 1: Nsweep更新雷达和目标位置[radar_pos,radar_vel]=雷达运动(波形扫描时间);[tgt_pos,tgt_vel]=汽车运动(波形扫描时间);%发射调频连续波波形sig =波形();txsig =发射机(团体);%传播信号并反射到目标上txsig =通道(txsig radar_pos、tgt_pos radar_vel, tgt_vel);txsig = cartarget (txsig);将接收到的雷达返回信号解码txsig =接收机(txsig);dechirpsig = dechirp (txsig、团体);%想象光谱specanalyzer([txsig Dechirspsig]);xr(:,m)=Dechirspsig;结束

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

距离和多普勒估计

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

rngdopresp=相控.RangeDopplerResponse(“PropagationSpeed”c...“DopplerOutput”,“速度”,“OperatingFrequency”,fc,“SampleRate”fs,...“范围法”,FFT的,“SweepSlope”sweep_slope,...“RangeFFTLengthSource”,“属性”,“RangeFFTLength”,2048,...“DopplerFFTLengthSource”,“属性”,“DopplerFFTLength”, 256);clf;plotResponse (rngdopresp xr);%绘制距离多普勒图轴([-v_max v_max 0 range_max]) clim = caxis;

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

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

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

Dn =修复(fs / (2 * fb_max));m=大小(xr,2):-1:1 xr_d(:,m)=抽取(xr(:,m),Dn,“杉”);结束fs_d=fs/Dn;

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

fb\u rng=根音乐(pulsint(xr\u d,“连贯的”),1,fs_d);rng\U est=beat2range(fb\u rng,扫掠斜率,c)
rng_est=42.9976

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

峰值位置=val2ind(rng_est,c/(fs_d*2));fd=-rootmusic(xr_d(peak_loc,:),1,1/tm);v_est=dop2速度(fd,λ)/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 =克隆(波形);释放(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 m的距离误差不能再被忽略,需要进行补偿。自然地,人们可能会考虑按照前面部分所述的相同程序来做,估计距离和多普勒,从多普勒频移计算出距离多普勒耦合,然后从估计中去除误差。

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

v_unambiguous = dop2speed (1 / (2 * tm),λ)/ 2
v_无歧义=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,...发射机、通道、cartarget接收机);

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

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

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

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

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

fd=-(fbu\u rng+fbd\u rng)/2;v\u est=dop2speed(fd,lambda)/2
v_est=1.1114

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

双线传播

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

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

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

txchannel=相控.twarythannel(“PropagationSpeed”c...“OperatingFrequency”,fc,“SampleRate”,fs);rxchannel=相控.TwoRayChannel(“PropagationSpeed”c...“OperatingFrequency”,fc,“SampleRate”fs);Nsweep = 64;xr = helperFMCWTwoRaySimulate (Nsweep、波形、radarmotion carmotion,...发射机、TX信道、RX信道、车载目标、接收机);绘图仪响应(rngdopresp、xr);%绘制距离多普勒图轴([-v_max v_max 0 range_max]);caxis(爬);

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

总结

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

参考文献

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

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