雷达信号模拟与处理方法进行自动驾驶GÿdF4y2Ba

该示例示出了如何将雷达的硬件,信号处理,以及传播环境模型的驱动方案。首先,你开发雷达发射的模型,并使用相控阵系统工具箱™接收硬件,信号处理,检测和评估。然后,你的模型车辆的运动和跟踪使用自动驾驶工具箱™的汽车综合检测。在这个例子中,你使用这个雷达模型来跟踪高速公路行驶场景检测。GÿdF4y2Ba

此示例要求相控阵系统工具箱。GÿdF4y2Ba

介绍GÿdF4y2Ba

您可以通过使用车辆运动模型GÿdF4y2BadrivingScenarioGÿdF4y2Ba从自动驾驶工具箱对象。然后,车辆地面实况可用于生成合成的传感器的检测,这可以通过使用跟踪GÿdF4y2BamultiObjectTrackerGÿdF4y2Ba宾语。对于这个工作流程的一个例子,见GÿdF4y2Ba传感器融合使用合成雷达和视觉数据GÿdF4y2Ba。在此示例中使用的汽车雷达使用了被根据高级别雷达规格参数的统计模型。通用雷达结构在这个例子中建模不包括特定的天线配置,波形或唯一的信道的传播特性。在设计汽车雷达,或者当雷达的具体结构是已知的,建议使用雷达模型,其中包括此附加信息。GÿdF4y2Ba

相控阵系统工具箱可以评估不同的雷达架构。你可以探索不同的发射和接收阵列配置,波形和信号处理链。您也可以评估你针对不同的信道模型设计,其稳健性评估不同的环境条件。这个造型可以帮助你找出最适合你的应用程序要求的具体设计。GÿdF4y2Ba

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

从远程雷达的要求计算雷达参数GÿdF4y2Ba

雷达参数是为频率调制连续波(FMCW)波形定义,如在实施例中描述GÿdF4y2Ba汽车自适应巡航控制系统使用FMCW技术GÿdF4y2Ba(相控阵系统工具箱)。雷达在77千兆赫的中心频率进行操作。这个频率通常是由汽车雷达使用。对于长范围操作,该雷达必须在在自主车辆的前部100米的最大范围检测车辆。雷达需要解决范围是至少为1米开对象。因为这是一个面向前的雷达应用中,雷达还需要处理大关闭速度的目标,高达2.3公里/小时。GÿdF4y2Ba

该雷达的设计使用FMCW波形。这些波形是常见于汽车应用,因为它们能够通过高效计算FFT操作范围和多普勒估计。GÿdF4y2Ba

%设定随机数发生器,用于可重复的结果GÿdF4y2BaRNG(2017);GÿdF4y2Ba从指定的远距离要求%计算硬件参数GÿdF4y2BaFC = 77e9;GÿdF4y2Ba%中心频率(Hz)GÿdF4y2BaC = physconst(GÿdF4y2Ba“光速”GÿdF4y2Ba);GÿdF4y2Ba在空气中的光的%速度(米/秒)GÿdF4y2Ba拉姆达= C / FC;GÿdF4y2Ba%波长(米)GÿdF4y2Ba%设置啁啾持续时间为5倍最大范围要求GÿdF4y2Ba的RangeMax = 100;GÿdF4y2Ba%最大范围(M)GÿdF4y2BaTM = 5 * range2time(的RangeMax,C);GÿdF4y2Ba%啁啾持续时间(S)GÿdF4y2Ba%确定从要求的范围分辨率的波形带宽GÿdF4y2BarangeRes = 1;GÿdF4y2Ba%所需的范围分辨率(米)GÿdF4y2BaBW = range2bw(rangeRes,C);GÿdF4y2Ba%对应的带宽(Hz)的GÿdF4y2Ba%设置采样率同时满足距离和速度的要求GÿdF4y2Ba%,为雷达GÿdF4y2BasweepSlope =体重/ TM;GÿdF4y2Ba%FMCW扫斜率(赫兹/秒)GÿdF4y2BafbeatMax = range2beat(的RangeMax,sweepSlope,C);GÿdF4y2Ba%最大拍频(Hz)的GÿdF4y2BaVMAX = 230 *3600分之1000;GÿdF4y2Ba汽车的%最大速度(米/秒)GÿdF4y2BafdopMax = speed2dop(2 * Vmax时,拉姆达);GÿdF4y2Ba%最大多普勒频移(Hz)的GÿdF4y2BafifMax = fbeatMax + fdopMax;GÿdF4y2Ba%最大接收中频(IF)(Hz)的GÿdF4y2BaFS = MAX(2 * fifMax,体重);GÿdF4y2Ba%采样率(Hz)的GÿdF4y2Ba%配置使用从得到的波形参数的FMCW波形GÿdF4y2Ba%的长范围要求GÿdF4y2Ba波形= phased.FMCWWaveform(GÿdF4y2Ba'SWEEPTIME'GÿdF4y2Ba,Tm值,GÿdF4y2Ba'SweepBandwidth'GÿdF4y2Ba,体重,GÿdF4y2Ba'采样率'GÿdF4y2Ba,FS);Nsweep = 192;GÿdF4y2Ba

型号汽车雷达硬件GÿdF4y2Ba

该雷达使用线性阵列(ULA)的均匀成发射和接收雷达波形。使用线性阵列使得能够雷达来估计从所述目标车辆接收到的反射能量的方位角方向。长程雷达需要检测整个覆盖区域的目标,在自身车辆前方跨度15度。A 6-元件通过提供一16度的半功率波束宽度的接收阵列满足这一要求。在发送时,雷达仅使用单个阵列元素,从而使其能够覆盖比上接收一个较大的面积。GÿdF4y2Ba

%模型中的天线元件GÿdF4y2BaantElmnt = phased.IsotropicAntennaElement(GÿdF4y2Ba'BackBaffled'GÿdF4y2Ba,真正);GÿdF4y2Ba%构建接收阵列GÿdF4y2BaNE = 6;rxArray = phased.ULA(GÿdF4y2Ba'元件'GÿdF4y2Ba,antElmnt,GÿdF4y2Ba'包含numElements'GÿdF4y2Ba,NE,GÿdF4y2Ba'ElementSpacing'GÿdF4y2Ba,λ-/ 2);GÿdF4y2Ba%形态朝前光束,以检测自身车辆的前方的物体GÿdF4y2Ba波束形成器= phased.PhaseShiftBeamformer(GÿdF4y2Ba'SensorArray'GÿdF4y2Ba,rxArray,GÿdF4y2Ba...GÿdF4y2Ba'PropagationSpeed'GÿdF4y2Ba,C,GÿdF4y2Ba'工作频率'GÿdF4y2Ba,FC,GÿdF4y2Ba'方向'GÿdF4y2Ba,[0; 0]);GÿdF4y2Ba的%半功率波束宽度的接收阵列GÿdF4y2BahelperAutoDrivingRadarSigProc(GÿdF4y2Ba“阵列波束宽度”GÿdF4y2Ba,rxArray,C,FC)GÿdF4y2Ba
ANS = 16.3636GÿdF4y2Ba

估计的方向的到达使用根MUSIC估计器所接收的信号的。甲beamscan也用于说明性的目的,以帮助在空间可视化所接收的信号能量的分布。GÿdF4y2Ba

%方向的到达估计器,用于线性相控阵信号GÿdF4y2Badoaest = phased.RootMUSICEstimator(GÿdF4y2Ba...GÿdF4y2Ba'SensorArray'GÿdF4y2Ba,rxArray,GÿdF4y2Ba...GÿdF4y2Ba'PropagationSpeed'GÿdF4y2Ba,C,GÿdF4y2Ba'工作频率'GÿdF4y2Ba,FC,GÿdF4y2Ba...GÿdF4y2Ba'NumSignalsSource'GÿdF4y2Ba,GÿdF4y2Ba'属性'GÿdF4y2Ba,GÿdF4y2Ba'NumSignals'GÿdF4y2Ba,1);GÿdF4y2Ba%扫描光束在自主车辆的前方为范围角度图像显示GÿdF4y2Baangscan = -80:80;beamscan = phased.PhaseShiftBeamformer(GÿdF4y2Ba'方向'GÿdF4y2Ba[angscan; 0 * angscan]GÿdF4y2Ba...GÿdF4y2Ba'SensorArray'GÿdF4y2Ba,rxArray,GÿdF4y2Ba'工作频率'GÿdF4y2Ba,FC);GÿdF4y2Ba

建模为单个传输信道的雷达发射器和每个接收信道的接收器前置放大器模型,用在实施例中定义的参数GÿdF4y2Ba汽车自适应巡航控制系统使用FMCW技术GÿdF4y2Ba(相控阵系统工具箱)。GÿdF4y2Ba

antAperture = 6.06e-4;GÿdF4y2Ba%天线孔径(平方公尺)GÿdF4y2BaantGain = aperture2gain(antAperture,拉姆达);GÿdF4y2Ba%天线增益(dB)GÿdF4y2BatxPkPower = db2pow(5)* 1E-3;GÿdF4y2Ba%的Tx峰值功率(W)GÿdF4y2BatxGain = antGain;GÿdF4y2Ba%的Tx天线增益(dB)GÿdF4y2BarxGain = antGain;GÿdF4y2Ba%Rx天线增益(dB)GÿdF4y2BarxNF = 4.5;GÿdF4y2Ba%接收机噪声指数(dB)GÿdF4y2Ba%波形发射GÿdF4y2Ba发射机= phased.Transmitter(GÿdF4y2Ba'峰值功率'GÿdF4y2Ba,txPkPower,GÿdF4y2Ba'获得'GÿdF4y2Ba,txGain);GÿdF4y2Ba%散热器为单个发射元件GÿdF4y2Ba散热器= phased.Radiator(GÿdF4y2Ba'传感器'GÿdF4y2Ba,antElmnt,GÿdF4y2Ba'工作频率'GÿdF4y2Ba,FC);GÿdF4y2Ba%采集器接收阵列GÿdF4y2Ba集电极= phased.Collector(GÿdF4y2Ba'传感器'GÿdF4y2Ba,rxArray,GÿdF4y2Ba'工作频率'GÿdF4y2Ba,FC);GÿdF4y2Ba%接收机前置放大器GÿdF4y2Ba接收机= phased.ReceiverPreamp(GÿdF4y2Ba'获得'GÿdF4y2Ba,rxGain,GÿdF4y2Ba“噪声系数”GÿdF4y2Ba,rxNF,GÿdF4y2Ba'采样率'GÿdF4y2Ba,FS);GÿdF4y2Ba

定义雷达信号处理链GÿdF4y2Ba

雷达收集关于各直线的波形的多次扫描的相控阵天线单元。这些收集的扫描形成一个数据立方体,这是在所定义GÿdF4y2Ba雷达数据魔方GÿdF4y2Ba(相控阵系统工具箱)。这些扫描被相干沿着数据立方体的快和慢时间维度处理以估计车辆的距离和多普勒。GÿdF4y2Ba

使用GÿdF4y2Baphased.RangeDopplerResponseGÿdF4y2Ba对象来执行对雷达数据立方体的范围和多普勒处理。使用汉宁窗以抑制车辆所产生的大旁瓣,当他们接近雷达。GÿdF4y2Ba

NFT = waveform.SweepTime * waveform.SampleRate;GÿdF4y2Ba快速实时样本的数量%GÿdF4y2BaNST = Nsweep;GÿdF4y2Ba慢时间样本的数量%GÿdF4y2BaNR = 2 ^ nextpow2(NFT);GÿdF4y2Ba范围的样品的%数目的处理后GÿdF4y2Ba的Nd = 2 ^ nextpow2(NST);GÿdF4y2Ba多普勒样品的%数目的处理后GÿdF4y2Barngdopresp = phased.RangeDopplerResponse(GÿdF4y2Ba'RangeMethod'GÿdF4y2Ba,GÿdF4y2Ba'FFT'GÿdF4y2Ba,GÿdF4y2Ba'DopplerOutput'GÿdF4y2Ba,GÿdF4y2Ba'速度'GÿdF4y2Ba,GÿdF4y2Ba...GÿdF4y2Ba'SweepSlope'GÿdF4y2Ba,sweepSlope,GÿdF4y2Ba...GÿdF4y2Ba'RangeFFTLengthSource'GÿdF4y2Ba,GÿdF4y2Ba'属性'GÿdF4y2Ba,GÿdF4y2Ba'RangeFFTLength'GÿdF4y2Ba,NR,GÿdF4y2Ba...GÿdF4y2Ba'RangeWindow'GÿdF4y2Ba,GÿdF4y2Ba“汉娜”GÿdF4y2Ba,GÿdF4y2Ba...GÿdF4y2Ba'DopplerFFTLengthSource'GÿdF4y2Ba,GÿdF4y2Ba'属性'GÿdF4y2Ba,GÿdF4y2Ba'DopplerFFTLength'GÿdF4y2Ba,钕,GÿdF4y2Ba...GÿdF4y2Ba'DopplerWindow'GÿdF4y2Ba,GÿdF4y2Ba“汉娜”GÿdF4y2Ba,GÿdF4y2Ba...GÿdF4y2Ba'PropagationSpeed'GÿdF4y2Ba,C,GÿdF4y2Ba'工作频率'GÿdF4y2Ba,FC,GÿdF4y2Ba'采样率'GÿdF4y2Ba,FS);GÿdF4y2Ba

通过使用恒虚警率(CFAR)检测器确定在处理范围检测和多普勒数据。CFAR检测器估计所述接收的雷达数据的背景噪声电平。检测在其中信号功率通过某一阈值超过估计噪声基底地点找到。低阈值导致较高的数报告的错误检测由于环境噪声的。增大阈值产生较少假检测,同时也降低检测在场景中实际目标的概率。对于恒虚警检测的详细信息,请参阅该示例GÿdF4y2Ba恒虚警率(CFAR)检测GÿdF4y2Ba(相控阵系统工具箱)。GÿdF4y2Ba

对于距离维%保卫细胞和训练区GÿdF4y2BanGuardRng = 4;nTrainRng = 4;nCUTRng = 1 + nGuardRng + nTrainRng;GÿdF4y2Ba多普勒尺寸%保卫细胞和训练区GÿdF4y2BadopOver =圆形(ND / Nsweep);nGuardDop = 4 * dopOver;nTrainDop = 4 * dopOver;nCUTDop = 1 + nGuardDop + nTrainDop;CFAR = phased.CFARDetector2D(GÿdF4y2Ba'GuardBandSize'GÿdF4y2Ba[nGuardRng nGuardDop]GÿdF4y2Ba...GÿdF4y2Ba'TrainingBandSize'GÿdF4y2Ba[nTrainRng nTrainDop]GÿdF4y2Ba...GÿdF4y2Ba'ThresholdFactor'GÿdF4y2Ba,GÿdF4y2Ba“自定义”GÿdF4y2Ba,GÿdF4y2Ba'CustomThresholdFactor'GÿdF4y2Ba,db2pow(13),GÿdF4y2Ba...GÿdF4y2Ba'NoisePowerOutputPort'GÿdF4y2Ba,真正,GÿdF4y2Ba'输出格式'GÿdF4y2Ba,GÿdF4y2Ba“检测指标”GÿdF4y2Ba);GÿdF4y2Ba%在所有范围和多普勒细胞的执行CFAR处理GÿdF4y2Bafreqs =((0:NR-1)'/ NR-0.5)* FS;rnggrid = beat2range(freqs,sweepSlope);iRngCUT =找到(rnggrid> 0);iRngCUT = iRngCUT(iRngCUT <= NR-nCUTRng + 1);iDopCUT = nCUTDop:(ND-nCUTDop + 1);[IRNG,IDOP] = meshgrid(iRngCUT,iDopCUT);idxCFAR = [IRNG(:) IDOP(:)]';GÿdF4y2Ba

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

是需要的根均方(RMS)范围分辨率的发射波形的计算的范围内测量的方差。瑞利范围分辨率为远程雷达物1米前所定义。瑞利分辨率是最小间隔在这两个独特的目标,就可以解决。该值定义为雷达的距离分辨率的细胞之间的距离。然而,一个分辨单元内的目标的差异是由波形的RMS分辨率决定。对于LFM啁啾波形,瑞利分辨率和RMS分辨率之间的关系是由[1]中给出。GÿdF4y2Ba

σGÿdF4y2Ba [RGÿdF4y2Ba 中号GÿdF4y2Ba 小号GÿdF4y2Ba =GÿdF4y2Ba 1GÿdF4y2Ba 2GÿdF4y2Ba ΔGÿdF4y2Ba [RGÿdF4y2Ba 一种GÿdF4y2Ba ÿGÿdF4y2Ba 升GÿdF4y2Ba ËGÿdF4y2Ba 一世GÿdF4y2Ba GGÿdF4y2Ba HGÿdF4y2Ba

哪里GÿdF4y2Ba σGÿdF4y2Ba [RGÿdF4y2Ba 中号GÿdF4y2Ba 小号GÿdF4y2Ba 在RMS距离分辨率和GÿdF4y2Ba ΔGÿdF4y2Ba [RGÿdF4y2Ba 一种GÿdF4y2Ba ÿGÿdF4y2Ba 升GÿdF4y2Ba ËGÿdF4y2Ba 一世GÿdF4y2Ba GGÿdF4y2Ba HGÿdF4y2Ba 是瑞利范围的分辨率。GÿdF4y2Ba

多普勒测量的方差取决于处理扫描的次数。GÿdF4y2Ba

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

rmsRng = SQRT(12)* rangeRes;rngestimator = phased.RangeEstimator(GÿdF4y2Ba'ClusterInputPort'GÿdF4y2Ba,真正,GÿdF4y2Ba...GÿdF4y2Ba'VarianceOutputPort'GÿdF4y2Ba,真正,GÿdF4y2Ba'NoisePowerSource'GÿdF4y2Ba,GÿdF4y2Ba“输入端口”GÿdF4y2Ba,GÿdF4y2Ba'RMSResolution'GÿdF4y2Ba,rmsRng);dopestimator = phased.DopplerEstimator(GÿdF4y2Ba'ClusterInputPort'GÿdF4y2Ba,真正,GÿdF4y2Ba...GÿdF4y2Ba'VarianceOutputPort'GÿdF4y2Ba,真正,GÿdF4y2Ba'NoisePowerSource'GÿdF4y2Ba,GÿdF4y2Ba“输入端口”GÿdF4y2Ba,GÿdF4y2Ba'NumPulses'GÿdF4y2Ba,Nsweep);GÿdF4y2Ba

为了进一步提高估计的车辆位置的精度,通过雷达的检测到跟踪器。配置为使用扩展卡尔曼滤波器(EKF),该球形雷达测量转换成自主车辆的笛卡尔坐标框架的轨道。同时配置跟踪器使用的等速动力学检测的车辆。通过在多个测量的时间间隔进行比较车辆检测,跟踪器进一步提高了车辆位置的精度,并且提供车辆速度的估计。GÿdF4y2Ba

跟踪= multiObjectTracker(GÿdF4y2Ba'FilterInitializationFcn'GÿdF4y2Ba@ initcvekf,GÿdF4y2Ba'AssignmentThreshold'GÿdF4y2Ba,50);GÿdF4y2Ba

模型自由空间传播通道GÿdF4y2Ba

使用自由空间信道向发送和接收的雷达信号的传播进行建模。GÿdF4y2Ba

信道= phased.FreeSpace(GÿdF4y2Ba'PropagationSpeed'GÿdF4y2Ba,C,GÿdF4y2Ba'工作频率'GÿdF4y2Ba,FC,GÿdF4y2Ba...GÿdF4y2Ba'采样率'GÿdF4y2Ba,FS,GÿdF4y2Ba'TwoWayPropagation'GÿdF4y2Ba,真正);GÿdF4y2Ba

在自由空间模型,沿一条直线的视线的雷达和目标车辆之间的雷达能量传播,如在如下图所示。GÿdF4y2Ba

模拟驾驶情形GÿdF4y2Ba

三路车在自身车辆附近行驶创建高速公路行驶的情况。这些车辆建模为点状目标,并有不同的速度和驾驶情形定义的位置。自主车辆用80公里/小时,其他三个汽车在110公里/小时移动时,100公里/小时和130公里/小时的速度分别移动。有关模拟驱动方案详情,请参阅该示例GÿdF4y2Ba创建演员和车辆轨迹GÿdF4y2Ba。雷达传感器安装在自身车辆的前方。GÿdF4y2Ba

要创建驱动的情况下,使用GÿdF4y2BahelperAutoDrivingRadarSigProcGÿdF4y2Ba功能。为了检验这个功能的内容,请使用GÿdF4y2Ba编辑( 'helperAutoDrivingRadarSigProc')GÿdF4y2Ba命令。GÿdF4y2Ba

%建立驾驶场景GÿdF4y2Ba[方案中,egoCar,radarParams,pointTgts] = helperAutoDrivingRadarSigProc(GÿdF4y2Ba“设置方案”GÿdF4y2Ba,C,FC);GÿdF4y2Ba

下面的循环使用了GÿdF4y2BadrivingScenarioGÿdF4y2Ba反对推进车辆的情况。在每个仿真时间步骤,雷达数据立方体通过收集雷达波形的192个扫描组装。组装的数据立方体,然后在范围和多普勒处理。的范围和多普勒处理然后数据被波束形成,并且在波束成形的数据执行CFAR检测。范围,径向速度,并到达测量的方向估计为CFAR检测。然后,这些检测被组装成GÿdF4y2BaobjectDetectionGÿdF4y2Ba对象,然后由处理GÿdF4y2BamultiObjectTrackerGÿdF4y2Ba宾语。GÿdF4y2Ba

%初始化显示驱动方案例如GÿdF4y2BahelperAutoDrivingRadarSigProc(GÿdF4y2Ba“初始化显示”GÿdF4y2Ba,egoCar,radarParams,rxArray,FC,VMAX,的RangeMax);tgtProfiles = actorProfiles(场景);tgtProfiles = tgtProfiles(2:结束);tgtHeight = [tgtProfiles.Height];GÿdF4y2Ba%运行模拟循环GÿdF4y2BaSWEEPTIME = waveform.SweepTime;GÿdF4y2Ba而GÿdF4y2Ba提前(场景)GÿdF4y2Ba%获取当前场景时间GÿdF4y2Ba时间= scenario.SimulationTime;GÿdF4y2Ba%获取自主车辆的参考框架当前的目标姿态GÿdF4y2BatgtPoses = targetPoses(egoCar);tgtPos =重塑([tgtPoses.Position],3,[]);tgtPos(3,:) = tgtPos(3,:)+ 0.5 * tgtHeight;GÿdF4y2Ba%的每个目标的高度的一半的位置点目标GÿdF4y2BatgtVel =重塑([tgtPoses.Velocity],3,[]);GÿdF4y2Ba%的当前场景时间组装数据立方体GÿdF4y2BaXcube =零(NFT,氖,Nsweep);GÿdF4y2Ba对于GÿdF4y2Bam = 1时:NsweepGÿdF4y2Ba由雷达观察的目标的计算%角GÿdF4y2BatgtAngs = NaN的(2,numel(tgtPoses));GÿdF4y2Ba对于GÿdF4y2BaiTgt = 1:numel(tgtPoses)tgtAxes = ROTZ(tgtPoses(iTgt).Yaw)* ROTY(tgtPoses(iTgt).Pitch)* ROTX(tgtPoses(iTgt).Roll);[〜,tgtAngs(:,iTgt)] = rangeangle(radarParams.OriginPosition,tgtPos(:,iTgt),tgtAxes);GÿdF4y2Ba结束GÿdF4y2Ba%发射FMCW波形GÿdF4y2BaSIG =波形();[〜,txang] = rangeangle(tgtPos,radarParams.OriginPosition,radarParams.Orientation);txsig =发射机(SIG);txsig =散热器(txsig,txang);txsig =信道(txsig,radarParams.OriginPosition,tgtPos,radarParams.OriginVelocity,tgtVel);GÿdF4y2Ba%传播的信号,并反射离开目标GÿdF4y2Batgtsig = pointTgts(txsig,tgtAngs);GÿdF4y2Ba%收集接收到的目标的回波GÿdF4y2Barxsig =收集器(tgtsig,txang);rxsig =接收机(rxsig);GÿdF4y2Ba%解线调所接收的信号GÿdF4y2Barxsig =解线调(rxsig,SIG);GÿdF4y2Ba%保存扫到数据立方体GÿdF4y2BaXcube(:,:,M)= rxsig;GÿdF4y2Ba%移动目标前进的时候一次扫描GÿdF4y2BatgtPos = tgtPos + tgtVel * SWEEPTIME;GÿdF4y2Ba结束GÿdF4y2Ba%计算范围多普勒响应GÿdF4y2Ba[Xrngdop,rnggrid,dopgrid] = rngdopresp(Xcube);GÿdF4y2Ba%波束形成接收到的数据GÿdF4y2BaXBF =置换(Xrngdop,[1 3 2]);XBF =重塑(XBF,NR *钕,NE);XBF =波束形成器(XBF);XBF =重塑(XBF,NR,钕);GÿdF4y2Ba%检测指标GÿdF4y2BaXPOW = ABS(XBF)^ 2。[detidx,noisepwr] = CFAR(XPOW,idxCFAR);GÿdF4y2Ba%集群检测GÿdF4y2BaclusterIDs = helperAutoDrivingRadarSigProc(GÿdF4y2Ba“集群检测项”GÿdF4y2Ba,detidx);GÿdF4y2Ba%的估计方位角,范围,和径向速度的测量GÿdF4y2Ba[azest,azvar,snrdB] = helperAutoDrivingRadarSigProc(GÿdF4y2Ba“预测角度”GÿdF4y2Ba,doaest,连词(Xrngdop),XBF,detidx,noisepwr,clusterIDs);azvar = azvar + radarParams.RMSBias(1)^ 2;[rngest,rngvar] = rngestimator(XBF,rnggrid,detidx,noisepwr,clusterIDs);rngvar = rngvar + radarParams.RMSBias(2)^ 2;[rsest,rsvar] = dopestimator(XBF,dopgrid,detidx,noisepwr,clusterIDs);GÿdF4y2Ba%转换径向速度范围速率由跟踪器使用GÿdF4y2Barrest = -rsest;rrvar = rsvar;rrvar = rrvar + radarParams.RMSBias(3)^ 2;GÿdF4y2Ba%汇编对象检测用于通过跟踪器使用GÿdF4y2BanumDets = numel(rngest);dets的=细胞(numDets,1);GÿdF4y2Ba对于GÿdF4y2BaIDET = 1:numDets dets的{} IDET = objectDetection(时间,[azest(IDET)rngest(IDET)rrest(IDET)]”,GÿdF4y2Ba...GÿdF4y2Ba'MeasurementNoise'GÿdF4y2Ba,DIAG([azvar(IDET)rngvar(IDET)rrvar(IDET)]),GÿdF4y2Ba...GÿdF4y2Ba'MeasurementParameters'GÿdF4y2Ba{radarParams}GÿdF4y2Ba...GÿdF4y2Ba'ObjectAttributes'GÿdF4y2Ba,{结构(GÿdF4y2Ba'SNR'GÿdF4y2Ba,snrdB(IDET))});GÿdF4y2Ba结束GÿdF4y2Ba%跟踪检测GÿdF4y2Ba曲目=跟踪器(dets的,时间);GÿdF4y2Ba%更新显示器GÿdF4y2BahelperAutoDrivingRadarSigProc(GÿdF4y2Ba“更新显示”GÿdF4y2Ba,egoCar,限定词,轨道,GÿdF4y2Ba...GÿdF4y2Badopgrid,rnggrid,XBF,beamscan,Xrngdop);GÿdF4y2Ba%发布快照GÿdF4y2BahelperAutoDrivingRadarSigProc(GÿdF4y2Ba“发布快照”GÿdF4y2Ba,时间> = 1.1);GÿdF4y2Ba%收集自由空间信道度量GÿdF4y2BametricsFS = helperAutoDrivingRadarSigProc(GÿdF4y2Ba“收集度量”GÿdF4y2Ba,radarParams,tgtPos,tgtVel,dets的);GÿdF4y2Ba结束GÿdF4y2Ba

上图显示了在仿真时间1.1秒雷达检测和轨道3的目标车辆。(蓝色示出)从自身车辆的透视驱动情景的追逐相机视图的左上方示出了曲线图。作为参考,自主车辆,在80公里/小时行驶和其他三个汽车在110公里/小时(橙色车),100千米/小时(黄色车),和130公里/小时(紫车)行驶。GÿdF4y2Ba

的图显示了右侧的鸟瞰图,其中提出了“自上而下”的场景的视角。所有的车辆,检测,和曲目显示在自主车辆的参考坐标框架中。每个雷达测量所估计的信噪比(SNR)旁边的每个检测被打印。由跟踪器估计的车辆位置是利用黑色方块与文本旁边指示每个轨道的ID在图中示出。跟踪器的估计的每个车辆速度被示为黑线在车辆的速度的方向指向。行对应于所估计的速度的长度,具有更长的线表示的车辆相对于所述自身车辆更高的速度。紫车的轨道(ID2)具有最长的线,而黄标车的轨道(ID1)具有最短的线路。被跟踪的速度与前面列出的模拟车速一致。GÿdF4y2Ba

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

由于其靠近雷达,橙色的汽车可以依然被大波束形成损失检测,由于其位置的外侧以及束的3个dB波束宽度。这些检测已经生成了橙色车轨道(ID3)。GÿdF4y2Ba

模型中的多径信道GÿdF4y2Ba

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

多径传播的总体效果是,所接收的雷达回波可以建设性和破坏性干涉。此建设性和破坏性干涉来自各种信号传播路径之间的路径长度差引起的。作为雷达和车辆之间的距离改变,这些路径长度差也发生变化。当这些路径之间的差异导致在几乎180度的相位由雷达接收回波,所述回波相消合并,和雷达不作任何检测该范围​​。GÿdF4y2Ba

用两射线信道模型来演示在前面的图中所示的传播环境替换的自由空间信道模型。重用驾驶情形和雷达模型其余参数,然后再次运行模拟。GÿdF4y2Ba

%重置驱动场景GÿdF4y2Ba[方案中,egoCar,radarParams,pointTgts] = helperAutoDrivingRadarSigProc(GÿdF4y2Ba“设置方案”GÿdF4y2Ba,C,FC);GÿdF4y2Ba%创建两个射线的传播信道。一个信道用于发射GÿdF4y2Ba%路径和不同的信道用于接收路径。GÿdF4y2Batxchannel = phased.TwoRayChannel(GÿdF4y2Ba'PropagationSpeed'GÿdF4y2Ba,C,GÿdF4y2Ba'工作频率'GÿdF4y2Ba,FC,GÿdF4y2Ba'采样率'GÿdF4y2Ba,FS);rxchannel = phased.TwoRayChannel(GÿdF4y2Ba'PropagationSpeed'GÿdF4y2Ba,C,GÿdF4y2Ba'工作频率'GÿdF4y2Ba,FC,GÿdF4y2Ba'采样率'GÿdF4y2Ba,FS);GÿdF4y2Ba%再次运行模拟,现在使用两个射线信道模型GÿdF4y2Bametrics2Ray = helperAutoDrivingRadarSigProc(GÿdF4y2Ba“模拟运行”GÿdF4y2Ba,GÿdF4y2Ba...GÿdF4y2BaC,FC,的RangeMax,VMAX,波形,Nsweep,GÿdF4y2Ba...GÿdF4y2Ba%波形参数GÿdF4y2Ba发射机,散热器,集电极,接收器,GÿdF4y2Ba...GÿdF4y2Ba%硬件模型GÿdF4y2Barngdopresp,波束形成器,恒虚警,idxCFAR,GÿdF4y2Ba...GÿdF4y2Ba% 信号处理GÿdF4y2Barngestimator,dopestimator,doaest,beamscan,跟踪器,GÿdF4y2Ba...GÿdF4y2Ba估计%GÿdF4y2Batxchannel,rxchannel);GÿdF4y2Ba%传播信道模型GÿdF4y2Ba

上图显示了追情节,鸟瞰图,并在模拟时间1.1秒雷达图像,就像被示出了用于自由空间信道传播情形。这两个数字相比较,观察到两个射线信道,没有检测存在于在此仿真时间的紫车。这种检测损失,因为此车的路径长度差异相消在此范围内的干扰,导致检测的总损失。GÿdF4y2Ba

标绘出由CFAR处理对来自自由空间和两个射线通道模拟紫车的范围估计产生的SNR估计。GÿdF4y2Ba

helperAutoDrivingRadarSigProc(GÿdF4y2Ba“情节通道”GÿdF4y2Ba,metricsFS,metrics2Ray);GÿdF4y2Ba

作为轿厢接近的范围内的雷达72米,在从所述两个射线信道估计SNR大的损耗相对于自由空间信道观察到。这是附近该范围内,所述多路径干扰消结合,导致信号检测的丢失。然而,观察跟踪器能够在海岸信号损失的这些时间的跟踪,并提供紫色汽车预测的位置和速度。GÿdF4y2Ba

摘要GÿdF4y2Ba

这个例子演示了如何在汽车雷达的硬件和信号处理采用相控阵系统工具箱建模。您还学会了如何与自动驾驶的驾驶工具箱情景模拟这种雷达模型集成。首先,你产生了合成的雷达检测。然后通过使用跟踪器,以产生精确的位置和速度的估计在自主车辆的坐标框架进一步处理这些检测。最后,你学会了如何模拟使用多径传播效应GÿdF4y2Baphased.TwoRayChannelGÿdF4y2Ba在建模相控阵系统工具箱提供。GÿdF4y2Ba

所提出的流程,就能了解你的雷达结构设计决策的影响更高级别的系统要求。使用这个流程,就能选择雷达的设计,满足您独特的应用需求。GÿdF4y2Ba

参考GÿdF4y2Ba

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

也可以看看GÿdF4y2Ba

对象GÿdF4y2Ba

相关话题GÿdF4y2Ba