机动目标跟踪—匀速转弯CT模型/匀速圆周运动
机动目标跟踪—匀速转弯CT模型/匀速圆周运动
原创不易,路过的各位大佬请点个赞
针对机动目标跟踪的探讨、技术支持欢迎联系,也可以站内私信
WX: ZB823618313
机动目标跟踪—匀速转弯CT模型/匀速圆周运动
- 机动目标跟踪—匀速转弯CT模型/匀速圆周运动
- 1. 对机动目标跟踪的理解
- 2. 目标模型概述
- 3. 匀速圆周运动CT
- 3.1 匀速圆周运动CT模型(连续)
- 3.2 匀速圆周运动CT模型(离散)
- 3.3 匀速圆周运动CT模型(转弯角速度未知)
- 4 匀速圆周运动CT模型目标跟踪
- 4.1 卡尔曼滤波跟踪CT目标
- 4.2 扩展卡尔曼滤波跟踪
- 4.3 无迹卡尔曼滤波跟踪
- 5 匀加速运动CA模型
- 6 匀速转弯CT模型
- 7 Singer模型
- 8 “当前”统计模型
- 9 Jerk统计模型
1. 对机动目标跟踪的理解
机动目标跟踪一直是目标跟踪领域研究的难点和重点问题。建立目标运动模型和滤波算法是目标跟踪的两个重要因素。由于目标的机动具有不可预测性,使得我们很难建立精确的目标运动模型。如何建立一种有效的模型来反映目标真实的运动轨迹是高机动目标跟踪系统急需解决的问题。经过近三十年的研究,该领域取得了许多重要成果。
个人理解:机动目标跟踪拥有三要素:
被跟踪目标建模(也是本博客重点)
传感器测量(另一个博客介绍)
滤波器设计(见目标跟踪专栏)
从算法层面,在目标跟踪系统中,常用的滤波算法是以卡尔曼滤波器为基本框架的估计算法。卡尔曼滤波器是一种线性、无偏、以误差均方差最小为准则的最优估计算法,它有精确的数学形式和优良的使用效能。卡尔曼滤波方法实质上是一种数据处理方法,它采用递推滤波方法,根据获取的量测数据由递推方程递推给出新的状态估计。由于计算量和存储量小,比较容易满足实时计算的要求,在工程实践中得到广泛应用。
除此之外,非线性滤波也广泛应用与机动目标跟踪,比如:
扩展卡尔曼滤波EKF
无迹卡尔曼滤波UKF
容积卡尔曼滤波CKF
求积卡尔曼滤波QKF
中心差分卡尔曼滤波CDKF
Divided difference filter DDF
高斯混合滤波GSF
强跟踪滤波STF
粒子滤波PF
… …
2. 目标模型概述
机动目标模型描述了目标状态随着时间变化的过程。一个好的模型抵得上大量的数据。当前几乎所有的目标跟踪算法都是基于模型进行状态估计的。在卡尔曼滤波器被引入目标跟踪领域后,基于状态空间的机动目标建模成为主要研究对象之一。
目标的空间运动基于不同的运动轨迹和坐标系
一维运动
二维运动
三维运动根据不同方向的运动是否相关
坐标间不耦合模型
坐标间耦合模型
坐标间不耦合模型: 这类模型假设三维空间三个正交方向上的目标机动过程不耦合。目标机动是飞行器受到外力作用而使得加速度变化所致,所以对机动建模的难点在于对目标加速度的描述。对于无机动目标,常速(Constant Velocity,CV〉模型常用于描述这类目标的运动,而常加速度(Constant Acceleration,CA)模型则常用于描述加速度趋近常数的机动目标的运动。
本博客主要讲下面的模型:
坐标间耦合模型: 坐标间耦合模型绝大多数情况下指的是转弯运动模型。由于此类模型与坐标密切相关,所以可以分为两类:二维转弯模型和三维转弯模型。二维转弯模型又称为平面转弯模型,即CT模型。
下面二维匀加速运动CA模型:
3. 匀速圆周运动CT
CT运动模型是用来模拟目标进行角速度Ω(t)\Omega(t)Ω(t)恒定的转弯运动时的运动模型。与CT模型相对应的状态向量为
X=[x,x˙,y,y˙,,Ω(t)]T{X}=[x, \dot{x}, y, \dot{y},,\Omega(t)]^TX=[x,x˙,y,y˙,,Ω(t)]T
式中,y(t)y(t)y(t)和y˙(t)\dot{y}(t)y˙(t)是与xxx垂直方向上的速度和加速度。假设其角速度Ω(t)\Omega(t)Ω(t)在一定时间段内是恒定的,则该转弯模型为匀速转弯模型,匀速转弯模型有个优良的性质:
在Ω(t)\Omega(t)Ω(t)已知是,CT模型是线性模型,反之如果Ω(t)\Omega(t)Ω(t)未知,则为非线性模型
下面主要普遍应用的角速度已知的匀速转弯模型
3.1 匀速圆周运动CT模型(连续)
目标状态为:x维位置和速度加速度、y维位置速度加速度、即X=[x,x˙,y,y˙]T{X}=[x, \dot{x},y, \dot{y}]^TX=[x,x˙,y,y˙]T
CT模型为:
X˙(t)=[0100000−ω00010ω00]X(t)+[00100001]W(t)\dot{X}(t)=\begin{bmatrix}0&1&0&0\\0&0&0&-\omega\\0&0&0&1\\0&\omega&0&0 \end{bmatrix}X(t) + \begin{bmatrix}0&0\\1&0\\0&0\\0&1\end{bmatrix}W(t) X˙(t)=⎣⎢⎢⎡0000100ω00000−ω10⎦⎥⎥⎤X(t)+⎣⎢⎢⎡01000001⎦⎥⎥⎤W(t)
3.2 匀速圆周运动CT模型(离散)
离散化上述模型:
Xk+1=[1sin(ωT)ω0−1−cos(ωT)ω0cos(ωT)0−sin(ωT)01−cos(ωT)ω1sin(ωT)ω0sin(ωT)0cos(ωT)]Xk+[T2/20T00T2/20T]WkX_{k+1}=\begin{bmatrix}1&\frac{\sin(\omega T)}{\omega}&0&-\frac{1-\cos(\omega T)}{\omega}\\0&\cos(\omega T)&0&-\sin(\omega T)\\0&\frac{1-\cos(\omega T)}{\omega}&1&\frac{\sin(\omega T)}{\omega}\\0&\sin(\omega T)&0&\cos(\omega T)\end{bmatrix}X_{k} + \begin{bmatrix}T^2/2&0\\T&0\\0&T^2/2\\0&T\end{bmatrix}W_k Xk+1=⎣⎢⎢⎡1000ωsin(ωT)cos(ωT)ω1−cos(ωT)sin(ωT)0010−ω1−cos(ωT)−sin(ωT)ωsin(ωT)cos(ωT)⎦⎥⎥⎤Xk+⎣⎢⎢⎡T2/2T0000T2/2T⎦⎥⎥⎤Wk
令
Fk=[1sin(ωT)ω0−1−cos(ωT)ω0cos(ωT)0−sin(ωT)01−cos(ωT)ω1sin(ωT)ω0sin(ωT)0cos(ωT)],Gk=[T2/20T00T2/20T]F_k=\begin{bmatrix}1&\frac{\sin(\omega T)}{\omega}&0&-\frac{1-\cos(\omega T)}{\omega}\\0&\cos(\omega T)&0&-\sin(\omega T)\\0&\frac{1-\cos(\omega T)}{\omega}&1&\frac{\sin(\omega T)}{\omega}\\0&\sin(\omega T)&0&\cos(\omega T)\end{bmatrix}, G_k= \begin{bmatrix}T^2/2&0\\T&0\\0&T^2/2\\0&T\end{bmatrix} Fk=⎣⎢⎢⎡1000ωsin(ωT)cos(ωT)ω1−cos(ωT)sin(ωT)0010−ω1−cos(ωT)−sin(ωT)ωsin(ωT)cos(ωT)⎦⎥⎥⎤,Gk=⎣⎢⎢⎡T2/2T0000T2/2T⎦⎥⎥⎤
则CT 模型可以写为:
Xk+1=FkXk+GkWkX_{k+1}=F_kX_{k} +G_kW_k Xk+1=FkXk+GkWk
其中噪声方差有两种计算方式qk2为Wk的方差q_k^2为W_k的方差qk2为Wk的方差,第一种:
Qk=Gk∗qk2∗GkT=qk2[T4/4T3/200T3/2T20000T4/4T3/200T3/2T2]Q_k=G_k*q_k^2*G_k^T=q_k^2\begin{bmatrix}T^4/4&T^3/2&0&0 \\T^3/2&T^2&0&0 \\0&0&T^4/4&T^3/2 \\0&0& T^3/2&T^2\end{bmatrix}Qk=Gk∗qk2∗GkT=qk2⎣⎢⎢⎡T4/4T3/200T3/2T20000T4/4T3/200T3/2T2⎦⎥⎥⎤
第二种计算方式,直接对连续CT系统离散化积分得到:
Qk=qk2[T3/3T2/200T2/2T0000T3/3T2/200T2/2T]Q_k=q_k^2\begin{bmatrix}T^3/3&T^2/2&0&0 \\T^2/2&T&0&0 \\0&0&T^3/3&T^2/2 \\0&0& T^2/2&T\end{bmatrix}Qk=qk2⎣⎢⎢⎡T3/3T2/200T2/2T0000T3/3T2/200T2/2T⎦⎥⎥⎤
两种都可以使用,我更喜欢第一种,但是统一导致协方差奇异。且行且珍惜,哈哈哈哈哈
第三种计算方式,比较复杂,是针对CT模型特有的:
二维匀速运动CV目标航迹如下:
代码:
clear all; close all; clc;
%% initial parameter
n=4; %dimension of the target ;M=3; %number of rader
N=100; %the runs atime
chan=6; %channel, for the class of fiter
w_mu=[0,0]'; % mean of process noise
v_mu=[0,0]'; % mean of measurement noise
%covariance of process noise
q_x=0.1; %m/s^2
q_y=q_x;
Qk=diag([q_x^2,q_y^2]);
% state matrix
T_f=1; %sample time of fusion center
w=-pi/180*3;% 转完角速度
Fk= [1 sin(w*T_f)/w 0 -(1-cos(w*T_f))/w0 cos(w*T_f) 0 -sin(w*T_f)0 (1-cos(w*T_f))/w 1 sin(w*T_f)/w0 sin(w*T_f) 0 cos(w*T_f) ]; %
Gk= [ T_f^2/2 0T_f 00 T_f^2/20 T_f ]; %% intial state
x_bar=[3500,-130,200,00]';
P_0=diag([5e6,10^4,5e6,10^4]); %initial covariance
x_bar=[-1000,50,-800,100]';
P_0=diag([1e5,1e3,1e5,1e3]); %initial covariance x0=mvnrnd(x_bar,P_0); % 初始状态
%x0=(x+normrnd(0,0.001)')';
x=x0';
for k=1:N%% %%%%%%% target model %%%%%%%%%%%%%%%%%%%%%% 目标运动学模型(被跟踪目标建模),匀速运动CV模型w=mvnrnd(w_mu',Qk)';%过程噪声方差x=Fk*x+Gk*w;sV(:,k,1,1)=x;end
% 二维匀速圆周CT运动目标轨迹
figure
plot(sV(1,:,1,1),sV(3,:,1,1),'-*r','LineWidth',1)
grid on
xlabel('m');ylabel('m');
legend('真实轨迹')
title('匀速圆周CT运动目标轨迹')
3.3 匀速圆周运动CT模型(转弯角速度未知)
转弯角速率ω\omegaω未知时,该模型为非线性模型,状态为
X=[x,x˙,y,y˙,Ω(t)]T{X}=[x, \dot{x},y, \dot{y},\Omega(t)]^TX=[x,x˙,y,y˙,Ω(t)]T
离散模型为
Xk+1=[1sin(ωT)ω0−1−cos(ωT)ω00cos(ωT)0−sin(ωT)001−cos(ωT)ω1sin(ωT)ω00sin(ωT)0cos(ωT)000001]Xk+[T2/200T000T2/200T000T]WkX_{k+1}=\begin{bmatrix}1&\frac{\sin(\omega T)}{\omega}&0&-\frac{1-\cos(\omega T)}{\omega}&0\\0&\cos(\omega T)&0&-\sin(\omega T) & 0\\0&\frac{1-\cos(\omega T)}{\omega}&1&\frac{\sin(\omega T)}{\omega}&0 \\0&\sin(\omega T)&0&\cos(\omega T) &0\\ 0&0&0&0 &1\end{bmatrix}X_{k} + \begin{bmatrix}T^2/2&0&0\\T&0&0\\0&T^2/2&0\\0&T&0\\0&0&T\end{bmatrix}W_k Xk+1=⎣⎢⎢⎢⎢⎡10000ωsin(ωT)cos(ωT)ω1−cos(ωT)sin(ωT)000100−ω1−cos(ωT)−sin(ωT)ωsin(ωT)cos(ωT)000001⎦⎥⎥⎥⎥⎤Xk+⎣⎢⎢⎢⎢⎡T2/2T00000T2/2T00000T⎦⎥⎥⎥⎥⎤Wk
令
Fk=[1sin(ωT)ω0−1−cos(ωT)ω00cos(ωT)0−sin(ωT)001−cos(ωT)ω1sin(ωT)ω00sin(ωT)0cos(ωT)000001],Gk=[T2/200T000T2/200T000T]F_k=\begin{bmatrix}1&\frac{\sin(\omega T)}{\omega}&0&-\frac{1-\cos(\omega T)}{\omega}&0\\0&\cos(\omega T)&0&-\sin(\omega T) & 0\\0&\frac{1-\cos(\omega T)}{\omega}&1&\frac{\sin(\omega T)}{\omega}&0 \\0&\sin(\omega T)&0&\cos(\omega T) &0\\ 0&0&0&0 &1\end{bmatrix}, G_k=\begin{bmatrix}T^2/2&0&0\\T&0&0\\0&T^2/2&0\\0&T&0\\0&0&T\end{bmatrix} Fk=⎣⎢⎢⎢⎢⎡10000ωsin(ωT)cos(ωT)ω1−cos(ωT)sin(ωT)000100−ω1−cos(ωT)−sin(ωT)ωsin(ωT)cos(ωT)000001⎦⎥⎥⎥⎥⎤,Gk=⎣⎢⎢⎢⎢⎡T2/2T00000T2/2T00000T⎦⎥⎥⎥⎥⎤
则CT 模型可以写为:
Xk+1=FkXk+GkWkX_{k+1}=F_kX_{k} +G_kW_k Xk+1=FkXk+GkWk
其中噪声方差有两种计算方式qk2为Wk的方差q_k^2为W_k的方差qk2为Wk的方差,第一种:
Qk=Gk∗qk2∗GkT=qk2[T4/4T3/2000T3/2T200000T4/4T3/2000T3/2T200000T2]Q_k=G_k*q_k^2*G_k^T=q_k^2\begin{bmatrix}T^4/4&T^3/2&0&0 &0 \\T^3/2&T^2&0&0 &0 \\0&0&T^4/4&T^3/2 &0 \\0&0& T^3/2&T^2&0 \\0&0&0&0&T^2\end{bmatrix}Qk=Gk∗qk2∗GkT=qk2⎣⎢⎢⎢⎢⎡T4/4T3/2000T3/2T200000T4/4T3/2000T3/2T200000T2⎦⎥⎥⎥⎥⎤
第二种计算方式,直接对连续CT系统离散化积分得到:
Qk=qk2[T3/3T2/2000T2/2T00000T3/3T2/2000T2/2T00000T]Q_k=q_k^2\begin{bmatrix}T^3/3&T^2/2&0&0 &0 \\T^2/2&T&0&0 & 0 \\0&0&T^3/3&T^2/2 &0 \\0&0& T^2/2&T &0 \\0&0&0&0&T\end{bmatrix}Qk=qk2⎣⎢⎢⎢⎢⎡T3/3T2/2000T2/2T00000T3/3T2/2000T2/2T00000T⎦⎥⎥⎥⎥⎤
4 匀速圆周运动CT模型目标跟踪
4.1 卡尔曼滤波跟踪CT目标
代码联系WX: ZB823618313
初步代码:
无迹卡尔曼滤波UKF 匀速转弯CT模型
https://download.csdn.net/download/weixin_44044161/85402056
容积卡尔曼滤波CKF——机动目标跟踪 匀速转弯模型CT
https://download.csdn.net/download/weixin_44044161/85401924
扩展卡尔曼滤波EKF匀速圆周运动CT
https://download.csdn.net/download/weixin_44044161/85401885
4.2 扩展卡尔曼滤波跟踪
代码联系WX: ZB823618313
4.3 无迹卡尔曼滤波跟踪
代码联系WX: ZB823618313
5 匀加速运动CA模型
匀加速运动CA模型见另一个博客
6 匀速转弯CT模型
匀速转弯CT运动模型见另一个博客:包括二维、三维
7 Singer模型
Singer模型见另一个博客
8 “当前”统计模型
当前统计模型见另一个博客
9 Jerk统计模型
Jerk模型见另一个博客
原创不易,路过的各位大佬请点个赞
机动目标跟踪—匀速转弯CT模型/匀速圆周运动相关推荐
- 机动目标跟踪——目标模型概述(匀速运动CV模型)
机动目标跟踪--目标模型概述 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--目标模型概述 1. 对机动目标跟踪的理解 2. 目标模型概 ...
- 机动目标跟踪——匀速运动CV模型
机动目标跟踪--匀速运动CV模型 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--匀速运动CV模型 1. 对机动目标跟踪的理解 2. 目 ...
- 机动目标跟踪——Jerk模型
机动目标跟踪--Jerk模型 原创不易,路过的各位大佬请点个赞 针对机动目标跟踪的探讨.技术支持欢迎联系,也可以站内私信 WX: ZB823618313 机动目标跟踪--Jerk模型 机动目标跟踪-- ...
- 机动目标跟踪——匀加速运动模型(三维)
机动目标跟踪--匀加速运动模型(三维) 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--匀加速运动模型(三维) 1. 对机动目标跟踪的理 ...
- 交互式多模型算法IMM——机动目标跟踪中的应用
机动目标跟踪--交互式多模型算法IMM 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--交互式多模型算法IMM 机动目标跟踪--交互式多模型算法IMM 1. 对机动目 ...
- 机动目标跟踪——三维匀速运动模型CV
机动目标跟踪--三维匀速运动模型CV 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--三维匀速运动模型CV 1. 对机动目标跟踪的理解 ...
- 交互式多模型-粒子滤波IMM-PF—在机动目标跟踪中的应用/matlab实现
交互式多模型-粒子滤波IMM-PF-在机动目标跟踪中的应用/matlab实现 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 交互式多模型-粒子滤波IMM-PF-在机动目标跟踪中的应 ...
- 交互式多模型-扩展卡尔曼滤波IMM-EKF——机动目标跟踪中的应用
交互式多模型-扩展卡尔曼滤波IMM-EKF--机动目标跟踪中的应用 原创不易,路过的各位大佬请点个赞 针对机动目标跟踪的探讨.技术支持欢迎联系,也可以站内私信 WX: ZB823618313 机动目标 ...
- 机动目标跟踪——匀加速运动模型(一维)
机动目标跟踪--目标模型概述(一维) 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--目标模型概述(一维) 1. 对机动目标跟踪的理解 ...
最新文章
- 解题报告:AcWing 352. 闇の連鎖(树上差分、方案统计)
- 求非线性方程组的最小二乘解的广义逆法C实现
- 四个使用this的典型应用
- 【任务脚本】0530更新淘宝618活动领喵币脚本,OrangeJs基于autojs全自动程序稳定运行,向大神致敬...
- BZOJ5102 POI2018Prawnicy(堆)
- Django的APP,视图,url和模板
- python zlib字符串压缩
- 请求接口时使用时间戳
- numpy.ceil() 和 numpy.floor()--向上取整和向下取整
- SLA服务可用性怎么达到?
- 利用格林函数解泊松方程
- 修改窗口的风格ModifyStyle
- 公路自行车入门级推荐java_开学季:9款值得买公路车推荐
- linux 关于修改命令提示符
- 堆和栈的区别,有一个64k的字符串,是放到堆上,还是放到栈上,为什么?
- 【5G安全系列】NAS层安全密钥衍生——USIM相关密钥的衍生
- 智慧城市建设,目前所面临的技术瓶颈是什么?
- 如何获取Certificate fingerprint (SHA1) key 以及 MD5 certification key
- 关于Windows文件读写(提高读写速度)
- Python 修改AD账号密码(一)- 启用域控LDAPS
热门文章
- 阿里工业互联网平台“思考”:一场从0到1的蜕变
- 腾讯云宝塔Linux面板的javaWeb项目的部署
- php判断移动端和pc端访问_PHP判断判访问设备是手机移动端还是PC电脑端
- 美国科技股暴跌 技术巨头启动收购模式
- 【weblogic】超省事weblogic域迁移
- C语言exit()、_exit()的区别
- 微信开发六 发送消息(客服/群发/模板)
- 3dsMax镜像,但是动画不镜像问题
- 层次分析法及matlab代码
- 《C++语言入门经典》一第1章 初识C++——“Hello World!” 1.1 C++的历史背景