文档帮助中心文档
从检测报告中创建恒定加速度扩展卡尔曼滤波器
过滤器= initcaekf(检测)
例子
过滤器= initcaekf (检测)创建并初始化一个常量加速度扩展卡尔曼过滤器从包含的信息检测报告。有关扩展卡尔曼滤波器的更多信息,请参见trackingEKF.
过滤器= initcaekf (检测)
过滤器
检测
trackingEKF
函数初始化一个常量加速状态,其约定与constacc和cameas, (x;vx;一个x;y;vy;一个y;z;vz;一个z].
constacc
cameas
全部折叠
从初始检测报告中创建并初始化一个三维常量加速度扩展卡尔曼滤波器对象。
根据初始三维测量创建检测报告,(-200; 30 0),表示物体位置。假设测量噪声不相关。
检测= objectDetection (0 (-200; -30; 0)“MeasurementNoise”, 2.1 *眼(3),...“SensorIndex”, 1“ObjectClassID”, 1“ObjectAttributes”,{“汽车”2});
从检测报告中创建新的筛选器并显示其属性。
filter = trackingEKF with properties: State: [9x1 double] StateCovariance: [9x9 double] stattransitionfcn: @constacc stattransitionjacobianfcn: @constaccjac ProcessNoise: [3x3 double] HasAdditiveProcessNoise: 0 MeasurementFcn: @cameas MeasurementJacobianFcn: @cameasjac MeasurementNoise: [3x3 double] hasadditivemeasmentnoise:1 MaxNumOOSMSteps: 0 EnableSmoothing: 0
显示过滤器状态。
过滤器。状态
ans =9×1-200 00 -30 00 00
显示状态协方差矩阵。
过滤器。状态Covariance
ans =9×92.1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100.0000 100.0000 2.1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100.0000 100.0000 2.1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100.0000 100.0000
初始化一个三维恒加速度扩展卡尔曼滤波器,从一个初始检测报告由初始测量球坐标。如果你想使用球坐标,那么你必须提供一个测量参数结构作为检测报告的一部分框架字段设置为“球”.设置目标的方位角为 4 5 ∘ 的高度 2 2 ∘ ,量程为1000米,量程速率为-4.0 m/s。
框架
“球”
帧=“球”;sensorpos =[25、-40、-10]。';sensorvel =(0; 5。0);宽松=眼(3);
创建测量参数结构。集“HasVelocity”和“HasElevation”来真正的.然后,测量矢量由方位角、仰角、距离和距离速率组成。
“HasVelocity”
“HasElevation”
真正的
measparms =结构(“帧”框架,“OriginPosition”sensorpos,...“OriginVelocity”sensorvel,“定位”宽松的,“HasVelocity”,真的,...“HasElevation”,真正的);量= (45,22,1000;4);measnoise =诊断接头(3.0、2.5、2、1.0。^ 2);检测= objectDetection(0,量,“MeasurementNoise”,...measnoise,“MeasurementParameters”measparms)
detection = objectDetection with properties: Time: 0 Measurement: [4x1 double] MeasurementNoise: [4x4 double] SensorIndex: 1 ObjectClassID: 0 MeasurementParameters: [1x1 struct] ObjectAttributes: {}
过滤器= initcaekf(检测);
显示状态向量。
disp (filter.State)
680.6180 -2.6225 0 615.6180 2.3775 0 364.6066 -1.4984 0
objectDetection
检测报告,指定为objectDetection对象。
例子:检测= objectDetection(0,[1;4.5;3],'MeasurementNoise', [1.0 0 0;2.0 0 0;0 0 1.5])
检测= objectDetection(0,[1;4.5;3],'MeasurementNoise', [1.0 0 0;2.0 0 0;0 0 1.5])
扩展卡尔曼滤波器,返回为trackingEKF对象。
该函数计算过程噪声矩阵,假设时间步长为1秒,加速度速率标准差为1m /s3..
你可以使用这个函数作为FilterInitializationFcn财产的multiObjectTracker对象。
FilterInitializationFcn
multiObjectTracker
initctekf
initctukf
initcvkf
initcvekf
initcvukf
initcakf
initcaukf
trackingKF
trackingUKF
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系