主要内容gydF4y2Ba

雷达信号模拟和处理自动驾驶gydF4y2Ba

这个例子展示了如何建模的硬件、信号处理和传播环境的汽车雷达。首先,你使用自动驾驶的工具箱™模型高速公路场景。然后,您开发一个模型的雷达收发硬件、信号处理和跟踪使用雷达工具箱™。最后,您对雷达模型模拟多路径传播的影响。gydF4y2Ba

介绍gydF4y2Ba

你可以通过使用车辆运动模型gydF4y2BadrivingScenariogydF4y2Ba从自动驾驶工具箱对象。车辆地面真理可以用作输入到雷达模型来生成合成传感器检测。这个工作流程的一个例子,看到gydF4y2Ba由于多路径返回模拟雷达鬼魂gydF4y2Ba。汽车雷达中使用这个示例使用一个统计模型,根据高级雷达参数化的规范。建模的通用雷达体系结构在本例中不包括具体天线配置,波形,或独特的信道传播特性。在设计汽车雷达时,或者当一个雷达的具体架构,使用雷达模型,包括这些额外信息。gydF4y2Ba

雷达工具箱可以评估不同雷达架构。你可以探索不同的传输和接收阵列配置,波形,信号处理链。你也可以评估你的设计对不同信道模型来评估其对不同环境条件的鲁棒性。这个建模有助于识别特定的设计最适合您的应用程序需求。gydF4y2Ba

在这个例子中,您将了解如何定义一个雷达模型从一组远程雷达的系统需求。然后模拟驾驶场景生成从雷达探测模型。跟踪器是用来处理这些检测生成精确的位置和速度的估计车辆检测你的汽车雷达。gydF4y2Ba

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

雷达参数定义的调频连续波(FMCW)波形,所述的例子gydF4y2Ba汽车自适应巡航控制系统使用FMCW技术gydF4y2Ba。雷达运行的中心频率77兆赫。这个频率是由汽车常用的雷达。为远程操作,雷达必须检测车辆的最大射程250 - 300米前的自我。解决对象所需的雷达范围相距至少1米。因为这是一个前置雷达应用,雷达也需要处理与大目标关闭速度高达230公里/小时。gydF4y2Ba

雷达的目的是使用一个FMCW波形。这些波形在汽车应用中很常见,因为他们允许范围和多普勒估计通过计算有效的FFT运算。出于演示的目的,在这个例子中,配置雷达的最大射程100米。gydF4y2Ba

%设置随机数发生器可重复的结果gydF4y2Barng (2017);gydF4y2Ba%计算从指定的远程硬件参数要求gydF4y2Bafc = 77 e9;gydF4y2Ba%中心频率(赫兹)gydF4y2Bac = physconst (gydF4y2Ba“光速”gydF4y2Ba);gydF4y2Ba%在空气中光的速度(米/秒)gydF4y2Baλ= freq2wavelen (fc, c);gydF4y2Ba%波长(m)gydF4y2Ba%的唧唧声持续时间设置为5倍的最大范围的要求gydF4y2BarangeMax = 100;gydF4y2Ba%最大范围(米)gydF4y2Batm = 5 * range2time (rangeMax c);gydF4y2Ba%唧唧声持续时间(s)gydF4y2Ba%确定波形带宽从所需的距离分辨率gydF4y2Ba管理员= 1;gydF4y2Ba%的距离分辨率(m)gydF4y2Babw = rangeres2bw(管理员,c);gydF4y2Ba%相应带宽(赫兹)gydF4y2Ba%设置采样率来满足范围和速度的要求gydF4y2Ba%的雷达gydF4y2BasweepSlope = bw / tm;gydF4y2Ba% FMCW扫斜率(Hz / s)gydF4y2BafbeatMax = range2beat (rangeMax sweepSlope c);gydF4y2Ba%最大击败频率(赫兹)gydF4y2BavMax = 230 * 1000/3600;gydF4y2Ba%的汽车最大速度(米/秒)gydF4y2BafdopMax = speed2dop (2 * vMax,λ);gydF4y2Ba%最大的多普勒频移(赫兹)gydF4y2BafifMax = fbeatMax + fdopMax;gydF4y2Ba%最大收到如果(赫兹)gydF4y2Bafs = max (2 * fifMax bw);gydF4y2Ba%抽样频率(赫兹)gydF4y2Ba%配置使用波形参数来源于FMCW波形gydF4y2Ba%的长期需求gydF4y2Ba波形= phased.FMCWWaveform (gydF4y2Ba“SweepTime”gydF4y2Batm,gydF4y2Ba“SweepBandwidth”gydF4y2Babw,gydF4y2Ba…gydF4y2Ba“SampleRate”gydF4y2Bafs,gydF4y2Ba“SweepDirection”gydF4y2Ba,gydF4y2Ba“了”gydF4y2Ba);gydF4y2Ba如果gydF4y2Ba比较字符串(waveform.SweepDirectiongydF4y2Ba“下来”gydF4y2Ba)sweepSlope = -sweepSlope;gydF4y2Ba结束gydF4y2BaNsweep = 192;sig =波形();gydF4y2Ba

模型汽车雷达收发机gydF4y2Ba

雷达使用一个数组传输和统一的线性各向同性元素(ULA)”来接收雷达波形。使用一个线性阵列使雷达估计的方位方向反射能量接收从目标车辆。远程雷达需要检测的目标在覆盖范围横跨15度的自我。six-element接收阵列满足这个要求通过提供一个17-degree半功率波束宽度。传输、雷达只使用一个数组元素,使其覆盖面积比接收。gydF4y2Ba

%模型天线元素gydF4y2BaantElmnt = phased.IsotropicAntennaElement (gydF4y2Ba“BackBaffled”gydF4y2Ba,真正的);gydF4y2Ba%构造接收数组gydF4y2Ba不= 6;rxArray = phased.ULA (gydF4y2Ba“元素”gydF4y2BaantElmnt,gydF4y2Ba“NumElements”gydF4y2Ba不,gydF4y2Ba…gydF4y2Ba“ElementSpacing”gydF4y2Baλ/ 2);gydF4y2Ba%接收数组的半功率波束宽度gydF4y2Bahpbw =波束宽度(rxArray、fc、gydF4y2Ba“PropagationSpeed”gydF4y2Bac)gydF4y2Ba
hpbw = 17.1800gydF4y2Ba

模型的雷达发射器一个传输通道,和模型为每个接收信道接收器前置放大器,使用参数中定义的例子gydF4y2Ba汽车自适应巡航控制系统使用FMCW技术gydF4y2Ba。gydF4y2Ba

antAperture = 6.06的军医;gydF4y2Ba%天线孔径(m ^ 2)gydF4y2BaantGain = aperture2gain (antAperture,λ);gydF4y2Ba%天线增益(dB)gydF4y2BatxPkPower = db2pow (5) * 1 e - 3;gydF4y2Ba% Tx峰值功率(W)gydF4y2BatxGain = antGain;gydF4y2Ba% Tx天线增益(dB)gydF4y2BarxGain = antGain;gydF4y2Ba% Rx天线增益(dB)gydF4y2BarxNF = 4.5;gydF4y2Ba%接收机噪声图(dB)gydF4y2Ba%波形发射机gydF4y2Ba发射机= phased.Transmitter (gydF4y2Ba“PeakPower”gydF4y2BatxPkPower,gydF4y2Ba“获得”gydF4y2Ba,txGain);gydF4y2Ba%为单一传输元素散热器gydF4y2Ba散热器= phased.Radiator (gydF4y2Ba“传感器”gydF4y2BaantElmnt,gydF4y2Ba“OperatingFrequency”gydF4y2Ba、fc);gydF4y2Ba%收藏家以接收数组gydF4y2Ba收集器= phased.Collector (gydF4y2Ba“传感器”gydF4y2BarxArray,gydF4y2Ba“OperatingFrequency”gydF4y2Ba、fc);gydF4y2Ba%接收前置放大器gydF4y2Ba接收机= phased.ReceiverPreamp (gydF4y2Ba“获得”gydF4y2BarxGain,gydF4y2Ba“NoiseFigure”gydF4y2BarxNF,gydF4y2Ba…gydF4y2Ba“SampleRate”gydF4y2Bafs);gydF4y2Ba%定义雷达gydF4y2Ba雷达= radarTransceiver (gydF4y2Ba“波形”gydF4y2Ba波形,gydF4y2Ba“发射器”gydF4y2Ba发射机,gydF4y2Ba…gydF4y2Ba“TransmitAntenna”gydF4y2Ba散热器,gydF4y2Ba“ReceiveAntenna”gydF4y2Ba收集器,gydF4y2Ba“接收方”gydF4y2Ba、接收机);gydF4y2Ba

定义雷达信号处理链gydF4y2Ba

雷达收集的多个扫描波形线性相控阵天线的每个元素。这些收集扫描形成数据立方体,中定义gydF4y2Ba雷达数据立方体gydF4y2Ba。这些清洁工连贯地沿着快速处理和标准时间维度的数据立方体来估计车辆的距离和多普勒。gydF4y2Ba

估计接收信号使用的direction-of-arrival根音乐估计量。beamscan也用于演示目的帮助可视化接收到的信号能量的空间分布。gydF4y2Ba

% Direction-of-arrival估计线性相控阵信号gydF4y2Badoa = phased.RootMUSICEstimator (gydF4y2Ba…gydF4y2Ba“SensorArray”gydF4y2BarxArray,gydF4y2Ba…gydF4y2Ba“PropagationSpeed”gydF4y2BacgydF4y2Ba“OperatingFrequency”gydF4y2Ba足球俱乐部,gydF4y2Ba…gydF4y2Ba“NumSignalsSource”gydF4y2Ba,gydF4y2Ba“属性”gydF4y2Ba,gydF4y2Ba“NumSignals”gydF4y2Ba1);gydF4y2Ba%扫描光束的自我射程角图像显示的工具gydF4y2Baangscan = 80:80;beamscan = phased.PhaseShiftBeamformer (gydF4y2Ba“方向”gydF4y2Ba(angscan; 0 * angscan),gydF4y2Ba…gydF4y2Ba“SensorArray”gydF4y2BarxArray,gydF4y2Ba“OperatingFrequency”gydF4y2Ba、fc);gydF4y2Ba%形式前置梁检测对象的自我gydF4y2Babeamformer = phased.PhaseShiftBeamformer (gydF4y2Ba“SensorArray”gydF4y2BarxArray,gydF4y2Ba…gydF4y2Ba“PropagationSpeed”gydF4y2BacgydF4y2Ba“OperatingFrequency”gydF4y2Ba足球俱乐部,gydF4y2Ba“方向”gydF4y2Ba,(0,0));gydF4y2Ba

使用gydF4y2Baphased.RangeDopplerResponsegydF4y2Ba对象执行范围和多普勒雷达数据处理多维数据集。使用汉宁窗大旁瓣抑制车辆接近时产生的雷达。gydF4y2Ba

非功能性测试= waveform.SweepTime * waveform.SampleRate;gydF4y2Ba%的夏令时间样本gydF4y2Ba望远镜= Nsweep;gydF4y2Ba%的标准时间样本gydF4y2BaNr = 2 ^ nextpow2(非功能性测试);gydF4y2Ba%的范围内样品gydF4y2BaNd = 2 ^ nextpow2(望远镜);gydF4y2Ba%多普勒样本的数量gydF4y2Barngdopresp = phased.RangeDopplerResponse (gydF4y2Ba“RangeMethod”gydF4y2Ba,gydF4y2BaFFT的gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“DopplerOutput”gydF4y2Ba,gydF4y2Ba“速度”gydF4y2Ba,gydF4y2Ba“SweepSlope”gydF4y2BasweepSlope,gydF4y2Ba…gydF4y2Ba“RangeFFTLengthSource”gydF4y2Ba,gydF4y2Ba“属性”gydF4y2Ba,gydF4y2Ba“RangeFFTLength”gydF4y2BaNr,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足球俱乐部,gydF4y2Ba“SampleRate”gydF4y2Bafs);gydF4y2Ba

识别检测范围和多普勒处理数据通过使用恒虚警率(CFAR)检测器。CFAR检测器接收的雷达数据估计背景噪音水平。检测发现在位置信号功率超过某一阈值的估计噪声地板。低阈值导致更多的虚假报道检测由于环境噪声。增加阈值产生更少的错误检测,还减少了检测概率的实际目标的场景。有关CFAR检测的更多信息,请参见示例gydF4y2Ba恒虚警率(CFAR)检测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“TrainingBandSize”gydF4y2Ba,(nTrainRng nTrainDop),gydF4y2Ba…gydF4y2Ba“ThresholdFactor”gydF4y2Ba,gydF4y2Ba“自定义”gydF4y2Ba,gydF4y2Ba“CustomThresholdFactor”gydF4y2Badb2pow (13)gydF4y2Ba…gydF4y2Ba“NoisePowerOutputPort”gydF4y2Ba,真的,gydF4y2Ba“OutputFormat”gydF4y2Ba,gydF4y2Ba“检测指数”gydF4y2Ba);gydF4y2Ba%执行CFAR处理在所有的范围和多普勒细胞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

的gydF4y2Baphased.RangeEstimatorgydF4y2Ba和gydF4y2Baphased.DopplerEstimatorgydF4y2Ba对象转换的位置检测中发现range-Doppler数据测量和相应的测量方差。这些估计符合二次曲线range-Doppler数据估计的峰值位置检测。由此产生的测量分辨率的一小部分的范围和多普勒采样数据。金宝搏官方网站gydF4y2Ba

均方根(RMS)的距离分辨率透射波形需要计算的方差测量范围。瑞利距离分辨率的远程雷达前面被定义为1米。瑞利分辨率最低分离的两个独特的目标可以解决。这个值定义了雷达距离分辨率的细胞之间的距离。然而,目标分辨单元内的方差取决于RMS波形的决议。线性调频脉冲啁啾的波形,瑞利分辨率和RMS分辨率之间的关系是由[1]。gydF4y2Ba

σgydF4y2Ba RgydF4y2Ba 米gydF4y2Ba 年代gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba 2gydF4y2Ba ΔgydF4y2Ba RgydF4y2Ba 一个gydF4y2Ba ygydF4y2Ba lgydF4y2Ba egydF4y2Ba 我gydF4y2Ba ggydF4y2Ba hgydF4y2Ba

在哪里gydF4y2Ba σgydF4y2Ba RgydF4y2Ba 米gydF4y2Ba 年代gydF4y2Ba 均方根距离分辨率和吗gydF4y2Ba ΔgydF4y2Ba RgydF4y2Ba 一个gydF4y2Ba ygydF4y2Ba lgydF4y2Ba egydF4y2Ba 我gydF4y2Ba ggydF4y2Ba hgydF4y2Ba 瑞利距离分辨率。gydF4y2Ba

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

现在,创建范围和多普勒评价对象使用之前定义的参数。gydF4y2Ba

rmsRng = sqrt(12) *管理员;rngestimator = phased.RangeEstimator (gydF4y2Ba“ClusterInputPort”gydF4y2Ba,真的,gydF4y2Ba…gydF4y2Ba“VarianceOutputPort”gydF4y2Ba,真的,gydF4y2Ba“NoisePowerSource”gydF4y2Ba,gydF4y2Ba输入端口的gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“RMSResolution”gydF4y2Ba,rmsRng);dopestimator = phased.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

创建一个高速公路驾驶场景和三个汽车旅游车辆附近的自我。车辆被建模为长方体和有不同的速度和位置中定义的驾驶场景。自我车辆移动速度为80公里/小时,其他三辆车正以110公里/小时,100公里/小时,130公里/小时,分别。有关建模一个驾驶场景中看到的例子gydF4y2Ba通过编程方式创建演员和车辆轨迹gydF4y2Ba(自动驾驶工具箱)gydF4y2Ba。雷达传感器安装在前面的自我。gydF4y2Ba

创建驾驶场景,使用gydF4y2BahelperAutoDrivingRadarSigProcgydF4y2Ba函数。检查这个函数的内容,使用gydF4y2Ba编辑(“helperAutoDrivingRadarSigProc”)gydF4y2Ba命令。gydF4y2Ba

%创建驾驶场景gydF4y2Ba[场景、egoCar radarParams] =gydF4y2Ba…gydF4y2BahelperAutoDrivingRadarSigProc (gydF4y2Ba设置场景的gydF4y2Bac fc);gydF4y2Ba

下面的循环使用gydF4y2BadrivingScenariogydF4y2Ba对象推进场景中的车辆。在每一个仿真时间步,雷达数据立方体组装通过收集192扫描的雷达波形。组装数据立方体在范围和多普勒处理。然后beamformed范围和多普勒处理过的数据,和CFAR检测beamformed数据执行。范围、径向速度和到达方向估计测量CFAR检测。这些检测装配gydF4y2BaobjectDetectiongydF4y2Ba对象,然后处理gydF4y2BaradarTrackergydF4y2Ba对象。gydF4y2Ba

%初始化显示驾驶场景的例子gydF4y2BahelperAutoDrivingRadarSigProc (gydF4y2Ba初始化显示的gydF4y2BaegoCar radarParams,gydF4y2Ba…gydF4y2BarxArray, fc, rangeMax);tgtProfiles = actorProfiles(场景);tgtProfiles = tgtProfiles(2:结束);tgtHeight = [tgtProfiles.Height];gydF4y2Ba%仿真循环运行gydF4y2BasweepTime = waveform.SweepTime;gydF4y2Ba而gydF4y2Ba推进(场景)gydF4y2Ba%获取当前场景gydF4y2Ba时间= scenario.SimulationTime;gydF4y2Ba%得到当前目标提出了自我车辆的参考系gydF4y2BatgtPoses = targetPoses (egoCar);tgtPos =重塑([tgtPoses.Position] 3 []);gydF4y2Ba%的位置点目标在每个目标一半的高度gydF4y2BatgtPos (3) = tgtPos (3:) + 0.5 * tgtHeight;tgtVel =重塑([tgtPoses.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 =雷达(tgtStruct,时间+ (m - 1) * sweepTime);gydF4y2Ba% Dechirp接收到的信号gydF4y2Barxsig = dechirp (rxsig、团体);gydF4y2Ba%保存扫描数据立方体gydF4y2BaXcube(:,:,米)= rxsig;gydF4y2Ba%的目标前进下扫描gydF4y2BatgtPos = tgtPos + tgtVel * sweepTime;gydF4y2Ba结束gydF4y2Ba%计算range-Doppler响应gydF4y2Ba[Xrngdop, rnggrid dopgrid] = rngdopresp (Xcube);gydF4y2Ba% Beamform接收的数据gydF4y2BaXbf =排列(Xrngdop [1 3 2]);Xbf =重塑(Xbf Nr * Nd, Ne);Xbf = beamformer (Xbf);Xbf =重塑(Nr, Xbf Nd);gydF4y2Ba%检测目标gydF4y2BaXpow = abs (Xbf) ^ 2;[detidx, noisepwr] = cfar (Xpow idxCFAR);gydF4y2Ba%集群检测gydF4y2Ba[~,clusterIDs] = clusterer运算(detidx。');gydF4y2Ba%估计方位、距离和径向速度测量gydF4y2Ba[az, azvar snrdB] =gydF4y2Ba…gydF4y2BahelperAutoDrivingRadarSigProc (gydF4y2Ba“估计角”gydF4y2Badoa,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为gydF4y2BaiDet = 1: numDets侦破{iDet} = objectDetection(时间,gydF4y2Ba…gydF4y2Ba[阿兹(iDet) rng (iDet) rr (iDet)”,gydF4y2Ba…gydF4y2Ba“MeasurementNoise”gydF4y2Ba诊断接头([azvar (iDet) rngvar (iDet) rrvar (iDet)]),gydF4y2Ba…gydF4y2Ba“MeasurementParameters”gydF4y2Ba{radarParams},gydF4y2Ba…gydF4y2Ba“ObjectAttributes”gydF4y2Ba{结构(gydF4y2Ba“信噪比”gydF4y2BasnrdB (iDet))});gydF4y2Ba结束gydF4y2Ba%跟踪检测gydF4y2Ba跟踪=追踪(依据、时间);gydF4y2Ba%更新显示gydF4y2BahelperAutoDrivingRadarSigProc (gydF4y2Ba“显示更新”gydF4y2BaegoCar侦破,跟踪,gydF4y2Ba…gydF4y2Badopgrid、rnggrid Xbf、beamscan Xrngdop);gydF4y2Ba%收集自由空间信道度量gydF4y2BametricsFS = helperAutoDrivingRadarSigProc (gydF4y2Ba“收集指标”gydF4y2Ba,gydF4y2Ba…gydF4y2BaradarParams、tgtPos tgtVel,依据);gydF4y2Ba结束gydF4y2Ba

FMCWExample_freespace_snapshot.pnggydF4y2Ba

前面的图显示了这三个目标的雷达探测和跟踪车辆模拟1.1秒的时间。情节在左上角方面显示了大通相机视图的驾驶场景从自我的角度(蓝色)所示。供参考,自我车辆时速80公里/小时,其他三辆车速度110公里/小时(橙色车),100公里/小时(黄车),130公里/小时(紫色的车)。gydF4y2Ba

右边的图显示了鸟瞰的情节,它提出了一种自顶向下的角度的场景。所有的车辆检测和跟踪所示的坐标参考系的自我。估计的信噪比(信噪比)为每个雷达测量相邻打印检测。追踪车辆位置估计的情节所示使用黑色方块文本旁边显示每个记录的ID。每辆车的速度估计的跟踪器显示为黑色线指向的方向车辆的速度。线的长度对应的估计速度,较长的行表示车辆高速度相对于自我。紫色的轨道车(ID2)最长的线而黄色的轨道车(ID1)最短的路线。跟踪速度是一致的与先前列出的车辆速度建模。gydF4y2Ba

这两个情节在左下端显示生成的雷达图像信号处理。上面的图显示接收到的雷达回波目标车辆分布在距离和径向速度。在这里,所有三种类型的车是观察。测量径向速度与速度估计的跟踪,鸟瞰的图所示。较低的情节显示接收到的目标回波空间分布在范围和角度。所有三个目标存在,及其位置匹配鸟瞰的图所示。gydF4y2Ba

由于其靠近雷达,橙色的汽车仍然可以发现尽管大波束形成损失的立场之外的3 dB波束的波束宽度。这些检测生成的跟踪(ID3)橙色的汽车。gydF4y2Ba

多路径通道模型gydF4y2Ba

前面的驾驶场景模拟自由空间传播使用。这是一个简单的模型,模型之间的唯一直接视距传播雷达和每一个目标。在现实中,雷达信号传播要复杂得多,涉及来自多个障碍到达每个目标的反射和回到雷达。这种现象被称为gydF4y2Ba多路径传播gydF4y2Ba。下面的插图显示了一个这样的多路径传播的情况下,信号的冲击来自两个方向的目标是:从路面视线和一个反弹。gydF4y2Ba

多路径传播的整体效果是接收到的雷达回波可以增强干涉和相消。这种建设性的和相消干涉的结果路径长度差异的各种信号传播路径。随着雷达和车辆之间的距离变化,这些路径长度差异也发生了变化。当这些路径之间的差异导致回声接收的雷达,几乎180度的阶段,狼狈地把回声,雷达没有检测的范围。gydF4y2Ba

取代自由空间信道模型与双线通道模型来证明前面的插图所示的传播环境。驾驶场景中重用其余的参数和雷达模型,并再次运行仿真。gydF4y2Ba

%重置驾驶场景gydF4y2Ba[场景、egoCar radarParams, pointTgts] =gydF4y2Ba…gydF4y2BahelperAutoDrivingRadarSigProc (gydF4y2Ba设置场景的gydF4y2Bac fc);gydF4y2Ba%再次运行仿真,使用双线信道模型gydF4y2Bametrics2Ray = helperAutoDrivingRadarSigProc (gydF4y2Ba“两线模拟”gydF4y2Ba,gydF4y2Ba…gydF4y2BaNsweep c fc rangeMax,,gydF4y2Ba…gydF4y2Ba%波形参数gydF4y2Barngdopresp、beamformer cfar、idxCFAR clusterer运算,gydF4y2Ba…gydF4y2Ba%信号处理gydF4y2Babeamscan rngestimator、dopestimator doa,追踪,gydF4y2Ba…gydF4y2Ba%的评估gydF4y2Ba雷达、团体);gydF4y2Ba%的硬件模型gydF4y2Ba

FMCWExample_tworay_snapshot.pnggydF4y2Ba前面的图显示了追逐情节,鸟瞰的情节,和雷达图像仿真时间1.1秒,就像对于自由空间信道传播场景。比较这两个数据,观察到为“双线”频道没有检测了紫色的汽车在这个仿真时间。这种检测损失是因为这辆车的路径长度差异相消干扰在这个范围内,导致检测的全部损失。gydF4y2Ba

情节CFAR处理产生的信噪比估计的区间估计的紫色的车自由空间和双线通道模拟。gydF4y2Ba

helperAutoDrivingRadarSigProc (gydF4y2Ba“阴谋频道”gydF4y2Ba、metricsFS metrics2Ray);gydF4y2Ba

图频道传播包含一个坐标轴对象。坐标轴对象与标题传播渠道,包含测量雷达范围(m), ylabel CFAR信噪比估计(dB)包含2线类型的对象。一个或多个行显示的值只使用这些对象标记代表自由空间,双线。gydF4y2Ba

当汽车从雷达接近72米的范围,一个大损失估计信噪比的双线通道是观察到的关于自由空间通道。附近的这个范围内,多路径干扰结合点火,导致损失信号检测。然而,观察,追踪能够海岸的这段时间内的跟踪信号丢失,并提供一个预测紫色车的位置和速度。gydF4y2Ba

总结gydF4y2Ba

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

这个例子中给出的工作流程使您能够了解你的雷达结构设计决策影响更高级的系统需求。使用这个工作流使您选择一个雷达设计满足你独特的应用需求。gydF4y2Ba

参考gydF4y2Ba

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