主要内容

radarDetectionGenerator

为驾驶场景生成雷达探测

radarDetectionGenerator不建议使用,除非你需要C / c++代码生成。使用drivingRadarDataGenerator代替。有关更多信息,请参见兼容性的考虑

描述

radarDetectionGenerator从雷达系统对象™生成检测传感器安装在一个自我。所有的检测都是自我的参考坐标系统。您可以使用radarDetectionGenerator对象包含演员和轨迹在一个场景中,您可以创建使用drivingScenario对象。对象可以模拟真实的检测与添加随机噪声并生成错误的报警检测。此外,您可以使用radarDetectionGenerator对象创建的输入multiObjectTracker。在构建场景使用驾驶场景设计师应用,雷达传感器安装在自我车辆输出radarDetectionGenerator对象。

生成雷达检测:

  1. 创建radarDetectionGenerator对象并设置其属性。

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

传感器= radarDetectionGenerator创建一个雷达检测发电机对象使用默认属性值。

例子

传感器= radarDetectionGenerator (名称,值)属性使用一个或多个名称-值对。例如,radarDetectionGenerator (‘DetectionCoordinates’,‘传感器笛卡儿’,‘MaxRange’, 200)创建一个雷达检测发电机传感器笛卡儿坐标系统和报告检测的最大探测距离为200米。在报价附上每个属性的名字。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

独特的传感器标识符指定为一个正整数。这个属性区分检测来自不同传感器的多传感器系统。

例子:5

数据类型:

需要传感器更新之间的时间间隔,指定为一个积极的真正的标量。的drivingScenario对象调用雷达检测发电机以固定时间间隔。雷达探测器生成新定义的检测间隔UpdateInterval财产。的值UpdateInterval属性必须是一个整数倍数的模拟时间间隔。更新请求之间的传感器更新间隔不包含检测。单位是秒。

例子:5

数据类型:

雷达传感器的位置中心,作为一个指定(x, y)向量。的SensorLocation高度属性定义的坐标雷达传感器对自我车辆坐标系。默认值对应于一个雷达安装在前面的中心烧烤的轿车。单位是米。

例子:0.1 [4]

数据类型:

雷达传感器高度离地面飞机,指定为一个积极的真正的标量。对定义的高度是车辆地平面。的SensorLocation高度属性定义的坐标雷达传感器对自我车辆坐标系。默认值对应于一个雷达安装在前面的中心烧烤的轿车。单位是米。

例子:0.3

数据类型:

偏航角的雷达传感器,指定为一个真正的标量。偏航角是自我的中心线的夹角下靶场车辆和雷达传感器的轴。积极的偏航角对应于一个顺时针旋转时的正方向z设在自我的工具坐标系。单位是在度。

例子:4

数据类型:

螺旋角的传感器,指定为一个真正的标量。之间的螺距角是角下靶场雷达传感器和轴x - y飞机的自我车辆坐标系。一个积极的螺旋角对应于一个顺时针旋转时的正方向y设在自我的工具坐标系。单位是在度。

例子:3

数据类型:

横摇角的雷达传感器,指定为一个真正的标量。横摇角是角下靶场的旋转轴线周围的雷达x设在自我的工具坐标系。积极的横摇角对应于一个顺时针旋转时的正方向x设在的坐标系统。单位是在度。

例子:4

数据类型:

方位角和仰角字段的雷达传感器,指定为一个实值向量1×2积极的价值观,[azfov elfov]。领域的观点定义了由传感器张成的角范围。每个组件必须躺在区间(0180)。雷达的目标以外的视野没有检测到。单位是在度。

例子:7 [14]

数据类型:

最大探测距离,指定为一个积极的真正的标量。雷达无法检测的目标超出了这个范围。单位是米。

例子:200年

数据类型:

最小和最大探测距离,指定为一个实值1×2向量。雷达无法检测出这个范围内利率目标区间。单位是米每秒。

例子:(-20 100)

依赖关系

要启用这个特性,设置HasRangeRate财产真正的

数据类型:

目标的检测概率,指定为一个积极的真正的标量小于或等于1。这个量的概率定义检测目标的雷达截面,ReferenceRCS参考检测范围,ReferenceRange

误警率雷达分辨单元内,指定为一个积极的真正的标量范围(107,103]。单位是无量纲。

例子:1 e-5

数据类型:

参考范围对于给定的检测概率,指定为一个积极的真正的标量。参考范围是当目标雷达截面范围规定ReferenceRCS检测概率的规定DetectionProbability。单位是米。

数据类型:

参考雷达截面(RCS)对于给定的概率检测、指定为一个非负实数。的参考RCS值所指定的目标检测概率DetectionProbability。在dBsm单位。

数据类型:

这个属性是只读的。

雷达环路增益,指定为一个真正的标量。雷达环路增益报道有关雷达的信噪比,信噪比目标的雷达截面,RCS目标区间,R通过

信噪比= RadarLoopGain + RCS - 40 * log10(右)

信噪比RCS单位分别在dB和dBsm和范围单位是米。RadarLoopGain取决于DetectionProbability,ReferenceRange,ReferenceRCS,FalseAlarmRate属性值。单位在dB。

数据类型:

雷达的方位分辨率,指定为一个积极的真正的标量。方位角的方位分辨率定义了最小分离的雷达可以区分两个目标。的方位分辨率通常3 db-downpoint方位角雷达的波束宽度。单位是在度。

数据类型:

海拔解决雷达、指定为一个积极的真正的标量。高度分辨率定义了最小分离在仰角的雷达可以区分两个目标。海拔高度分辨率通常是3 db-downpoint仰角雷达的波束宽度。单位是在度。

依赖关系

要启用这个特性,设置HasElevation财产真正的

数据类型:

雷达的距离分辨率,指定为一个积极的真正的标量。距离分辨率定义范围的最低分离的雷达可以区分两个目标。单位是米。

数据类型:

解决雷达速度范围,指定为一个积极的真正的标量。利率决议范围定义了最小分离速率范围的雷达可以区分两个目标。单位是米每秒。

依赖关系

要启用这个特性,设置HasRangeRate财产真正的

数据类型:

方位偏差的雷达,指定为一个非负实数。方位偏差表示为中指定的方位分辨率的一小部分AzimuthResolution。单位是无量纲。

数据类型:

高程偏差的雷达,指定为一个非负实数。高程偏差表示为高度分辨率中指定的一小部分ElevationResolution。单位是无量纲。

依赖关系

要启用这个特性,设置HasElevation财产真正的

数据类型:

偏见的雷达范围,指定为一个非负实数。偏见表示为范围中指定的距离分辨率的一小部分RangeResolution。单位是无量纲。

数据类型:

率偏差的雷达范围,指定为一个非负实数。率偏差范围表示为利率决议中指定范围的一小部分RangeRateResolution。单位是无量纲。

依赖关系

要启用这个特性,设置HasRangeRate财产真正的

数据类型:

使雷达测量目标高度角,指定为真正的。将此属性设置为真正的模型一个雷达传感器,可以估计目标仰角。将此属性设置为模型一个雷达传感器无法测量高程。

数据类型:逻辑

使雷达测量目标范围,指定为真正的。将此属性设置为真正的模型的雷达传感器可以估计目标区间。将此属性设置为模型一个雷达传感器无法测量范围。

数据类型:逻辑

允许添加噪声雷达传感器测量,指定为真正的。将此属性设置为真正的添加噪声雷达测量。否则,测量没有噪音。即使你设置HasNoise,对象仍然计算MeasurementNoise每个检测的属性。

数据类型:逻辑

使雷达测量报告假警报,指定为真正的。将此属性设置为真正的报告假警报。否则,只有实际的检测报告。

数据类型:逻辑

使视线遮挡,指定为真正的。生成检测只从对象的雷达有直接的视线,设置该属性真正的。例如,启用了这个属性,雷达不生成检测车辆,另一辆车并阻止视图。

数据类型:逻辑

的最大数量的检测报告的传感器,指定为“汽车”“属性”。当这个属性设置“汽车”所有检测传感器报告。当这个属性设置“属性”、传感器报告不超过指定的检测的数量MaxNumDetections财产。

数据类型:字符|字符串

最大数量的检测报告的传感器,指定为一个正整数。检测报告的顺序距离传感器,直到达到最大数量。

依赖关系

要启用这个特性,设置MaxNumDetectionsSource财产“属性”

数据类型:

坐标系统的检测报告,指定这些值之一:

  • “自我笛卡儿”——在自我检测报告车辆笛卡儿坐标系统。

  • 传感器笛卡儿的——笛卡儿坐标系统传感器的检测报告。

  • “球形传感器”-检测报告在一个球面坐标系统。这个坐标系统集中在雷达和与自我汽车雷达的方向。

数据类型:字符|字符串

演员概要文件,指定为一个结构或一个结构数组。每个结构都包含物理和雷达的特点,一个演员。

  • 如果ActorProfiles是一个结构,所有演员传递到吗radarDetectionGenerator对象使用这个配置文件。

  • 如果ActorProfiles是一个数组,每个演员都传递到对象必须有一个独特的演员。

为你的驾驶场景生成的数组结构,使用actorProfiles函数。表显示了有效的结构字段。如果你不指定一个字段,该字段设置为其默认值。如果没有传递到对象,演员的ActorID字段是不包括在内。

描述
ActorID 场景定义演员标识符指定为一个正整数。
ClassID 分类标识符指定为一个非负整数。0被预留给一个未知或未赋值的类的一个对象。
长度 演员,长度指定为一个积极的真正的标量。默认值是4.7。单位是米。
宽度 指定宽度的演员,是一个积极的真正的标量。默认值是1.8。单位是米。
高度 高度的演员,指定为一个积极的真正的标量。默认值是1.4。单位是米。
OriginOffset

抵消旋转中心的演员从它的几何中心,指定为一个(xyz实值向量。旋转中心,或起源,位于底部的中心的演员。车辆,旋转中心是点在地上在后桥的中心。默认值是(0 0 0)。单位是米。

RCSPattern 雷达横截面的演员,指定为一个元素个数(RCSElevationAngles)——- - - - - -元素个数(RCSAzimuthAngles)实值矩阵。默认值是[10 10;10 10]。单位是每平方米在分贝。
RCSAzimuthAngles 方位角度对应于行RCSPattern指定为一个向量的值范围(-180、180)。默认值是(-180 180)。单位是在度。
RCSElevationAngles 高度角对应的行RCSPattern指定为一个向量的值范围(-90、90)。默认值是(-90 90)。单位是在度。

对结构的完整定义字段,请参阅演员车辆功能。

使用

描述

例子

依据=传感器(演员,时间)创建了雷达检测,依据,从传感器的测量演员目前的模拟时间。对象可以同时为多个演员生成传感器检测。不包括自我车辆作为一个演员。

(依据,numValidDets)=传感器(演员,时间)还返回的有效的检测报告,numValidDets

(依据,numValidDets,isValidTime)=传感器(演员,时间)返回一个逻辑值,isValidTime,这表明UpdateInterval时间已经过去。

输入参数

全部展开

场景演员的姿势,指定为一个结构数组或结构。每个结构对应于一个演员。您可以生成这些结构使用actorPoses函数。你也可以手动创建这些结构。

描述
ActorID

场景定义演员标识符指定为一个正整数。

位置

演员的位置,指定为一个实值向量的形式xyz]。单位是米。

速度

速度(v)的演员x- - - - - -y- - - - - -,z方向,指定为一个实值向量的形式vxvyvz]。单位是米每秒。

横摇角的演员,指定为一个实值标量。单位是在度。

球场

螺旋角的演员,指定为一个实值标量。单位是在度。

偏航

偏航角的演员,指定为一个实值标量。单位是在度。

AngularVelocity

角速度(ω)的演员x- - - - - -,y- - - - - -,z方向,指定为一个实值向量的形式ωxωyωz]。单位是每秒度。

对结构的完整定义字段,请参阅演员车辆功能。

目前的仿真时间,指定为一个非负实数。的drivingScenario对象调用雷达检测发电机以固定时间间隔。雷达探测器生成新定义的检测间隔UpdateInterval财产。的值UpdateInterval属性必须是一个整数倍数的模拟时间间隔。更新请求之间的传感器更新间隔不包含检测。单位是秒。

例子:10.5

数据类型:

输出参数

全部展开

雷达传感器检测,作为细胞数组返回objectDetection对象。每个对象包含这些字段:

财产 定义
时间 测量时间
测量 对象的测量
MeasurementNoise 测量噪声协方差矩阵
SensorIndex 传感器的惟一ID
ObjectClassID 对象分类
ObjectAttributes 额外的信息传递给跟踪
MeasurementParameters 所使用的参数初始化函数的非线性卡尔曼跟踪滤波器

笛卡尔坐标,测量,MeasurementNoise,MeasurementParameters在指定的坐标系统报告吗DetectionCoordinates财产的radarDetectionGenerator

球坐标,测量MeasurementNoise发表在球面坐标系统基于传感器笛卡儿坐标系统。MeasurementParameters发表在传感器笛卡尔坐标。

测量

DetectionCoordinates财产 坐标测量和测量噪声
“自我笛卡儿”

协调依赖HasRangeRate

HasRangeRate 坐标
真正的 [x, y, z, vx; v; vz]
[x, y, z]
传感器笛卡儿的
“球形传感器”

协调依赖HasRangeRate和HasElevation

HasRangeRate HasElevation 坐标
真正的 真正的 (阿兹;el rng; rr)
真正的 (阿兹;提高;rr)
真正的 (阿兹;el rng)
(阿兹;rng)

MeasurementParameters

参数 定义
框架 枚举类型指示帧用来测量报告。当框架被设置为“矩形”在笛卡尔坐标系中,检测报告。当框架设置“球”在球坐标中,检测报告。
OriginPosition 三维矢量传感器原点的偏移自我车辆来源。向量来源于SensorLocation高度属性中指定的radarDetectionGenerator
取向 取向的视觉传感器坐标系对自我车辆坐标系。定位来源于偏航,球场,的属性radarDetectionGenerator
HasVelocity 表明测量是否包含速度或范围率组件。
HasElevation 指示是否包含高程测量组件。

ObjectAttributes

属性 定义
TargetIndex 标识符的演员,ActorID,生成的检测。假警报,这个值是负的。
信噪比 在dB检测信噪比。

数量的检测,作为一个非负整数返回。

  • MaxNumDetectionsSource属性设置为“汽车”,numValidDets设置的长度吗依据

  • MaxNumDetectionsSource属性设置为“属性”,依据是一个单元阵列长度决定的吗MaxNumDetections财产。不超过MaxNumDetections检测返回。如果检测的数量是不足的MaxNumDetections,第一个numValidDets的元素依据持有有效的检测。其余的元素依据设置为默认值。

数据类型:

有效的检测时间,返回01isValidTime0当检测更新请求之间的时间更新指定的时间间隔UpdateInterval

数据类型:逻辑

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

isLocked 确定系统对象在使用
一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

生成使用前置汽车雷达安装在一个自我检测车辆。假设有三个目标:

  • 车辆1是在中间车道,自我车辆正前方,以同样的速度开车。

  • 车2是在左边的车道,车辆行驶速度比自我12公里每小时。

  • 车3是在正确的车道,车辆行驶慢于自我5公里每小时。

所有位置、速度和测量是相对于自我。运行仿真的十个步骤。

dt = 0.1;pos1 = (150 0 0);pos2 = (160 10 0);pos3 = (130 -10 0);vel1 = (0 0 0);vel2 = (12 * 1000/3600 0 0);vel3 = (5 * 1000/3600 0 0);car1 =结构(“ActorID”,1“位置”pos1,“速度”,vel1);car2 =结构(“ActorID”2,“位置”pos2,“速度”,vel2);car3 =结构(“ActorID”3,“位置”pos3,“速度”,vel3);

创建一个汽车雷达传感器,从自我抵消车辆。默认情况下,传感器的位置是在(3.4,0)米的车辆中心和飞机离地面0.2米。关闭率计算范围,雷达传感器措施的位置。

雷达= radarDetectionGenerator (“DetectionCoordinates”,传感器笛卡儿的,“MaxRange”,200,“RangeResolution”10“AzimuthResolution”10“FieldOfView”,40 [15],“UpdateInterval”,dt,“HasRangeRate”、假);追踪= multiObjectTracker (“FilterInitializationFcn”@initcvkf,“ConfirmationThreshold”(3 - 4),“DeletionThreshold”6 [6]);

从non-ego生成与雷达探测车辆。输出检测形成一个单元阵列,可以直接传递到multiObjectTracker

simTime = 0;nsteps = 10;k = 1: nsteps侦破=雷达([car1 car2 car3], simTime);[confirmedTracks, tentativeTracks allTracks] = updateTracks(记录、侦破、simTime);

汽车一个时间步和更新的多目标跟踪。

simTime = simTime + dt;car1。位置= car1。位置+ dt*car1.Velocity; car2.Position = car2.Position + dt*car2.Velocity; car3.Position = car3.Position + dt*car3.Velocity;结束

使用birdsEyePlot创建一个俯视的检测。传感器覆盖范围。提取XY通过将目标的位置测量单元阵列的字段为MATLAB®数组中。显示检测鸟瞰的阴谋。

BEplot = birdsEyePlot (“XLim”220年[0],“YLim”75年[-75]);caPlotter = coverageAreaPlotter (BEplot,“DisplayName的”,“雷达覆盖区”);plotCoverageArea (caPlotter radar.SensorLocation radar.MaxRange,radar.Yaw radar.FieldOfView (1) detPlotter = detectionPlotter (BEplot,“DisplayName的”,雷达信号检测的);detPos = cellfun (@ (d) d.Measurement(1:2),精细,“UniformOutput”、假);detPos = cell2mat (detPos ') ';如果~ isempty (detPos) plotDetection (detPlotter detPos)结束

鸟瞰的情节显示雷达覆盖范围和检测

兼容性的考虑

全部展开

不推荐在R2021a开始

扩展功能

介绍了R2017a