C++ GPS坐标插值/平滑
我正在寻找一个合适的算法来插值和平滑1Hz GPS记录(文件)坐标,最高可达60Hz 虽然我已经找到了一些插值算法,但我找不到合适的平滑算法来处理插值C++ GPS坐标插值/平滑,c++,gps,interpolation,smoothing,C++,Gps,Interpolation,Smoothing,我正在寻找一个合适的算法来插值和平滑1Hz GPS记录(文件)坐标,最高可达60Hz 虽然我已经找到了一些插值算法,但我找不到合适的平滑算法来处理插值 ALGLIB听起来很适合插值,但平滑是什么呢?由于GPS坐标系已经经过了大量的Kalmann滤波,我只会在坐标系之间应用线性相互作用。 平滑使位置错误。当设备移动时,坐标已经平滑。通常无需进一步平滑。 如果设备静止时出现问题,请移除该位置 考虑使用运行平均过滤器平滑数据,将过滤器窗口设置为0,5-1s;当前位置在窗口的中心。延迟将是窗口大小的一半
ALGLIB听起来很适合插值,但平滑是什么呢?由于GPS坐标系已经经过了大量的Kalmann滤波,我只会在坐标系之间应用线性相互作用。
平滑使位置错误。当设备移动时,坐标已经平滑。通常无需进一步平滑。
如果设备静止时出现问题,请移除该位置 考虑使用运行平均过滤器平滑数据,将过滤器窗口设置为0,5-1s;当前位置在窗口的中心。延迟将是窗口大小的一半
根据实现的不同,您将使用前半个窗口和后半个窗口。(这不会是个问题)你不需要外推吗?你得到的1Hz值已经“旧”了,通过在下一秒对它们进行平滑处理,你会将它们延迟得更久……不,我是说插值。这些值来自记录的文件,不是实时的。为澄清而编辑的问题。只有线性插值意味着,每个位置点都会被触摸-这是我想要避免的,否则记录点的实时可视化(因此为60Hz)将在已知点之间摇摆。不,不幸的是,坐标在移动中不平滑。移动速度有多快,当它们不光滑时?行人还是汽车?正常60Hz,这是来自GPS接收器的未过滤数据。这对你的任务有意义吗?GPS接收机使用Kalmann滤波器进行平滑处理,但它们的信息比你们多,所以通常可以更好地平滑。(uBlox和Sirf)或使用具有0,5s-1s过滤窗口的运行平均过滤器,这应该可以工作,您可以使用三角形窗口进行优化