为驾驶场景生成雷达探测
radarDetectionGenerator
不建议使用,除非你需要C / c++代码生成。使用drivingRadarDataGenerator
代替。有关更多信息,请参见兼容性的考虑。
的radarDetectionGenerator
从雷达系统对象™生成检测传感器安装在一个自我。所有的检测都是自我的参考坐标系统。您可以使用radarDetectionGenerator
对象包含演员和轨迹在一个场景中,您可以创建使用drivingScenario
对象。对象可以模拟真实的检测与添加随机噪声并生成错误的报警检测。此外,您可以使用radarDetectionGenerator
对象创建的输入multiObjectTracker
。在构建场景使用驾驶场景设计师应用,雷达传感器安装在自我车辆输出radarDetectionGenerator
对象。
生成雷达检测:
创建radarDetectionGenerator
对象并设置其属性。
调用对象的参数,就好像它是一个函数。
了解更多关于系统对象是如何工作的,看到的系统对象是什么?。
属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放
函数打开它们。
如果一个属性可调在任何时候,你可以改变它的值。
改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象。
SensorIndex
- - - - - -独特的传感器标识符独特的传感器标识符指定为一个正整数。这个属性区分检测来自不同传感器的多传感器系统。
例子:5
数据类型:双
UpdateInterval
- - - - - -需要传感器更新之间的时间间隔0.1
(默认)|积极的真正的标量需要传感器更新之间的时间间隔,指定为一个积极的真正的标量。的drivingScenario
对象调用雷达检测发电机以固定时间间隔。雷达探测器生成新定义的检测间隔UpdateInterval
财产。的值UpdateInterval
属性必须是一个整数倍数的模拟时间间隔。更新请求之间的传感器更新间隔不包含检测。单位是秒。
例子:5
数据类型:双
SensorLocation
- - - - - -传感器的位置3.4 [0]
(默认)|(x, y)
向量雷达传感器的位置中心,作为一个指定(x, y)
向量。的SensorLocation
和高度
属性定义的坐标雷达传感器对自我车辆坐标系。默认值对应于一个雷达安装在前面的中心烧烤的轿车。单位是米。
例子:0.1 [4]
数据类型:双
高度
- - - - - -雷达传感器高度地平面0.2
(默认)|积极的真正的标量雷达传感器高度离地面飞机,指定为一个积极的真正的标量。对定义的高度是车辆地平面。的SensorLocation
和高度
属性定义的坐标雷达传感器对自我车辆坐标系。默认值对应于一个雷达安装在前面的中心烧烤的轿车。单位是米。
例子:0.3
数据类型:双
偏航
- - - - - -偏航角的传感器0
(默认)|真正的标量偏航角的雷达传感器,指定为一个真正的标量。偏航角是自我的中心线的夹角下靶场车辆和雷达传感器的轴。积极的偏航角对应于一个顺时针旋转时的正方向z设在自我的工具坐标系。单位是在度。
例子:4
数据类型:双
球场
- - - - - -螺旋角的传感器0
(默认)|真正的标量螺旋角的传感器,指定为一个真正的标量。之间的螺距角是角下靶场雷达传感器和轴x - y飞机的自我车辆坐标系。一个积极的螺旋角对应于一个顺时针旋转时的正方向y设在自我的工具坐标系。单位是在度。
例子:3
数据类型:双
卷
- - - - - -横摇角的传感器0
(默认)|真正的标量横摇角的雷达传感器,指定为一个真正的标量。横摇角是角下靶场的旋转轴线周围的雷达x设在自我的工具坐标系。积极的横摇角对应于一个顺时针旋转时的正方向x设在的坐标系统。单位是在度。
例子:4
数据类型:双
FieldOfView
- - - - - -雷达传感器的方位角和仰角字段的视图20 [5]
|实值向量1×2积极的价值观方位角和仰角字段的雷达传感器,指定为一个实值向量1×2积极的价值观,[azfov elfov]
。领域的观点定义了由传感器张成的角范围。每个组件必须躺在区间(0180)。雷达的目标以外的视野没有检测到。单位是在度。
例子:7 [14]
数据类型:双
MaxRange
- - - - - -最大探测距离150年
|积极的真正的标量最大探测距离,指定为一个积极的真正的标量。雷达无法检测的目标超出了这个范围。单位是米。
例子:200年
数据类型:双
RangeRateLimits
- - - - - -最小和最大探测距离(-100 100)
|实值向量1×2最小和最大探测距离,指定为一个实值1×2向量。雷达无法检测出这个范围内利率目标区间。单位是米每秒。
例子:(-20 100)
要启用这个特性,设置HasRangeRate
财产真正的
。
数据类型:双
DetectionProbability
- - - - - -检测目标的概率0.9
|积极的真正的标量小于或等于1目标的检测概率,指定为一个积极的真正的标量小于或等于1。这个量的概率定义检测目标的雷达截面,ReferenceRCS
参考检测范围,ReferenceRange
。
FalseAlarmRate
- - - - - -误警率1 e-6
(默认)|积极的真正的标量误警率雷达分辨单元内,指定为一个积极的真正的标量范围(107,103]。单位是无量纲。
例子:1 e-5
数据类型:双
ReferenceRange
- - - - - -参考范围检测的可能性One hundred.
(默认)|积极的真正的标量参考范围对于给定的检测概率,指定为一个积极的真正的标量。参考范围是当目标雷达截面范围规定ReferenceRCS
检测概率的规定DetectionProbability
。单位是米。
数据类型:双
ReferenceRCS
- - - - - -参考雷达横截面检测概率0
(默认)|非负实数参考雷达截面(RCS)对于给定的概率检测、指定为一个非负实数。的参考RCS值所指定的目标检测概率DetectionProbability
。在dBsm单位。
数据类型:双
RadarLoopGain
- - - - - -雷达环路增益这个属性是只读的。
雷达环路增益,指定为一个真正的标量。雷达环路增益报道有关雷达的信噪比,信噪比目标的雷达截面,RCS目标区间,R通过
信噪比= RadarLoopGain + RCS - 40 * log10(右)
RadarLoopGain
取决于DetectionProbability
,ReferenceRange
,ReferenceRCS
,FalseAlarmRate
属性值。单位在dB。
数据类型:双
AzimuthResolution
- - - - - -方位分辨率的雷达4
(默认)|积极的真正的标量雷达的方位分辨率,指定为一个积极的真正的标量。方位角的方位分辨率定义了最小分离的雷达可以区分两个目标。的方位分辨率通常3 db-downpoint方位角雷达的波束宽度。单位是在度。
数据类型:双
ElevationResolution
- - - - - -海拔高度分辨率的雷达10
(默认)|积极的真正的标量海拔解决雷达、指定为一个积极的真正的标量。高度分辨率定义了最小分离在仰角的雷达可以区分两个目标。海拔高度分辨率通常是3 db-downpoint仰角雷达的波束宽度。单位是在度。
要启用这个特性,设置HasElevation
财产真正的
。
数据类型:双
RangeResolution
- - - - - -雷达的距离分辨率2.5
(默认)|积极的真正的标量雷达的距离分辨率,指定为一个积极的真正的标量。距离分辨率定义范围的最低分离的雷达可以区分两个目标。单位是米。
数据类型:双
RangeRateResolution
- - - - - -率分辨率的雷达范围0.5
(默认)|积极的真正的标量解决雷达速度范围,指定为一个积极的真正的标量。利率决议范围定义了最小分离速率范围的雷达可以区分两个目标。单位是米每秒。
要启用这个特性,设置HasRangeRate
财产真正的
。
数据类型:双
AzimuthBiasFraction
- - - - - -方位偏差分数0.1
(默认)|非负实数方位偏差的雷达,指定为一个非负实数。方位偏差表示为中指定的方位分辨率的一小部分AzimuthResolution
。单位是无量纲。
数据类型:双
ElevationBiasFraction
- - - - - -高程偏差分数0.1
(默认)|非负实数高程偏差的雷达,指定为一个非负实数。高程偏差表示为高度分辨率中指定的一小部分ElevationResolution
。单位是无量纲。
要启用这个特性,设置HasElevation
财产真正的
。
数据类型:双
RangeBiasFraction
- - - - - -倾向分数范围0.05
(默认)|非负实数偏见的雷达范围,指定为一个非负实数。偏见表示为范围中指定的距离分辨率的一小部分RangeResolution
。单位是无量纲。
数据类型:双
RangeRateBiasFraction
- - - - - -率偏差范围部分0.05
(默认)|非负实数率偏差的雷达范围,指定为一个非负实数。率偏差范围表示为利率决议中指定范围的一小部分RangeRateResolution
。单位是无量纲。
要启用这个特性,设置HasRangeRate
财产真正的
。
数据类型:双
HasElevation
- - - - - -使雷达测量高程假
(默认)|真正的
使雷达测量目标高度角,指定为假
或真正的
。将此属性设置为真正的
模型一个雷达传感器,可以估计目标仰角。将此属性设置为假
模型一个雷达传感器无法测量高程。
数据类型:逻辑
HasRangeRate
- - - - - -使雷达测量范围假
(默认)|真正的
使雷达测量目标范围,指定为假
或真正的
。将此属性设置为真正的
模型的雷达传感器可以估计目标区间。将此属性设置为假
模型一个雷达传感器无法测量范围。
数据类型:逻辑
HasNoise
- - - - - -允许添加噪声雷达传感器测量真正的
(默认)|假
允许添加噪声雷达传感器测量,指定为真正的
或假
。将此属性设置为真正的
添加噪声雷达测量。否则,测量没有噪音。即使你设置HasNoise
来假
,对象仍然计算MeasurementNoise
每个检测的属性。
数据类型:逻辑
HasFalseAlarms
- - - - - -使创建假警报雷达探测真正的
(默认)|假
使雷达测量报告假警报,指定为真正的
或假
。将此属性设置为真正的
报告假警报。否则,只有实际的检测报告。
数据类型:逻辑
HasOcclusion
- - - - - -使视线遮挡真正的
(默认)|假
使视线遮挡,指定为真正的
或假
。生成检测只从对象的雷达有直接的视线,设置该属性真正的
。例如,启用了这个属性,雷达不生成检测车辆,另一辆车并阻止视图。
数据类型:逻辑
MaxNumDetectionsSource
- - - - - -来源的最大数量的检测报告“汽车”
(默认)|“属性”
的最大数量的检测报告的传感器,指定为“汽车”
或“属性”
。当这个属性设置“汽车”
所有检测传感器报告。当这个属性设置“属性”
、传感器报告不超过指定的检测的数量MaxNumDetections
财产。
数据类型:字符
|字符串
MaxNumDetections
- - - - - -最大数量的检测报告50
(默认)|正整数最大数量的检测报告的传感器,指定为一个正整数。检测报告的顺序距离传感器,直到达到最大数量。
要启用这个特性,设置MaxNumDetectionsSource
财产“属性”
。
数据类型:双
DetectionCoordinates
- - - - - -坐标系统的检测报告“自我笛卡儿”
(默认)|传感器笛卡儿的
|“球形传感器”
坐标系统的检测报告,指定这些值之一:
“自我笛卡儿”
——在自我检测报告车辆笛卡儿坐标系统。
传感器笛卡儿的
——笛卡儿坐标系统传感器的检测报告。
“球形传感器”
-检测报告在一个球面坐标系统。这个坐标系统集中在雷达和与自我汽车雷达的方向。
数据类型:字符
|字符串
ActorProfiles
- - - - - -演员简介演员概要文件,指定为一个结构或一个结构数组。每个结构都包含物理和雷达的特点,一个演员。
如果ActorProfiles
是一个结构,所有演员传递到吗radarDetectionGenerator
对象使用这个配置文件。
如果ActorProfiles
是一个数组,每个演员都传递到对象必须有一个独特的演员。
为你的驾驶场景生成的数组结构,使用actorProfiles
函数。表显示了有效的结构字段。如果你不指定一个字段,该字段设置为其默认值。如果没有传递到对象,演员的ActorID
字段是不包括在内。
场 | 描述 |
---|---|
ActorID |
场景定义演员标识符指定为一个正整数。 |
ClassID |
分类标识符指定为一个非负整数。0 被预留给一个未知或未赋值的类的一个对象。 |
长度 |
演员,长度指定为一个积极的真正的标量。默认值是4.7 。单位是米。 |
宽度 |
指定宽度的演员,是一个积极的真正的标量。默认值是1.8 。单位是米。 |
高度 |
高度的演员,指定为一个积极的真正的标量。默认值是1.4 。单位是米。 |
OriginOffset |
抵消旋转中心的演员从它的几何中心,指定为一个(xyz实值向量。旋转中心,或起源,位于底部的中心的演员。车辆,旋转中心是点在地上在后桥的中心。默认值是 |
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
对象雷达传感器检测,作为细胞数组返回objectDetection
对象。每个对象包含这些字段:
财产 | 定义 |
---|---|
时间 |
测量时间 |
测量 |
对象的测量 |
MeasurementNoise |
测量噪声协方差矩阵 |
SensorIndex |
传感器的惟一ID |
ObjectClassID |
对象分类 |
ObjectAttributes |
额外的信息传递给跟踪 |
MeasurementParameters |
所使用的参数初始化函数的非线性卡尔曼跟踪滤波器 |
笛卡尔坐标,测量
,MeasurementNoise
,MeasurementParameters
在指定的坐标系统报告吗DetectionCoordinates
财产的radarDetectionGenerator
。
球坐标,测量
和MeasurementNoise
发表在球面坐标系统基于传感器笛卡儿坐标系统。MeasurementParameters
发表在传感器笛卡尔坐标。
测量
DetectionCoordinates财产 | 坐标测量和测量噪声 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
“自我笛卡儿” |
协调依赖HasRangeRate
|
|||||||||||||||
传感器笛卡儿的 |
||||||||||||||||
“球形传感器” |
协调依赖HasRangeRate和HasElevation
|
MeasurementParameters
参数 | 定义 |
---|---|
框架 |
枚举类型指示帧用来测量报告。当框架 被设置为“矩形” 在笛卡尔坐标系中,检测报告。当框架 设置“球” 在球坐标中,检测报告。 |
OriginPosition |
三维矢量传感器原点的偏移自我车辆来源。向量来源于SensorLocation 和高度 属性中指定的radarDetectionGenerator 。 |
取向 |
取向的视觉传感器坐标系对自我车辆坐标系。定位来源于偏航 ,球场 ,卷 的属性radarDetectionGenerator 。 |
HasVelocity |
表明测量是否包含速度或范围率组件。 |
HasElevation |
指示是否包含高程测量组件。 |
ObjectAttributes
属性 | 定义 |
---|---|
TargetIndex |
标识符的演员,ActorID ,生成的检测。假警报,这个值是负的。 |
信噪比 |
在dB检测信噪比。 |
numValidDets
——数量的检测数量的检测,作为一个非负整数返回。
当MaxNumDetectionsSource
属性设置为“汽车”
,numValidDets
设置的长度吗依据
。
当MaxNumDetectionsSource
属性设置为“属性”
,依据
是一个单元阵列长度决定的吗MaxNumDetections
财产。不超过MaxNumDetections
检测返回。如果检测的数量是不足的MaxNumDetections
,第一个numValidDets
的元素依据
持有有效的检测。其余的元素依据
设置为默认值。
数据类型:双
isValidTime
——有效的检测时间0
|1
有效的检测时间,返回0
或1
。isValidTime
是0
当检测更新请求之间的时间更新指定的时间间隔UpdateInterval
。
数据类型:逻辑
使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj
使用这个语法:
发行版(obj)
生成使用前置汽车雷达安装在一个自我检测车辆。假设有三个目标:
车辆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
创建一个俯视的检测。传感器覆盖范围。提取X和Y通过将目标的位置测量
单元阵列的字段为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)结束
radarDetectionGenerator
系统对象和雷达检测发电机块不推荐不推荐在R2021a开始
的radarDetectionGenerator
系统对象和雷达检测发电机屏蔽不推荐,除非你要求C / c++代码生成。相反,使用drivingRadarDataGenerator
系统对象和驾驶雷达数据生成器,分别。这些新的雷达传感器提供额外的属性建模雷达传感器,包括生成跟踪和集群检测的能力。
没有删除当前计划radarDetectionGenerator
系统对象或雷达检测发电机块。MATLAB代码和仿真软件金宝app®模型,使用这些功能将继续运行。你仍然可以进口radarDetectionGenerator
对象进驾驶场景设计师应用。然而,这个应用程序更新进口传感器的参数反映的参数drivingRadarDataGenerator
对象。此外,当你一个场景包含一个出口radarDetectionGenerator
传感器或仿真软件MATLAB代码模型,应用传感器作为一个出口金宝appdrivingRadarDataGenerator
对象或驾驶雷达数据生成器块,分别。
在MATLAB代码中,取代的所有实例radarDetectionGenerator
与drivingRadarDataGenerator
。此外,更新所有radarDetectionGenerator
属性与等效drivingRadarDataGenerator
属性,如表所示。表中未列出的属性是特定的唯一drivingRadarDataGenerator
或相同的对象。
radarDetectionGenerator 属性 |
等效drivingRadarDataGenerator 属性 |
---|---|
|
|
|
|
|
|
|
RangeLimits |
|
|
|
|
|
|
此表显示了创建一个示例代码drivingRadarDataGenerator
对象,而不是一个radarDetectionGenerator
对象。
不使用 | 建议更换 |
---|---|
雷达= radarDetectionGenerator (…“SensorLocation”(1 0),…“高度”,0.2,…“偏航”,180,…“节”0,…“滚”0,…“MaxRange”,50); |
雷达= drivingRadarDataGenerator (…“MountingLocation”(1 0 0。0.2),…“MountingAngles”(180 0 0),…“RangeLimits”,50 [0]); |
从目标提出了在每个生成检测仿真时间步,取代依据= radarDetectionGenerator(目标、时间)
语法与依据= drivingRadarDataGenerator(目标、时间)
。
在仿真金宝app软件模型,代替所有雷达检测发电机块与驾驶雷达数据生成器块。在驾驶雷达数据生成器块,更新参数值以同样的方式你会更新drivingRadarDataGenerator
属性值描述的更新代码部分。
如果你的模型包含一个单独的块,集群检测,你可以删除它,因为驾驶雷达数据生成器阻止默认集群检测。
例如,在这个模型中,传感器仿真子系统的输出连接检测雷达检测发电机块到一个单独的块,集群检测。
在这个模型中,传感器仿真子系统输出连接,集群检测驾驶雷达数据生成器块管道直接进入下一部分的模型。
使用笔记和限制:
看到系统在MATLAB代码生成对象(MATLAB编码器)。
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。