Kalman滤波在船舶导航定位系统中的应用
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)+T0s˙(k)+0.5T02a(k)
s˙(k+1)=s˙(k)+T0a(k)\dot {s}(k+1)=\dot s(k)+T_0 a(k)s˙(k+1)=s˙(k)+T0a(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)]=[10T01][s(k)s˙(k)]+[0.5T02T0]u(k)+[0.5T02T0]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)=[10][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}Φ=[10T01],B=Γ=[0.5T02T0],H=[10]
于是船舶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)⎦⎥⎥⎤=⎣⎢⎢⎡1000T100001000T1⎦⎥⎥⎤⎣⎢⎢⎡x(k−1)x˙(k−1)y(k−1)y˙(k−1)⎦⎥⎥⎤+⎣⎢⎢⎡0.5T2T00000.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)=[10000100]⎣⎢⎢⎡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滤波在船舶导航定位系统中的应用相关推荐
- kalman滤波在雷达目标跟踪中的应用_简述Automotive radar中的多目标跟踪处理
毫米波雷达在目前的先进辅助驾驶(ADAS)中的应用主要体现在自适应巡航控制(Adaptive Cruise Control,ACC),预碰撞(PreCrash),泊车辅助(Parking Aid),变 ...
- 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 ...
- Kalman滤波在船舶GPS导航定位系统中的应用(含MATLAB仿真)
Kalman滤波在船舶GPS导航定位系统中的应用(含MATLAB仿真) 1.原理介绍 2.MATLAB仿真代码 Kalman滤波 计算欧氏距离 3.仿真结果 figure1 figure2 1.原理介 ...
- Kalman滤波在船舶GPS导航定位系统中的应用
船舶GPS导航定位原理如图 所示,将一台 GPS接收机安装在运动目标(船舶)上就可以进行导航定位计算.GPS 接收机可以实时收到在轨的导航卫星播发的信号,计算出接收载体(船舶)的位置和速度.由于民用领 ...
- python目标跟踪精度曲线图_Python+opencv3.4+Kalman滤波在视频中跟踪绘制运动目标,Pythonopencv34kalman,卡尔曼滤波,实现,物体,追踪,和,轨迹...
实验环境: Python3.6+OpenCV3.4+pycharm2019 代码实现: 首先是一个 简单的不用kalman滤波的运动目标追踪代码 这里可以根据需要进行摄像头运动目标识别,只要把 cam ...
- RTKLIB中利用Kalman滤波进行伪距单点定位
之前发布的博客利用Kalman滤波进行伪距单点定位取得了很好的精度提升,有小伙伴也想知道具体如何修改的,现在将我的代码放出,供大家参考. 源码中的流程可能比较难懂,因为每个人写代码的思路和风格不一样, ...
- RTKLIB软件源码学习(Kalman滤波-矩阵先导)
本文是学习记录关于rib源码中使用的kalman滤波,因为整个定位系统存在误差以及不确定性,需要使用kalman滤波进行预测和平滑,在rtklib中使用的是EKF,即扩展kalman滤波,具体关于ka ...
- 理解Kalman滤波的使用
Kalman滤波简介 Kalman滤波是一种线性滤波与预测方法,原文为:A New Approach to Linear Filtering and Prediction Problems.文章推导很 ...
- kalman滤波的解释
文章目录 kalman滤波的解释 背景 信号经过线性变换后的分布 信号的相乘 一维信号 多维信号 贝叶斯估计 状态方程 先验分布 后验分布 总结 kalman滤波的解释 背景 这里的信号都是指服从正态 ...
最新文章
- adv7842自定义方式
- 微博鸿蒙测试版,不久前华为宣布,将会在6月2日举... - @姬永锋 的微博精选 - 微博国际站...
- Oracle11gR2 64bit+Oracle11gR2Client32bit+pl/sql 9
- 8086 c语言,2016年上海大学机电工程与自动化学院微机硬件及软件(包含8086微机和C语言)之C程序设计考研复试题库...
- 手把手教你Tomcat配置环境变量以及验证方法
- linux安装tensorflow教程,Ubuntu 16.04 安装 TensorFlow(GPU支持)
- html 日历系统 源码,calendar.html
- 时钟周期及秒(s) 毫秒(ms) 微秒(μs) 纳秒(ns) 皮秒(ps)之间转换
- 问题 1045: [编程入门]自定义函数之整数处理
- java 随机手机验证码_基于Java随机生成手机短信验证码的实例代码|chu
- 高中信息技术——进制与编码刷题点整理
- mysql系统变量_MySQL系统变量
- Java语言基础--枚举
- 用Hydra工具暴力破解Windows7管理员密码并访问它的共享服务
- JAVA图片加水印(电子奖状填充名字)
- 用星号打印出一个如图所示的空心菱形
- php的COM组件调用相关(包括com_event_sink的用法)
- 苹果 iPhone 13 高端机将采用什么屏幕
- 用python做一张图片_用 Python 生成一张有“内涵”的图片
- vue2理论学习(全套教程,包含vuex、路由等)