假设现在有10个点(本船定时采样的航迹,假设持续右转)。由于误差,根据相邻点算出来的航向和速度(九个)不够平滑。请问有什么算法能让航向航速值平滑一点?也就是说,根据前面的点,怎么修正最后两点得到的航向航速值?

解决方案 »

  1.   

    第一点和最后一点不变,中间2-9点采用与前后取平均的方式。

    b(0)=a(0)for i = 1 to 8
    b(i)=(a(i-1)+a(i)+a(i+1))/3
    nextb(9)=a(9)然后再画出来
      

  2.   

    低通滤波用高斯核
    //core = 1,2,4,2,1
    for(i = 0; i < 10; i++)
    {
     dstData[i] = (srcData[i-2]*1 + srcData[i-1]*2 + 
                   srcData[i]*4 + 
                   srcData[i+1]*2 + srcData[i+2]*1)/5
    }
    考虑一下数据边界
    可以根椐需要调整核
    楼上方法也可