主要内容GYdF4y2Ba

自动驾驶雷达信号仿真与处理GYdF4y2Ba

这个例子展示了如何对汽车雷达的硬件、信号处理和传播环境建模。首先,使用自动驾驶工具箱™建模高速公路场景。然后,使用radar Toolbox™开发雷达发射和接收硬件、信号处理和跟踪器的模型。最后,在雷达模型上模拟多路径传播效果。GYdF4y2Ba

介绍GYdF4y2Ba

你可以用模型来模拟车辆的运动GYdF4y2BadrivingScenarioGYdF4y2Ba自动驾驶工具箱中的对象。车辆地面真实值可以作为雷达模型的输入,以生成合成传感器检测。有关此工作流的示例,请参见GYdF4y2Ba模拟多路径返回引起的雷达回波GYdF4y2Ba(雷达工具箱)GYdF4y2Ba.本例中使用的汽车雷达使用了一个根据高级雷达规格参数化的统计模型。本例中建模的通用雷达体系结构不包括特定的天线配置、波形或独特的信道传播特性。在设计汽车雷达时,或者当已知雷达的特定体系结构时,使用包含此附加信息的雷达模型。GYdF4y2Ba

雷达工具箱使您能够评估不同的雷达架构。您可以探索不同的发射和接收阵列配置、波形和信号处理链。您还可以根据不同的通道模型评估设计,以评估它们对不同环境条件的健壮性。这种建模帮助您确定最适合您的应用程序需求的特定设计。GYdF4y2Ba

在这个例子中,您将学习如何定义从一组系统要求的雷达型号为长程雷达。然后,模拟驱动方案来从你的雷达模型检测。的跟踪器用于处理这些检测以产生由您的汽车雷达检测出的车辆的位置和速度的精确估计。GYdF4y2Ba

从远程雷达的要求计算雷达参数GYdF4y2Ba

如示例中所述,为调频连续波(FMCW)波形定义了雷达参数GYdF4y2Ba基于FMCW技术的汽车自适应巡航控制GYdF4y2Ba(雷达工具箱)GYdF4y2Ba.雷达在77千兆赫的中心频率进行操作。这个频率通常是由汽车雷达使用。对于长范围操作,该雷达必须在在自主车辆的前方250-300米的最大范围检测车辆。雷达需要解决范围是至少为1米开对象。因为这是一个面向前的雷达应用中,雷达也需要具有大关闭速度高达2.3公里/小时到处理目标。GYdF4y2Ba

雷达设计为使用FMCW波形。这些波形在汽车应用中很常见,因为它们通过计算高效的FFT运算实现距离和多普勒估计。为了便于说明,在本例中,将雷达配置为100米的最大范围。GYdF4y2Ba

%为可重复的结果设置随机数生成器GYdF4y2Barng (2017);GYdF4y2Ba%从指定的远程需求计算硬件参数GYdF4y2Bafc = 77 e9;GYdF4y2Ba%中心频率(Hz)GYdF4y2Bac=物理常数(GYdF4y2Ba“光速”GYdF4y2Ba);GYdF4y2Ba%空气中光速(m/s)GYdF4y2Baλ= freq2wavelen (fc, c);GYdF4y2Ba%波长(m)GYdF4y2Ba%设置啁啾持续时间为最大范围要求的5倍GYdF4y2BarangeMax = 100;GYdF4y2Ba%最大范围(m)GYdF4y2Batm = 5 * range2time (rangeMax c);GYdF4y2Ba%啁啾持续时间(秒)GYdF4y2Ba%根据所需的距离分辨率确定波形带宽GYdF4y2Ba管理员= 1;GYdF4y2Ba期望距离分辨率(m)GYdF4y2Babw = range2bw(管理员,c);GYdF4y2Ba%对应的带宽(Hz)的GYdF4y2Ba%设定采样率以满足量程和速度要求GYdF4y2Ba%,为雷达GYdF4y2Ba扫掠斜率=bw/tm;GYdF4y2Ba%FMCW扫斜率(赫兹/秒)GYdF4y2BafbeatMax = range2beat (rangeMax sweepSlope c);GYdF4y2Ba%最大拍频(Hz)GYdF4y2BavMax=230*1000/3600;GYdF4y2Ba%汽车最大速度(m/s)GYdF4y2BafdopMax = speed2dop (2 * vMax,λ);GYdF4y2Ba%最大多普勒频移(Hz)GYdF4y2BafifMax = fbeatMax + fdopMax;GYdF4y2Ba%最大接收中频(Hz)GYdF4y2BaFS = MAX(2 * fifMax,体重);GYdF4y2Ba%采样率(Hz)的GYdF4y2Ba使用导出的波形参数配置FMCW波形GYdF4y2Ba%长期需求GYdF4y2Ba波形= phased.FMCWWaveform(GYdF4y2Ba“SweepTime”GYdF4y2Batm,GYdF4y2Ba“扫频带宽”GYdF4y2Ba,体重,GYdF4y2Ba...GYdF4y2Ba'采样率'GYdF4y2Bafs,GYdF4y2Ba“SweepDirection”GYdF4y2Ba,GYdF4y2Ba'向上'GYdF4y2Ba);GYdF4y2Ba如果GYdF4y2BaSTRCMP(waveform.SweepDirection,GYdF4y2Ba“下来”GYdF4y2Ba) sweepSlope = -sweepSlope;GYdF4y2Ba终止GYdF4y2BaNsweep=192;sig=波形();GYdF4y2Ba

型号汽车雷达收发器GYdF4y2Ba

该雷达使用各向同性单元发射和统一线性阵列(ULA)接收雷达波形。使用线性阵列使雷达能够估计从目标车辆接收的反射能量的方位角方向。远程雷达需要在自我飞行器前方15度范围内探测目标。六单元接收阵列通过提供17度半功率波束宽度满足这一要求。在发射时,雷达只使用一个阵列元件,使其覆盖的区域比接收时更大。GYdF4y2Ba

建模天线元件GYdF4y2BaantElmnt = phased.IsotropicAntennaElement(GYdF4y2Ba“BackBaffled”GYdF4y2Ba,真正的);GYdF4y2Ba%构造接收数组GYdF4y2Ba不= 6;rxArray =分阶段。齿龈(GYdF4y2Ba“元素”GYdF4y2Ba,antElmnt,GYdF4y2Ba'包含numElements'GYdF4y2Ba不,GYdF4y2Ba...GYdF4y2Ba“ElementSpacing”GYdF4y2Ba,λ/2);GYdF4y2Ba的%半功率波束宽度的接收阵列GYdF4y2Bahpbw=波束宽度(rxArray,fc,GYdF4y2Ba'PropagationSpeed'GYdF4y2Bac)GYdF4y2Ba
hpbw = 17.1800GYdF4y2Ba

使用示例中定义的参数,为单个发射通道的雷达发射机建模,并为每个接收通道的接收机前置放大器建模GYdF4y2Ba基于FMCW技术的汽车自适应巡航控制GYdF4y2Ba(雷达工具箱)GYdF4y2Ba.GYdF4y2Ba

antAperture = 6.06的军医;GYdF4y2Ba%天线孔径(m^2)GYdF4y2BaantGain = aperture2gain (antAperture,λ);GYdF4y2Ba%天线增益(dB)GYdF4y2BatxPkPower = db2pow (5) * 1 e - 3;GYdF4y2BaTx峰值功率(W)GYdF4y2BatxGain = antGain;GYdF4y2Ba天线增益(dB)GYdF4y2BarxGain = antGain;GYdF4y2Ba天线增益(dB)GYdF4y2BarxNF = 4.5;GYdF4y2Ba%接收机噪声系数(dB)GYdF4y2Ba%波形发射机GYdF4y2Ba发射机=分阶段。发射机(GYdF4y2Ba“PeakPower”GYdF4y2Ba,txPkPower,GYdF4y2Ba“获得”GYdF4y2Ba,txGain);GYdF4y2Ba%单发射元件散热器GYdF4y2Ba散热器=分阶段。散热器(GYdF4y2Ba“传感器”GYdF4y2Ba,antElmnt,GYdF4y2Ba“OperatingFrequency”GYdF4y2Ba、fc);GYdF4y2Ba接收数组的%收集器GYdF4y2Ba收集器=分阶段。收集器(GYdF4y2Ba“传感器”GYdF4y2Ba,rxArray,GYdF4y2Ba“OperatingFrequency”GYdF4y2Ba、fc);GYdF4y2Ba%接收前置放大器GYdF4y2Ba接收机=分阶段。ReceiverPreamp (GYdF4y2Ba“获得”GYdF4y2BarxGain,GYdF4y2Ba“噪声系数”GYdF4y2BarxNF,GYdF4y2Ba...GYdF4y2Ba'采样率'GYdF4y2Bafs);GYdF4y2Ba%定义雷达GYdF4y2Ba雷达=雷达收发器(GYdF4y2Ba“波形”GYdF4y2Ba波形,GYdF4y2Ba“发射器”GYdF4y2Ba发射机,GYdF4y2Ba...GYdF4y2Ba“TransmitAntenna”GYdF4y2Ba散热器,GYdF4y2Ba“ReceiveAntenna”GYdF4y2Ba收集器,GYdF4y2Ba“接收方”GYdF4y2Ba,接收者);GYdF4y2Ba

定义雷达信号处理链GYdF4y2Ba

雷达在每个线性相控阵天线单元上收集多次扫描的波形。这些收集的扫描形成一个数据立方体,定义为GYdF4y2Ba雷达数据立方体GYdF4y2Ba(相控阵系统工具箱)GYdF4y2Ba。这些扫描沿数据立方体的快速和慢速时间维度进行相干处理,以估计车辆的距离和多普勒。GYdF4y2Ba

使用根MUSIC估计器估计接收信号的到达方向。波束扫描也用于说明目的,以帮助可视化接收信号能量的空间分布。GYdF4y2Ba

线性相控阵信号的到达方向估计器GYdF4y2Badoa =分阶段。RootMUSICEstimator(...GYdF4y2Ba“传感器阵列”GYdF4y2Ba,rxArray,GYdF4y2Ba...GYdF4y2Ba'PropagationSpeed'GYdF4y2BacGYdF4y2Ba“OperatingFrequency”GYdF4y2Ba,FC,GYdF4y2Ba...GYdF4y2Ba'NumSignalsSource'GYdF4y2Ba,GYdF4y2Ba'财产'GYdF4y2Ba,GYdF4y2Ba'NumSignals'GYdF4y2Ba1);GYdF4y2Ba%在自我车前扫描光束进行距离-角度图像显示GYdF4y2Baangscan=-80:80;波束扫描=相控。相移波束形成器(GYdF4y2Ba'方向'GYdF4y2Ba,[angscan;0*angscan],GYdF4y2Ba...GYdF4y2Ba“传感器阵列”GYdF4y2Ba,rxArray,GYdF4y2Ba“OperatingFrequency”GYdF4y2Ba、fc);GYdF4y2Ba%形成前向光束以检测车辆前方的物体GYdF4y2Babeamformer =分阶段。PhaseShiftBeamformer (GYdF4y2Ba“传感器阵列”GYdF4y2Ba,rxArray,GYdF4y2Ba...GYdF4y2Ba'PropagationSpeed'GYdF4y2BacGYdF4y2Ba“OperatingFrequency”GYdF4y2Ba,FC,GYdF4y2Ba'方向'GYdF4y2Ba,[0; 0]);GYdF4y2Ba

使用GYdF4y2Ba分阶段。RA.ngeDopplerResponse目标对雷达数据立方体进行距离和多普勒处理。使用汉宁窗来抑制车辆靠近雷达时产生的大旁瓣。GYdF4y2Ba

非功能性测试= waveform.SweepTime * waveform.SampleRate;GYdF4y2Ba%快速采样次数GYdF4y2BaNST = Nsweep;GYdF4y2Ba慢时间样本的数量%GYdF4y2BaNr = 2 ^ nextpow2(非功能性测试);GYdF4y2Ba%范围样本数GYdF4y2BaNd=2^nextpow2(Nst);GYdF4y2Ba%多普勒样本数GYdF4y2Barngdopresp =分阶段。RA.ngeDopplerResponse(“RangeMethod”GYdF4y2Ba,GYdF4y2BaFFT的GYdF4y2Ba,GYdF4y2Ba...GYdF4y2Ba“DopplerOutput”GYdF4y2Ba,GYdF4y2Ba“速度”GYdF4y2Ba,GYdF4y2Ba“SweepSlope”GYdF4y2Ba,扫掠斜坡,GYdF4y2Ba...GYdF4y2Ba“RangeFFTLengthSource”GYdF4y2Ba,GYdF4y2Ba'财产'GYdF4y2Ba,GYdF4y2Ba“RangeFFTLength”GYdF4y2Ba,NR,GYdF4y2Ba...GYdF4y2Ba“RangeWindow”GYdF4y2Ba,GYdF4y2Ba“汉恩”GYdF4y2Ba,GYdF4y2Ba...GYdF4y2Ba“DopplerFFTLengthSource”GYdF4y2Ba,GYdF4y2Ba'财产'GYdF4y2Ba,GYdF4y2Ba'DopplerFFTLength'GYdF4y2BaNd,GYdF4y2Ba...GYdF4y2Ba“DopplerWindow”GYdF4y2Ba,GYdF4y2Ba“汉恩”GYdF4y2Ba,GYdF4y2Ba...GYdF4y2Ba'PropagationSpeed'GYdF4y2BacGYdF4y2Ba“OperatingFrequency”GYdF4y2Ba,FC,GYdF4y2Ba'采样率'GYdF4y2Bafs);GYdF4y2Ba

在处理的距离和多普勒数据中,使用恒误报警率(CFAR)探测器识别探测。CFAR探测器估计接收雷达数据的背景噪声水平。检测是在信号功率超过估计噪声下限的某个阈值的位置发现的。由于环境噪声,较低的阈值会导致较高数量的错误检测报告。增加阈值产生更少的错误检测,但也降低了在场景中检测实际目标的概率。有关CFAR检测的更多信息,请参见示例GYdF4y2Ba恒虚警率(CFAR)检测GYdF4y2Ba(相控阵系统工具箱)GYdF4y2Ba.GYdF4y2Ba

保卫单元和训练区域的距离尺寸GYdF4y2BanGuardRng=4;nTrainRng=4;nCUTRng=1+nGuardRng+nTrainRng;GYdF4y2Ba多普勒尺寸%保卫细胞和训练区GYdF4y2BadopOver=圆形(Nd/Nsweep);nGuardDop=4*dopOver;nTrainDop=4*dopOver;nCUTDop=1+nGuardDop+nTrainDop;cfar=phased.CFARDetector2D(GYdF4y2Ba“GuardBandSize”GYdF4y2Ba[nGuardRng nGuardDop]GYdF4y2Ba...GYdF4y2Ba“训练带宽”GYdF4y2Ba,[nTrainRng nTrainDop],GYdF4y2Ba...GYdF4y2Ba“ThresholdFactor”GYdF4y2Ba,GYdF4y2Ba“自定义”GYdF4y2Ba,GYdF4y2Ba“CustomThresholdFactor”GYdF4y2Badb2pow (13)GYdF4y2Ba...GYdF4y2Ba“NoisePowerOutputPort”GYdF4y2Ba,真的,GYdF4y2Ba“OutputFormat”GYdF4y2Ba,GYdF4y2Ba“检测指数”GYdF4y2Ba);GYdF4y2Ba%在所有距离和多普勒单元上执行恒虚警处理GYdF4y2Ba频率= ((0:Nr-1) / nr - 0.5) * fs;rnggrid = beat2range(频率、sweepSlope);iRngCUT =找到(rnggrid > 0);iRngCUT = iRngCUT ((iRngCUT > = nCUTRng) & (iRngCUT < = Nr-nCUTRng + 1));iDopCUT = nCUTDop: (Nd-nCUTDop + 1);[iRng, iDop] = meshgrid (iRngCUT iDopCUT);idxCFAR = [iRng(:) iDop(:)]';GYdF4y2Ba%进行聚类算法,以检测组GYdF4y2Baclusterer=clusterDBSCAN(GYdF4y2Ba‘ε’GYdF4y2Ba2);GYdF4y2Ba

这个GYdF4y2Ba相位距离估计器GYdF4y2Ba和GYdF4y2Ba分阶段。DopplerEstimatorGYdF4y2Ba对象转换在范围多普勒数据中发现的检测的位置到测量及其相应的测量方差。这些估计适合的范围内,多普勒数据二次曲线来估计每个检测的峰值位置。作为结果的测量分辨率的范围内的一小部分和多普勒采样数据。金宝搏官方网站GYdF4y2Ba

为了计算距离测量的方差,需要传输波形的均方根距离分辨率。远程雷达的瑞利距离分辨率以前被定义为1米。瑞利分辨率是两个唯一目标能被分辨的最小距离。此值定义雷达的距离分辨率单元之间的距离。然而,目标在一个分辨率单元内的方差是由波形的均方根分辨率决定的。对于LFM啁啾波形,Rayleigh分辨率和RMS分辨率的关系由[1]给出。GYdF4y2Ba

σGYdF4y2Ba RGYdF4y2Ba MGYdF4y2Ba sGYdF4y2Ba =GYdF4y2Ba 1.GYdF4y2Ba 2.GYdF4y2Ba ΔGYdF4y2Ba RGYdF4y2Ba A.GYdF4y2Ba YGYdF4y2Ba LGYdF4y2Ba EGYdF4y2Ba 我GYdF4y2Ba GGYdF4y2Ba HGYdF4y2Ba

在哪里GYdF4y2Ba σGYdF4y2Ba RGYdF4y2Ba MGYdF4y2Ba sGYdF4y2Ba RMS距离分辨率和GYdF4y2Ba ΔGYdF4y2Ba RGYdF4y2Ba A.GYdF4y2Ba YGYdF4y2Ba LGYdF4y2Ba EGYdF4y2Ba 我GYdF4y2Ba GGYdF4y2Ba HGYdF4y2Ba 是瑞利距离分辨率。GYdF4y2Ba

多普勒测量的方差取决于所处理的扫描次数。GYdF4y2Ba

现在,创建范围和多普勒估计对象使用先前定义的参数。GYdF4y2Ba

rmsRng = sqrt(12) *管理员;rngestimator =分阶段。RangeEstimator (GYdF4y2Ba“ClusterInputPort”GYdF4y2Ba,真的,GYdF4y2Ba...GYdF4y2Ba“VarianceOutputPort”GYdF4y2Ba,真的,GYdF4y2Ba“NoisePowerSource”GYdF4y2Ba,GYdF4y2Ba“输入端口”GYdF4y2Ba,GYdF4y2Ba...GYdF4y2Ba“RMSResolution”GYdF4y2Ba, rmsRng);dopestimator =分阶段。DopplerEstimator (GYdF4y2Ba“ClusterInputPort”GYdF4y2Ba,真的,GYdF4y2Ba...GYdF4y2Ba“VarianceOutputPort”GYdF4y2Ba,真的,GYdF4y2Ba“NoisePowerSource”GYdF4y2Ba,GYdF4y2Ba“输入端口”GYdF4y2Ba,GYdF4y2Ba...GYdF4y2Ba“NumPulses”GYdF4y2Ba, Nsweep);GYdF4y2Ba

为了进一步提高估计车辆位置的精度,将雷达探测传递给跟踪器。将跟踪器配置为使用扩展卡尔曼滤波器(EKF),它将球面雷达测量转换为自我飞行器的笛卡尔坐标系。还将跟踪器配置为对检测到的车辆使用恒定速度动力学。通过比较多个测量时间间隔内的车辆检测结果,跟踪器进一步提高了车辆位置的准确性,并提供了车辆速度估计。GYdF4y2Ba

追踪= radarTracker (GYdF4y2Ba“FilterInitializationFcn”GYdF4y2Ba@ initcvekf,GYdF4y2Ba...GYdF4y2Ba“AssignmentThreshold”GYdF4y2Ba, 50);GYdF4y2Ba

自由空间传播信道模型GYdF4y2Ba

使用自由空间信道对发射和接收的雷达信号的传播进行建模。GYdF4y2Ba

在自由空间模型中,雷达能量沿雷达和目标车辆之间的直接视线传播,如下图所示。GYdF4y2Ba

模拟驾驶场景GYdF4y2Ba

创建一个高速公路驾驶场景,有三辆车在自我车辆附近行驶。车辆建模为长方体,在驾驶场景中定义了不同的速度和位置。ego车以80公里/小时的速度行驶,其他3辆车分别以110公里/小时、100公里/小时和130公里/小时的速度行驶。有关建模驾驶场景的详细信息,请参见示例GYdF4y2Ba以编程方式创建参与者和车辆轨迹GYdF4y2Ba.雷达传感器安装在自身车辆的前方。GYdF4y2Ba

要创建驱动的情况下,使用GYdF4y2BahelperAutoDrivingRadarSigProcGYdF4y2Ba函数。要检查该函数的内容,请使用GYdF4y2Ba编辑(“helperAutoDrivingRadarSigProc”)GYdF4y2Ba命令。GYdF4y2Ba

%创建驾驶场景GYdF4y2Ba[场景、egoCar radarParams] =GYdF4y2Ba...GYdF4y2Ba辅助自动驾驶雷达GPROC(GYdF4y2Ba设置场景的GYdF4y2Bac fc);GYdF4y2Ba

下面的循环使用GYdF4y2BadrivingScenarioGYdF4y2Ba目标在场景中推进车辆。在每个仿真时间步上,通过收集雷达波形192次扫描组装一个雷达数据立方体。然后对组装的数据立方体进行距离和多普勒处理。然后对距离和多普勒处理的数据进行波束形成,并对波束形成的数据进行CFAR检测。距离,径向速度和到达方向的测量被估计为CFAR探测。这些检测然后组装成GYdF4y2Ba目标检测GYdF4y2Ba对象,然后由GYdF4y2BaradarTrackerGYdF4y2Ba对象。GYdF4y2Ba

%初始化显示驱动场景示例GYdF4y2Ba辅助自动驾驶雷达GPROC(GYdF4y2Ba初始化显示的GYdF4y2Ba,egoCar,radarParams,GYdF4y2Ba...GYdF4y2BarxArray, fc, rangeMax);tgtProfiles = actorProfiles(场景);tgtProfiles = tgtProfiles(2:结束);tgtHeight = [tgtProfiles.Height];GYdF4y2Ba%运行模拟循环GYdF4y2Ba扫描时间=波形。扫描时间;GYdF4y2Ba而GYdF4y2Ba推进(场景)GYdF4y2Ba%获取当前场景时间GYdF4y2Ba时间= scenario.SimulationTime;GYdF4y2Ba在ego车辆的参照系中获得当前目标的姿态GYdF4y2BatgtPoses = targetPoses (egoCar);tgtPos =重塑([tgtPoses.Position] 3 []);GYdF4y2Ba%将点目标定位在每个目标高度的一半处GYdF4y2BatgtPos(3,:)=tgtPos(3,:)+0.5*tgtHeight;tgtVel=重塑([tgtPos.Velocity],3,[]);GYdF4y2Ba%在当前场景时组装数据立方体GYdF4y2BaXcube = 0(非功能性测试,Ne Nsweep);GYdF4y2Ba对于GYdF4y2Bam = 1时:Nsweep ntgt =尺寸(tgtPos,2);tgtStruct =结构(GYdF4y2Ba“位置”GYdF4y2Bamat2cell (tgtPos(:)。”,1,repmat (3 1 ntgt)),GYdF4y2Ba...GYdF4y2Ba“速度”GYdF4y2Bamat2cell (tgtVel(:)。”,1,repmat (3 1 ntgt)),GYdF4y2Ba...GYdF4y2Ba“签名”GYdF4y2Ba,{rcsSignature,rcsSignature,rcsSignature});rxsig=雷达(TGT结构,时间+(m-1)*扫描时间);GYdF4y2Ba%对接收的信号进行解码GYdF4y2Barxsig =解线调(rxsig,SIG);GYdF4y2Ba%保存扫描到数据立方体GYdF4y2BaXcube(:,:,米)= rxsig;GYdF4y2Ba%及时向前移动目标以进行下一次扫描GYdF4y2BatgtPos = tgtPos + tgtVel * SWEEPTIME;GYdF4y2Ba终止GYdF4y2Ba%计算距离-多普勒响应GYdF4y2Ba[Xrngdop, rnggrid dopgrid] = rngdopresp (Xcube);GYdF4y2Ba接收到的数据GYdF4y2BaXBF =置换(Xrngdop,[1 3 2]);XBF =重塑(XBF,NR *钕,NE);XBF =波束形成器(XBF);XBF =重塑(XBF,NR,钕);GYdF4y2Ba%检测目标GYdF4y2BaXpow=abs(Xbf)。^2;[detidx,noisepwr]=cfar(Xpow,idxCFAR);GYdF4y2Ba%集群检测GYdF4y2Ba[~, clusterIDs] = clusterer运算(detidx。');GYdF4y2Ba估计方位,距离和径向速度测量GYdF4y2Ba[az, azvar snrdB] =GYdF4y2Ba...GYdF4y2Ba辅助自动驾驶雷达GPROC(GYdF4y2Ba“估计角”GYdF4y2Ba,doeast,GYdF4y2Ba...GYdF4y2Ba连词(Xrngdop) Xbf、detidx noisepwr, clusterIDs);azvar = azvar + radarParams.RMSBias (1) ^ 2;[rng, rngvar] = rngestimator (Xbf、rnggrid detidx, noisepwr, clusterIDs);rngvar = rngvar + radarParams.RMSBias (2) ^ 2;(rs, rsvar) = dopestimator (Xbf、dopgrid detidx, noisepwr, clusterIDs);GYdF4y2Ba%将径向速度转换为范围速率,以供跟踪器使用GYdF4y2Barr = -rsest;rrvar = rsvar;rrvar = rrvar + radarParams.RMSBias (3) ^ 2;GYdF4y2Ba%汇编对象检测用于通过跟踪器使用GYdF4y2BanumDets =元素个数(rng);依据=细胞(numDets, 1);GYdF4y2Ba对于GYdF4y2Badets{iDet} = objectDetection(time,GYdF4y2Ba...GYdF4y2Ba[阿兹(iDet) rng (iDet) rr (iDet)”,GYdF4y2Ba...GYdF4y2Ba“MeasurementNoise”GYdF4y2Ba,diag([azvar(iDet)rngvar(iDet)rrvar(iDet)],GYdF4y2Ba...GYdF4y2Ba“测量参数”GYdF4y2Ba{radarParams},GYdF4y2Ba...GYdF4y2Ba“对象属性”GYdF4y2Ba{结构(GYdF4y2Ba“信噪比”GYdF4y2Ba,snrdB(iDet))};GYdF4y2Ba终止GYdF4y2Ba%航迹探测GYdF4y2Ba跟踪=追踪(依据、时间);GYdF4y2Ba%更新显示GYdF4y2Ba辅助自动驾驶雷达GPROC(GYdF4y2Ba“显示更新”GYdF4y2Ba,egoCar,dets,tracks,GYdF4y2Ba...GYdF4y2Badopgrid、rnggrid Xbf、beamscan Xrngdop);GYdF4y2Ba%收集空闲空间通道指标GYdF4y2BametricsFS = helperAutoDrivingRadarSigProc (GYdF4y2Ba“收集度量”GYdF4y2Ba,GYdF4y2Ba...GYdF4y2BaradarParams、tgtPos tgtVel,依据);GYdF4y2Ba终止GYdF4y2Ba

上图显示了三辆目标车在1.1秒仿真时间下的雷达探测和跟踪情况。左上方的情节显示了从自我车辆的角度(以蓝色显示)拍摄的驾驶场景。作为参考,ego的车速为80公里/小时,其他3辆的车速分别为110公里/小时(橙色)、100公里/小时(黄色)和130公里/小时(紫色)。GYdF4y2Ba

图的右侧显示了鸟瞰图,它展示了场景的自顶向下视角。所有的车辆、检测和轨迹都显示在ego车辆的坐标参考系中。每个雷达测量的估计信噪比(SNR)被打印在每个检测的旁边。跟踪器估计的车辆位置用黑色方块显示在plot中,黑色方块旁边的文本表示每个轨道的ID。跟踪器估计的每辆车的速度以黑线表示,黑线指向车速的方向。线的长度对应于估计的速度,较长的线表示相对于自我车辆具有更高速度的车辆。紫色车厢(ID2)的轨道线最长,黄色车厢(ID1)的轨道线最短。履带速度与前面列出的模型车辆速度一致。GYdF4y2Ba

左下侧的两个图显示由所述信号处理所生成的雷达图像。上面的曲线说明了由目标车辆接收的雷达回波分布在范围和径向速度。在这里,所有的三辆车观察。测量的径向速度对应于由跟踪器所估计的速度,如图所示的鸟瞰图。下面的曲线示出了如何接收到的目标回波在空间上分布在距离和角度。同样,所有三个目标都存在,它们的位置相匹配什么是在鸟瞰图中显示。GYdF4y2Ba

由于它与雷达的距离很近,橙色汽车仍然可以被探测到,尽管它的位置超出了波束的3 dB波束宽度,造成了很大的波束形成损失。这些检测已经为橙色汽车生成了一个轨迹(ID3)。GYdF4y2Ba

多路径通道模型GYdF4y2Ba

在此前的行驶情景模拟使用自由空间传播。这是一个简单的模型,该雷达与各目标之间的车型唯一的直接视线传播。在现实中,雷达信号传播要复杂得多,达到每个目标和返回回雷达之前涉及来自多个障碍物反射。这种现象被称为GYdF4y2Ba多路径传播GYdF4y2Ba.下图显示了多径传播,其中照射到目标的信号是从两个方向来的一个这样的情况下:线的视线和从道路表面的单个反弹。GYdF4y2Ba

多径传播的总体影响是,接收到的雷达回波可以进行建设性干扰和破坏性干扰。这种建设性干扰和破坏性干扰是由不同信号传播路径之间的路径长度差异造成的。随着雷达和车辆之间距离的变化,这些路径长度差异会减小o变化。当这些路径之间的差异导致雷达接收到的回波几乎与相位相差180度时,回波会破坏性地合并,雷达不会对该范围进行检测。GYdF4y2Ba

将自由空间通道模型替换为双光线通道模型,以演示上图所示的传播环境。重用驾驶场景和雷达模型中的其余参数,然后再次运行模拟。GYdF4y2Ba

%重新设置驾驶场景GYdF4y2Ba[场景、egoCar radarParams, pointTgts] =GYdF4y2Ba...GYdF4y2Ba辅助自动驾驶雷达GPROC(GYdF4y2Ba设置场景的GYdF4y2Bac fc);GYdF4y2Ba%再次运行模拟,现在使用双光线通道模型GYdF4y2Bametrics2Ray = helperAutoDrivingRadarSigProc (GYdF4y2Ba“两雷模拟”GYdF4y2Ba,GYdF4y2Ba...GYdF4y2BaC,FC,的RangeMax,VMAX,Nsweep,GYdF4y2Ba...GYdF4y2Ba%波形参数GYdF4y2Barngdopresp、beamformer cfar、idxCFAR clusterer运算,GYdF4y2Ba...GYdF4y2Ba%信号处理GYdF4y2Babeamscan rngestimator、dopestimator doa,追踪,GYdF4y2Ba...GYdF4y2Ba%估计GYdF4y2Ba雷达,SIG);GYdF4y2Ba%硬件模型GYdF4y2Ba

上图显示了仿真时间为1.1秒时的追逐图、鸟瞰图和雷达图像,与自由空间信道传播场景中显示的一样。对比这两幅图,可以看到,对于双射线通道,在本次仿真时紫色车辆没有检测到。这种检测损失是由于路径长度的差异,这款车是破坏性的干扰,在这个范围,导致整体检测损失。GYdF4y2Ba

将CFAR处理生成的信噪比估计与从自由空间和双射线通道模拟得到的紫色汽车的距离估计绘制成图。GYdF4y2Ba

辅助自动驾驶雷达GPROC(GYdF4y2Ba“阴谋频道”GYdF4y2Ba,metricsFS,metrics2Ray);GYdF4y2Ba

图通道传播包含一个轴对象。标题为“传播通道”的axis对象包含两个类型为line的对象。这些物体代表自由空间,双射线。GYdF4y2Ba

当汽车接近距离雷达72米的范围时,与自由空间通道相比,观察到双射线通道的估计信噪比有很大损失。在这个范围附近,多径干扰的破坏性结合,导致信号检测的损失。然而,观察跟踪器能够在这些信号丢失的时间滑行轨道,并为紫色车提供预测的位置和速度。GYdF4y2Ba

总结GYdF4y2Ba

这个例子展示了如何使用雷达工具箱建模汽车雷达的硬件和信号处理。您还将了解如何将该雷达模型与自动驾驶工具箱的驾驶场景模拟集成。首先你生成合成雷达探测。然后,通过使用跟踪器进一步处理这些检测,在ego车辆的坐标系中生成精确的位置和速度估计。最后,您将学习如何模拟多路径传播效果。GYdF4y2Ba

此示例中提供的工作流使您能够了解雷达体系结构设计决策如何影响更高级别的系统需求。使用此工作流,您可以选择满足独特应用程序需求的雷达设计。GYdF4y2Ba

参考GYdF4y2Ba

理查兹[1],马克。GYdF4y2Ba雷达信号处理基础GYdF4y2Ba纽约:麦格劳·希尔,2005年。GYdF4y2Ba

另见GYdF4y2Ba

物体GYdF4y2Ba

相关的话题GYdF4y2Ba