KalmanKalmanKalman滤波在船舶GPSGPSGPS导航定位系统中的应用

全球定位系统(GlobalPositioningSystem,GPS)(Global\quad Positioning \quad System,GPS)(GlobalPositioningSystem,GPS)广泛应用于军事和国际经济各领域。船舶GPSGPSGPS导航定位系统将一台GPSGPSGPS接收机安装在运动目标(船舶)上就可以进行导航定位计算。GPSGPSGPS接收机可以实时收到在轨的导航卫星播发的信号,算出接受载体(船舶)的位置和速度。由于民用领域GPSGPSGPS导航卫星播发的信号人为加入了高频振荡随机干扰信号,致使所有派生的卫星信号均产生高频抖动。为了提高定位精度,需要对GPSGPSGPS关于船舶的位置和速度的观测信号进行滤波。在GPSGPSGPS系统中人为加入的高频随机干扰信号可看成是GPSGPSGPS定位的观测噪声,观测噪声强度(方差)可由GPSGPSGPS观测信号用系统辨识方法求得。

为将模型简单化,假定船舶出港沿某直线方向航行。以港口码头的出发处为坐标原点,设采样时间为T0T_0T0​,用s(k)s(k)s(k)表示船舶在采样时刻kT0kT_0kT0​处的真实位置,用z(k)z(k)z(k)表示在时刻kT0kT_0kT0​处GPSGPSGPS定位的观测值,则有观测模型

z(k)=s(k)+v(k)z(k)=s(k)+v(k)z(k)=s(k)+v(k)

式中,v(k)v(k)v(k)表示GPSGPSGPS定位误差(观测噪声),假设它是零均值、方差为σv2\sigma _v ^2σv2​的白噪声,方差σv2\sigma _v ^2σv2​以通过大量GPSGPSGPS观测试验数据用统计方法获取。记在时刻kT0kT_0kT0​处船舶速度为s˙(k)\dot{s}(k)s˙(k),加速度为a(k)a(k)a(k),由匀加速运动公式有

s(k+1)=s(k)+T0s˙(k)+0.5T02a(k)s(k+1)=s(k)+ T_0 \dot{s}(k)+0.5T_0 ^2 a(k)s(k+1)=s(k)+T0​s˙(k)+0.5T02​a(k)

s˙(k+1)=s˙(k)+T0a(k)\dot {s}(k+1)=\dot s(k)+T_0 a(k)s˙(k+1)=s˙(k)+T0​a(k)

而加速度a(k)a(k)a(k)由机动加速度u(k)u(k)u(k)和随机加速度w(k)w(k)w(k)两部分合成,即

a(k)=u(k)+w(k)a(k)=u(k)+w(k)a(k)=u(k)+w(k)

式中,u(k)u(k)u(k)为船舶动力系统的控制信号,它是人为输出的已知机动信号;w(k)w(k)w(k)是由海风和海浪引起的随机加速度,假设它是零均值、方差为的σw2\sigma _w ^2σw2​独立于v(k)v(k)v(k)的白噪声。定义在采样时刻kT0kT_0kT0​处系统的状态x(k)x(k)x(k)为船舶的位置和速度,即

x(k)=[s(k)s˙(k)]x(k)= \begin{bmatrix} s(k) \\ \dot s(k) \end{bmatrix}x(k)=[s(k)s˙(k)​]

可得到船舶运动的状态方程

[s(k+1)s˙(k+1)]=[1T001][s(k)s˙(k)]+[0.5T02T0]u(k)+[0.5T02T0]w(k)\begin{bmatrix} s ( k + 1 ) \\ \dot s (k+1) \end{bmatrix} = \begin{bmatrix} 1&T_0 \\0&1 \end{bmatrix} \begin{bmatrix} s(k)\\ \dot s(k) \end{bmatrix} + \begin{bmatrix} 0.5T_0 ^2 \\ T_0 \end{bmatrix} u(k) + \begin{bmatrix} 0.5T_0 ^2 \\ T_0 \end{bmatrix} w(k)[s(k+1)s˙(k+1)​]=[10​T0​1​][s(k)s˙(k)​]+[0.5T02​T0​​]u(k)+[0.5T02​T0​​]w(k)

观测方程为

z(k)=[10][s(k)s˙(k)]+v(k)z(k) = \begin{bmatrix} 1 & 0 \end{bmatrix} \begin{bmatrix} s(k) \\ \dot s(k) \end{bmatrix} + v(k)z(k)=[1​0​][s(k)s˙(k)​]+v(k)

即系统的状态空间模型为

x(k+1)=Φx(k)+Bu(k)+Γw(k)x(k+1) = \Phi x(k) + Bu(k) + \Gamma w(k)x(k+1)=Φx(k)+Bu(k)+Γw(k)

z(k)=Hx(k)+v(k)z(k) = Hx(k) + v(k)z(k)=Hx(k)+v(k)

式中

Φ=[1T001],B=Γ=[0.5T02T0],H=[10]\Phi = \begin{bmatrix} 1 & T_0 \\ 0 & 1 \end{bmatrix} \, , \, B = \Gamma = \begin{bmatrix} 0.5T_0 ^2 \\ T_0 \end{bmatrix} \, , \, H = \begin{bmatrix} 1 & 0 \end{bmatrix}Φ=[10​T0​1​],B=Γ=[0.5T02​T0​​],H=[1​0​]

于是船舶GPSGPSGPS导航定位KalmanKalmanKalman滤波问题是:基于GPSGPSGPS观测数据z(1),z(2),…,z(k)z(1),z(2),…,z(k)z(1),z(2),…,z(k),得到船舶在kkk时刻的位置s(k)s(k)s(k)的最优估计s^(k∣k)\hat {s} (k|k)s^(k∣k)。

在不考虑机动目标自身的动力因素时(u(k)=0)(u(k)=0)(u(k)=0),将匀速直线运动的船舶系统推广到四维,即

X(k)=[x(k)x˙(k)y(k)y˙(k)]TX(k) = \begin{bmatrix} x(k) & \dot{x}(k) & y(k) & \dot{y}(k) \end{bmatrix} ^TX(k)=[x(k)​x˙(k)​y(k)​y˙​(k)​]T

状态包含水平方向的位置速度和纵向的位置速度,则系统方程可以用下式表示

[x(k)x˙(k)y(k)y˙(k)]=[1T000100001T0001][x(k−1)x˙(k−1)y(k−1)y˙(k−1)]+[0.5T20T000.5T20T]w2×1(k)\begin{bmatrix} x(k) \\ \dot x(k) \\ y(k) \\ \dot y(k) \end{bmatrix} = \begin{bmatrix} 1 & T & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & T \\ 0 & 0 & 0 &1 \end{bmatrix} \begin{bmatrix} x(k-1) \\ \dot x(k-1) \\ y(k-1) \\ \dot y(k-1) \end{bmatrix} + \begin{bmatrix} 0.5T^2 &0 \\ T & 0 \\ 0 & 0.5T^2 \\ 0 & T \end{bmatrix} w_{2 \times 1}(k)⎣⎢⎢⎡​x(k)x˙(k)y(k)y˙​(k)​⎦⎥⎥⎤​=⎣⎢⎢⎡​1000​T100​0010​00T1​⎦⎥⎥⎤​⎣⎢⎢⎡​x(k−1)x˙(k−1)y(k−1)y˙​(k−1)​⎦⎥⎥⎤​+⎣⎢⎢⎡​0.5T2T00​000.5T2T​⎦⎥⎥⎤​w2×1​(k)

Z(k)=[10000010][x(k)x˙(k)y(k)y˙(k)]+v2×1(k)Z (k) = \begin{bmatrix}1 & 0 & 0 & 0 \\ 0 & 0& 1&0 \end{bmatrix}\begin{bmatrix} x(k) \\ \dot x(k) \\ y(k) \\ \dot y(k) \end{bmatrix} + v _ {2 \times 1}(k)Z(k)=[10​00​01​00​]⎣⎢⎢⎡​x(k)x˙(k)y(k)y˙​(k)​⎦⎥⎥⎤​+v2×1​(k)

假定船舶在二维水平面上运动,初始位置为(-100m,200m),水平运动速为2m/s,垂直方向的运动速度为20m/s,GPSGPSGPS接收机的扫描周期为T=1sT=1sT=1s,观测噪声的均值为0,方差为100。过程噪声越小,目标越接近匀速直线运动;反之,为曲线运动。

Kalman滤波在船舶导航定位系统中的应用相关推荐

  1. kalman滤波在雷达目标跟踪中的应用_简述Automotive radar中的多目标跟踪处理

    毫米波雷达在目前的先进辅助驾驶(ADAS)中的应用主要体现在自适应巡航控制(Adaptive Cruise Control,ACC),预碰撞(PreCrash),泊车辅助(Parking Aid),变 ...

  2. kalman滤波推导

    线性卡尔曼滤波 卡尔曼滤波在温度测量中的应用 X(k)=A*X(k-1)+T*W(k-1) Z(k)=H*X(k)+V(k) 房间温度在25摄氏度左右,测量误差为正负0.5摄氏度,方差0.25,R=0 ...

  3. Kalman滤波在船舶GPS导航定位系统中的应用(含MATLAB仿真)

    Kalman滤波在船舶GPS导航定位系统中的应用(含MATLAB仿真) 1.原理介绍 2.MATLAB仿真代码 Kalman滤波 计算欧氏距离 3.仿真结果 figure1 figure2 1.原理介 ...

  4. Kalman滤波在船舶GPS导航定位系统中的应用

    船舶GPS导航定位原理如图 所示,将一台 GPS接收机安装在运动目标(船舶)上就可以进行导航定位计算.GPS 接收机可以实时收到在轨的导航卫星播发的信号,计算出接收载体(船舶)的位置和速度.由于民用领 ...

  5. python目标跟踪精度曲线图_Python+opencv3.4+Kalman滤波在视频中跟踪绘制运动目标,Pythonopencv34kalman,卡尔曼滤波,实现,物体,追踪,和,轨迹...

    实验环境: Python3.6+OpenCV3.4+pycharm2019 代码实现: 首先是一个 简单的不用kalman滤波的运动目标追踪代码 这里可以根据需要进行摄像头运动目标识别,只要把 cam ...

  6. RTKLIB中利用Kalman滤波进行伪距单点定位

    之前发布的博客利用Kalman滤波进行伪距单点定位取得了很好的精度提升,有小伙伴也想知道具体如何修改的,现在将我的代码放出,供大家参考. 源码中的流程可能比较难懂,因为每个人写代码的思路和风格不一样, ...

  7. RTKLIB软件源码学习(Kalman滤波-矩阵先导)

    本文是学习记录关于rib源码中使用的kalman滤波,因为整个定位系统存在误差以及不确定性,需要使用kalman滤波进行预测和平滑,在rtklib中使用的是EKF,即扩展kalman滤波,具体关于ka ...

  8. 理解Kalman滤波的使用

    Kalman滤波简介 Kalman滤波是一种线性滤波与预测方法,原文为:A New Approach to Linear Filtering and Prediction Problems.文章推导很 ...

  9. kalman滤波的解释

    文章目录 kalman滤波的解释 背景 信号经过线性变换后的分布 信号的相乘 一维信号 多维信号 贝叶斯估计 状态方程 先验分布 后验分布 总结 kalman滤波的解释 背景 这里的信号都是指服从正态 ...

最新文章

  1. adv7842自定义方式
  2. 微博鸿蒙测试版,不久前华为宣布,将会在6月2日举... - @姬永锋 的微博精选 - 微博国际站...
  3. Oracle11gR2 64bit+Oracle11gR2Client32bit+pl/sql 9
  4. 8086 c语言,2016年上海大学机电工程与自动化学院微机硬件及软件(包含8086微机和C语言)之C程序设计考研复试题库...
  5. 手把手教你Tomcat配置环境变量以及验证方法
  6. linux安装tensorflow教程,Ubuntu 16.04 安装 TensorFlow(GPU支持)
  7. html 日历系统 源码,calendar.html
  8. 时钟周期及秒(s) 毫秒(ms) 微秒(μs) 纳秒(ns) 皮秒(ps)之间转换
  9. 问题 1045: [编程入门]自定义函数之整数处理
  10. java 随机手机验证码_基于Java随机生成手机短信验证码的实例代码|chu
  11. 高中信息技术——进制与编码刷题点整理
  12. mysql系统变量_MySQL系统变量
  13. Java语言基础--枚举
  14. 用Hydra工具暴力破解Windows7管理员密码并访问它的共享服务
  15. JAVA图片加水印(电子奖状填充名字)
  16. 用星号打印出一个如图所示的空心菱形
  17. php的COM组件调用相关(包括com_event_sink的用法)
  18. 苹果 iPhone 13 高端机将采用什么屏幕
  19. 用python做一张图片_用 Python 生成一张有“内涵”的图片
  20. vue2理论学习(全套教程,包含vuex、路由等)

热门文章

  1. java 计算机结果显示为百分号形式
  2. 关于VisualStudio2019登陆窗口空白的解决方案
  3. CSDN“让弹幕飞”全新玩法攻略,独享今年双11
  4. 优雅的循环迭代和泛函数编程-purr packages 和 map 函数
  5. 创建线程 windows程序设计 王艳平版
  6. 单片机综合实验 - 02 | 中断与定时/计数器实验
  7. php云人才系统分站,PHP云人才系统(PHPYun) 4.0 正式版
  8. Python是人工智能的未来。
  9. Hbase安装流程及踩坑心得
  10. 如何进行网站的本地测试