ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-使用卡尔曼滤波器进行多边跟踪平滑?

2019-10-31 09:02:55  阅读:550  来源: 互联网

标签:kalman-filter smoothing geolocation java


关于通过多边跟踪飞机,我有以下问题:
我们设法实现了一些算法,使用3个或4个接收器,基于多纬度来计算飞机的位置.
问题是,这条轨道看起来很“摇晃”(请查看链接中的图片,对不起,由于声誉我无法在此处添加它.)

GPS and Mlat Track

绿线是飞机在地面上的真实GPS轨迹,橙色线是通过多边计算(到达时间差,每秒大约一到两个位置)计算出的轨迹. GPS轨道仅供比较,将来可能不可用.

什么是使路线顺利的好方法?我偶然发现了卡尔曼滤波器.我不是数学家,也不具有机器人技术或类似技术的经验.对于我来说,达到这个水平的数学非常困难甚至是无法理解的(我很高兴自己可以很好地完成多边运算).轨迹是通过封闭格式算法计算的.也许切换到迭代算法也可能有所帮助?

那么,在结果多边位置本身上实现卡尔曼滤波器是否有意义?还是在实际计算位置之前已经在TDOA值上?晃动的外观会导致接收器站点出现较小的测量误差,因此它可能有助于平滑/过滤TDOA值本身.

但是那时我仍然需要一个非常复杂的更新模型,因为飞机正在移动并且TDOA值取决于一个真实的飞机位置.我可以想象,用于平滑Track和平滑TDOA值的模型非常相似.如果不一样的话.

我们用Java来完成所有这些工作,因此也许有一些可用的库就可以开始使用而无需再次进行所有数学运算?

解决方法:

这是一个经典的跟踪问题,您可以通过许多不同的方法找到大量的科学文献.坏消息是,如果找不到适合您工作的库,则必须研究数学.

利用卡尔曼滤波器可以朝正确的方向发展,因为它可以根据间接测量数据估算状态(位置,速度).由于您的多元运算是针对测量数据的非线性映射,因此您需要一个非线性估计器.

对于此类问题,我的标准建议是Unscented Kalman滤波器,因为它(相对)算法简单,并且具有很高的鲁棒性.它也可以照顾您的多重语言,因为在一个时间步内可以进行多种不同的测量.
至于卡尔曼滤波器,您还需要一个运动模型-一个简单的(线性)模型就可以完成这项工作,因为我假设您正在跟踪法线飞机(不是机动性很强的喷气式战斗机).不幸的是,我不知道任何适当的实现方式-有关如何有效实现一种方法的说明,请仔细阅读(其背后的数学并不简单):

Merwe,R.V. D.& Wan,E.A.在国际声学,语音和信号处理会议上,用于状态和参数估计的平方根无味卡尔曼滤波器,2001,3461-3464

对于(低精度)快速且肮脏的解决方案,请为每个尺寸实现FIR Low-path Filter.您会在网上找到一些工具(例如here),这些工具可以为您生成代码.

标签:kalman-filter,smoothing,geolocation,java
来源: https://codeday.me/bug/20191031/1974642.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有