帮助中心帮助中心
trackingIMM
交互多模型(IMM)过滤器对象跟踪
的trackingIMM对象代表了一个交互多模型(IMM)滤波器设计跟踪高度机动的对象。使用过滤器来预测未来对象的位置,以减少噪音检测位置,或帮助他们将多个对象检测与跟踪。
多个运动模型的IMM滤波器处理贝叶斯框架。这种方法解决了目标运动的不确定性通过使用多个模型对机动目标。IMM算法同时处理所有模型和模型之间的开关根据更新后的重量。
imm = trackingIMM
imm = trackingIMM (trackingFilters)
imm = trackingIMM (trackingFilters modelConversionFcn)
imm = trackingIMM (trackingFilters modelConversionFcn transitionProbabilities)
imm = trackingIMM (___、名称、值)
imm= trackingIMM返回一个对象IMM滤波器用默认跟踪滤波器{trackingEKF, trackingEKF, trackingEKF}与运动模型设置为恒定的速度,加速度恒定,分别和常数。过滤器使用默认的转换功能,@switchimm。
imm= trackingIMM
imm
{trackingEKF, trackingEKF, trackingEKF}
@switchimm
imm= trackingIMM (trackingFilters)指定了TrackingFilters财产和所有其他属性设置为默认值。
imm= trackingIMM (trackingFilters)
trackingFilters
imm= trackingIMM (trackingFilters,modelConversionFcn)还指定了ModelConversionFcn财产。
imm= trackingIMM (trackingFilters,modelConversionFcn)
modelConversionFcn
imm= trackingIMM (trackingFilters,modelConversionFcn,transitionProbabilities)还指定了TransitionProbabilities财产。
imm= trackingIMM (trackingFilters,modelConversionFcn,transitionProbabilities)
transitionProbabilities
例子
imm= trackingIMM (___、名称、值)指定的属性使用一个或多个过滤器名称,值对参数。任何未指定的属性默认值。先从以前的语法指定其他输入参数。
imm= trackingIMM (___、名称、值)
名称,值
全部展开
状态
[0,0,0,0,0,0)
过滤状态,指定为一个实值米元向量。在创建对象时指定初始状态使用名称-值对。
数据类型:单|双
单
双
StateCovariance
诊断接头((1 100 1 100 1 100))
状态误差协方差,指定为一个米——- - - - - -米矩阵,米过滤器的大小状态。一个标量扩展到一个输入米——- - - - - -米矩阵。协方差矩阵表示的不确定性过滤状态。指定初始状态协方差在创建对象时使用名称-值对。
例子:眼(6)
眼(6)
TrackingFilters
过滤器列表,指定为一个单元阵列的跟踪滤波器。默认情况下,过滤器等概率。指定ModelProbabilities如果过滤器有不同的概率。
ModelProbabilities
如果你想要一个trackingIMM过滤器与单精度浮点变量,使用单精确指定过滤器。例如,
@constvel filter1 = trackingEKF (“StateTransitionFcn”,“状态”,单([1;2;3;4]));@constvel filter2 = trackingEKF (“StateTransitionFcn”,“状态”,单([2、3、3、1]));过滤器= trackingIMM ({filter1, filter2})
数据类型:细胞
细胞
HasMeasurementWrapping
这个属性是只读的。
测量残差的包装过滤器,指定为一个K元逻辑向量,K是底层跟踪过滤器中指定的数量吗TrackingFilters财产。如果一个潜在的过滤器使测量包装,那么相应的元素是一个1(真正的)。否则,它是0(假)。
1
真正的
0
假
ModelConversionFcn
将状态或状态协方差函数,指定为一个函数处理。协方差函数转换状态或状态从一个模式到另一个类型。函数签名:
函数x2 = modelConversionFcn (modelType1, x1, modelType2)
的modelType1和modelType2输入的名称是两个模型的名字。x1指定了状态或StateCovariance第一个模型。x2输出状态或StateCovariance
modelType1
modelType2
x1
x2
数据类型:function_handle
function_handle
TransitionProbabilities
0.9
过滤器的概率模型转换,指定为一个积极的真正的标量,l元向量,或l——- - - - - -l矩阵,l过滤器的数量:
当指定为一个标量,呆在每个过滤器的概率是统一的。剩下的概率(1 -p均匀地分布在其他运动模型。
当指定为一个向量,每个元素定义的概率保持在每个过滤器。剩下的概率(1 -p均匀地分布在其他均匀运动模型。
当指定为一个矩阵,(j, k)元素定义了概率的过渡jth过滤器的k过滤器。所有元素都必须躺在区间[0,1],和每一行的总和必须为1。
过渡概率为每个模型对应的概率定义过滤器从这种模式切换到另一个模型在1秒。
例子:0.75
0.75
MeasurementNoise
测量噪声协方差,指定为一个积极的标量或正定实值矩阵。当指定为一个标量,矩阵的多N——- - - - - -N单位矩阵。N是测量向量的大小。
指定MeasurementNoise在任何调用之前正确的函数。
正确的
例子:0.2
0.2
1 / L * 1(左)
每个过滤器的重量,指定为一个向量的概率从0到1。默认情况下,滤波器的每个组件的重量是相等的。l过滤器的数量。IMM滤波更新每个滤波器的预测步骤的重量。
EnableSmoothing
启用状态平滑,指定为假或真正的。当指定为真正的,你可以
使用光滑的函数光滑状态估计在前面的时间步骤。
光滑的
使用指定的最大数量平滑步骤MaxNumSmoothingSteps财产的过滤器。
MaxNumSmoothingSteps
请注意
平滑能力时仅支持金宝apptrackingIMM对象配置了高斯过滤器。
5
最大数量的向后平滑步骤,指定为一个正整数。
要启用这个特性,设置EnableSmoothing财产真正的。
MaxNumOOSMSteps
按顺序测量的最大数量(OOSM)步骤,指定为一个非负整数。
将这个属性设置为0禁用OOSM retrodiction过滤器对象的能力。
将这个属性设置为一个正整数使OOSM retrodiction过滤器对象的能力。启用了OOSM,过滤器对象保存过去的状态和状态协方差的历史。您可以使用OOSM和retrodict和retroCorrect(或retroCorrectJPDA为多个OOSMs)对象的函数来减少不确定性估计状态。
retrodict
retroCorrect
retroCorrectJPDA
增加这个属性的值增加了分配的内存数量,必须为国家历史,但允许您过程OOSMs到达后再延迟。注意,不确定性的影响减少使用OOSM减少延误就变长。
当你指定MaxNumOOSMSteps财产trackingIMM对象,MaxNumOOSMSteps底层的过滤器中指定的属性TrackingFilters财产被忽视。为目的的内存保存指定MaxNumOOSMSteps属性作为潜在的过滤器0。
预测
correctjpda
距离
可能性
克隆
初始化
全部折叠
这个例子展示了如何创建和运行一个交互多模型(IMM)滤波器使用trackingIMM对象。调用预测和正确的函数来跟踪一个物体和正确估计基于测量状态。
创建一个过滤器。使用名称-值对指定对象的附加属性。
检测= objectDetection (0 (1; 1, 0)“MeasurementNoise”0.2 (1 0;0.2 - 2 0;0 0 1);过滤器= {initctekf(检测);initcvekf(检测)};modelConv = @switchimm;transProb = [0.9, 0.9];imm = trackingIMM (“状态”,(1;1;3;1;5。1;1],“StateCovariance”眼睛(7),…“TransitionProbabilities”transProb,“TrackingFilters”、过滤…“ModelConversionFcn”,modelConv);
调用预测预测的状态和协方差的过滤器。使用0.5秒时间步。
[xPred, ppr] =预测(imm, 0.5);
调用正确的与一个给定的测量。
量= (1;1,0);[xCorr, pCorr] =正确(imm,量);
继续预测滤波器的状态。必要时指定所需的时间步在几秒钟内。
[xPred, ppr] =预测(imm);%预测超过1秒[xPred, ppr] =预测(imm, 2);%预测/ 2秒
[1]Bar-Shalom班,彼得·k·威利•和鑫田。跟踪和数据融合。美国CT斯托尔斯:yb出版,2011年。
[2]Blackman,撒母耳和罗伯特Popoli。”现代跟踪系统的设计与分析”。诺伍德,MA: Artech房子,1999。
使用笔记和限制:
过滤器支持金宝app严格的单精度代码生成时配置了trackingEKF,trackingUKF,或trackingCKF对象中设置单精度。
trackingEKF
trackingUKF
trackingCKF
有关详细信息,请参见生成代码与传感器融合严格的单精度和非动态内存分配和跟踪工具。
过滤器支持金宝app非动态的内存分配时代码生成配置trackingEKF,trackingUKF,或trackingCKF对象。
trackingKF|trackingEKF|trackingUKF|trackingCKF|trackingGSF|constvel|constacc|constturn
trackingKF
trackingGSF
constvel
constacc
constturn
你有一个修改版的这个例子。你想打开这个例子与编辑?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室