帮助中心帮助中心
trackingCKF
容积卡尔曼滤波跟踪对象
自从R2018b
的trackingCKF对象表示一个容积卡尔曼滤波跟踪对象的设计遵循非线性运动模型或测量非线性测量模型。使用过滤器来预测未来对象的位置,减少噪音的测量位置,或帮助将多个对象检测与跟踪。
容积卡尔曼滤波估计状态的不确定性,这种不确定性传播的非线性状态和测量方程。有固定数量的体积分选择基于spherical-radial转换保证精确的近似高斯分布到第三。因此,相应的过滤器是一样的无味卡尔曼滤波器,trackingUKF,α= 1,β= 0,卡巴= 0。
trackingUKF
α
β
卡巴
位置= trackingCKF
位置= trackingCKF (transitionFcn、measuremntFcn状态)
位置= trackingCKF (___、名称、值)
位置= trackingCKF返回一个容积卡尔曼滤波与默认状态转换函数对象,测量功能、状态和添加剂噪声模型。
位置
例子
位置= trackingCKF (transitionFcn、measuremntFcn、状态)指定了StateTransitionFcn,MeasurementFcn,状态直接属性。
位置= trackingCKF (transitionFcn、measuremntFcn、状态)
StateTransitionFcn
MeasurementFcn
状态
位置= trackingCKF (___、名称、值)指定的属性使用一个或多个卡尔曼滤波器名称,值对参数。任何未指定的属性默认值。
名称,值
全部展开
卡尔曼滤波器的状态,指定为一个实值米元向量。
如果你想要一个过滤器与单精度浮点变量,指定状态作为一个单精度向量变量。例如,
过滤器= trackingCKF(“状态”,单([1;2;3;4)))
例子:(200;0.2;150;0.1;0;0.25]
(200;0.2;150;0.1;0;0.25]
数据类型:单|双
单
双
StateCovariance
状态误差协方差,指定为正定实值米——- - - - - -米矩阵,米过滤器的大小状态。协方差矩阵表示的不确定性过滤状态。
例子:眼(6)
眼(6)
状态转换函数,指定为一个函数处理。这个函数计算时间步的状态向量k在时间步的状态向量k- 1。函数可以把额外的输入参数,如控制输入或时间步长。还可以包括噪声值的函数。您可以使用这些函数作为你的状态转换函数之一。
k
constvel
constacc
constturn
您也可以编写自己的状态转换函数。状态转换函数的有效的语法取决于过滤器添加剂过程噪音。表显示了基于价值的有效的语法HasAdditiveProcessNoise财产。
HasAdditiveProcessNoise
HasAdditiveProcessNoise = true
HasAdditiveProcessNoise = false
x (k) = statetransitionfcn (x (k - 1)) x (k) = statetransitionfcn (x (k - 1),参数)
x (k)国家在时间吗k。
x (k)
参数代表所有所需的附加参数状态转换函数。
参数
x (k) = statetransitionfcn (x (k - 1), w (k - 1)) x (k) = statetransitionfcn (x (k - 1), w (k - 1), dt) x (k) = statetransitionfcn(__,参数)
w (k)是一个值的过程噪声的时间吗k。
w (k)
dt的时间步长是吗trackingCKF过滤器,过滤器,最近调用中指定预测函数。的dt论点适用于当您使用过滤器内追踪和调用预测函数的滤波器预测跟踪下一个时间步的状态。对于非相加的过程噪声的情况,跟踪器假设您显式地指定时间一步使用这种语法:预测(过滤器,dt)。
dt
过滤器
预测
预测(过滤器,dt)
例子:@constacc
@constacc
数据类型:function_handle
function_handle
ProcessNoise
1
过程噪声协方差:
当HasAdditiveProcessNoise是真正的,指定过程噪声协方差作为标量或正定实值米——- - - - - -米矩阵。米状态向量的维数。当指定为一个标量,矩阵的多米——- - - - - -米单位矩阵。
真正的
当HasAdditiveProcessNoise是假,指定过程噪声协方差作为问——- - - - - -问矩阵。问过程噪声向量的大小。
假
指定ProcessNoise在任何调用之前预测函数。在以后的调用预测,您可以选择指定的过程噪声作为标量。在这种情况下,过程噪声矩阵的多问——- - - - - -问单位矩阵。
例子:(1.0 - 0.05 0;0.05 1.0 2.0;0 2.0 1.0]
(1.0 - 0.05 0;0.05 1.0 2.0;0 2.0 1.0
这个参数取决于HasAdditiveNoise财产。
HasAdditiveNoise
选择模型过程噪声作为添加剂,指定为真正的或假。当这个属性真正的、过程噪声添加到状态向量。否则,噪音是纳入状态转换函数。
度量模型函数,指定为一个函数处理。这个函数可以预测的非线性函数,模型测量状态。输入函数米有效状态向量。输出是N有效测量向量。该函数可以把额外的输入参数,如传感器位置和姿态。
如果HasAdditiveMeasurementNoise是真正的使用这些语法,指定的函数:
HasAdditiveMeasurementNoise
z (k) = measurementfcn (x (k))
z (k) = measurementfcn (x (k),参数)
z (k)
如果HasAdditiveMeasurementNoise是假使用这些语法,指定的函数:
z (k) = measurementfcn (x (k), v (k))
z (k) = measurementfcn (x (k), v (k),参数)
v (k)
如果HasMeasurementWrapping属性是真正的另外,你必须返回测量包装范围,过滤器使用包装测量残差,作为第二个输出参数的测量功能。
HasMeasurementWrapping
[z (k),边界]= measurementfcn (__)
界限
−正
正
例如,考虑一个测量方位和距离的函数,它返回一个平台(方位;范围]。如果-180年和180年之间的方位角包装度虽然范围是无限的和非负,然后指定第二个输出参数的函数(-180 180;0正]。
方位
范围
(-180 180;0正]
例子:@cameas
@cameas
0
测量残差的包装过滤器,指定为一个逻辑0(假)或1(真正的)。当指定为真正的,测量函数中指定MeasurementFcn属性必须返回两个输出参数:
第一个参数是测量,作为一个返回米元实值向量。
第二个参数是包装范围,作为一个返回米2实值矩阵,米测量的尺寸。在每一行,第一和第二元素的上下边界对应的测量变量。您可以使用−正或正代表的变量没有较低或上界。
如果你启用这个特性,根据测量范围过滤包装测量残差,这有助于防止过滤器散度测量方法不正确造成的剩余价值。
这些测量功能有预定义的包装范围:
cvmeas
cameas
ctmeas
cvmeasmsc
singermeas
在这些功能,包装范围为方位角测量(-180 180)度和(-90 90)度仰角测量。其他测量不有界的。
请注意
您可以指定这个属性只在构建过滤器。
MeasurementNoise
测量噪声协方差:。
当HasAdditiveMeasurementNoise是真正的,指定的测量噪声协方差作为一个标量或一个N——- - - - - -N矩阵。N是测量向量的大小。当指定为一个标量,矩阵的多N——- - - - - -N单位矩阵。
当HasAdditiveMeasurementNoise是假,指定的测量噪声协方差作为R——- - - - - -R矩阵。R是测量噪声向量的大小。
指定MeasurementNoise在任何调用之前正确的函数。在第一次调用正确的,您可以选择指定的测量噪声作为标量。在这种情况下,测量噪声矩阵的多R——- - - - - -R单位矩阵。
正确的
例子:0.2
0.2
选项来启用添加剂测量噪音,指定为真正的或假。当这个属性真正的、噪声添加到测量。否则,噪音是纳入测量功能。
EnableSmoothing
启用状态平滑,指定为假或真正的。将这个属性设置为真正的需要传感器融合和跟踪工具箱™许可证。当指定为真正的,您可以:
使用光滑的功能,传感器融合和跟踪提供的工具箱,平稳状态的估计前面的步骤。在内部,过滤器商店前面的步骤的结果允许向后平滑。
光滑的
使用指定的最大数量平滑步骤MaxNumSmoothingSteps财产的跟踪滤波器。
MaxNumSmoothingSteps
5
最大数量的向后平滑步骤,指定为一个正整数。
要启用这个特性,设置EnableSmoothing财产真正的。
correctjpda
距离
可能性
剩余
克隆
tunableProperties
setTunedProperties
全部折叠
这个例子展示了如何创建并运行一个trackingCKF过滤器。调用预测和正确的函数来跟踪一个物体和正确的基于测量的状态估计。
创建一个过滤器。指定匀速运动模型,度量模型,初始状态。
状态= [0,0,0,0,0,0);位置= trackingCKF (@constvel、@cvmeas、状态);
调用预测预测的状态和协方差的过滤器。使用0.5秒时间步。
[xPred, ppr] =预测(位置,0.5);
调用正确的与一个给定的测量。
量= (1;1,0);[xCorr, pCorr] =正确(位置、量);
继续预测滤波器的状态。必要时指定所需的时间步在几秒钟内。
[xPred, ppr] =预测(位置);%预测超过1秒[xPred, ppr] =预测(位置2);%预测/ 2秒
[1]Arasaratnam Ienkaran,西蒙微积分。”容积卡尔曼滤波器。“IEEE自动控制54,不。6 (2009):1254 - 1269。
使用笔记和限制:
过滤器支持严格的单精度金宝app时代码生成指定的状态转换功能和测量功能都支持单精度代码生成。
有关详细信息,请参见生成代码与严格的单精度和非动态内存分配。
过滤器支持非动态内存分金宝app配代码生成。
介绍了R2018b
trackingKF
trackingEKF
trackingIMM
trackingGSF
trackingMSCEKF
trackingPF
你有一个修改版的这个例子。你想打开这个例子与编辑?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室