目标跟踪数据融合平台系统的开发分析
2014-06-11黄勇
黄勇
摘 要 本论文的主要内容围绕目标跟踪数据融合平台系统的开发所需的技术来展开讨论。特别是重点分析一些定位准确,滤波性能好并且程序中使用到的算法。本论文的主要工作,就是利用已有的数学模型,对实际跟踪目标的过程做一个模拟。定位的实现过程通常是:用单个运动的观测站对辐射源进行连续的测量,在获得一定量的定位信息积累的基础上,进行适当的数据处理以获取辐射源目标的定位数据。几何学原理定位,并结合非线性滤波所获得的对固定和运动辐射源的快速高精度定位和跟踪。本文采用了KF(Kalman Filter,卡尔曼滤波算法)的实现方式,然后还探究了距离角度算法的实现方式,以这两种方式进行滤波定位跟踪的模拟。
关键词 无源定位 卡尔曼滤波算法模型 距离角度算法 仿真模拟
中图分类号:TP3 文献标识码:A
0前言
与传统的有源雷达技术相比较,无源定位跟踪技术自身不发射电磁波而且探测距离远,所以它在现代电子侦察战中扮演着越来越重要的角色。本系统就是采用无源定位跟踪技术在西南交大就学期间以毕业设计形式完成。现代电子侦察相关算法层出不穷,但算法各有优劣。本系统是用不同算法如卡尔曼滤波算法、距离角度算法等对无缘定位技术进行仿真模拟,以确定不同算法的优劣。本文主要是对目标跟踪数据融合平台系统开发所需的技术进行剖析,也对开发系统中所遇的问题以及解决方法进行讲解。
1绪论
1.1研究的背景和意义
在现代战争的信息战、电子战环境中,使用快速高精度、高识别率的无源被动定位跟踪技术作战场监视、远程精确打击已成为一种重要的技术方向和发展趋势。单站无源定位与跟踪技术对于C4ISR系统中的空载、星载、舰载电子侦察监视以及发射导弹攻击预警机、航空母舰以及地面雷达的初始瞄准具有重要的价值,应用范围广。
1.2国内外发展情况
1.2.1国外的发展情况
国外在单站定位方面早就展开了研究,通过查看国外发表的众多文献资料,我们可以知道国外已经在进行关于单站定位系统的试飞试验和工程应用。下面我们介绍国外一些在这种理念下开发的产品。
(1)“沉默的哨兵”
“沉默哨兵”的核心是“无源相控定位技术”。该系统广泛采用了仿生学的原理,参考苍蝇360度“复眼”的构造,设计师将四面尺寸在2.5米左右的天线安装在固定雷达站基座上,每面探测范围均为120度,合在一处则可实现全方位全天候目标监视。其有效作用距离达220km,方位覆盖60啊?60埃钥罩心勘甑亩ㄎ痪扔氩捎枚嗌俑鯰V信号或FM广播信号有关。
(2)英国防御研究局(DERA)的无源跟踪探测定位系统
英国DERA正在开展研究的无源探测定位系统也是一种双基系统,它利用英国BBC的TV发射机发射的TV信号进行对空中目标的探测和定位。该系统采用了与美国“沉默的哨兵”系统完全不同的探测定位技术,即快速傅里叶变换(FFT)加卡尔曼滤波器和扩展卡尔曼滤波器技术。
系统主要由一对8单元Yagi-Uda天线、下变频单元和VXI数字HF接收机等硬件组成。系统在1997年2月进行了三次试验,当时其天线置于18m高的移动塔上,系统距TV发射台100余千米,能探测260km远的目标。
1.2.2国内的发展情况
国内单站无源定位技术的理论基础研究是从 1994 年底开始的,国防科技大学的孙仲康教授领导着大批研究人员从事精确制导技术、无源定位技术的研究,总体来说,国内的研究已经完成了这项技术理论和方法的基础研究,并开始着手深入研究参数的测量、定位滤波算法等。通过近 40 多年的努力,我国在这一领域得到了长足发展,许多先进的图像处理与模式识别方法被应用到这个领域,并研制了一些实际的系统。在国内的研究机构中,中國科学院北京自动化研究所模式识别国家重点实验室对交通场景的视觉监控、人的运动视觉监控和行为模式识别等方面进行了深入研究,分别提出了基于三维线性模型定位、基于扩展卡尔曼滤波器的车辆跟踪算法、基于步态的远距离身份识别、对目标运动轨迹和行为特征学习的模糊自组织神经网络学习算法等,在视觉监控研究中处于领先地位。
1.3开发平台和目标平台
1.3.1开发平台
Windows 7操作系统;
1.3.2 目标平台
因为本系统的最终成品为演示仿真系统,因此不需要真正的物理传感器。系统会通过软件模拟,最终运行环境为:
硬件要求:
CPU:500MHZ以上
硬盘:5GB以上
内存:128M以上
运行环境:
Windows 7/XP及以上版本,Java Runtime Environment,IE4.0以上,Netscape4.0以上。
1.4开发工具简介
1.4.1 Visual C++ 6.0
VC++6.0是Microsoft公司推出的一个基于Windows系统平台、可视化的集成开发环境,它的源程序按C++语言的要求编写,并加入了微软提供的功能强大的MFC(Microsoft Foundation Class)类库。
1.4.2数学运算工具matlab
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
1.4.3 Matlab和VC++接口设计
因为本系统的数学模型计算方面非常繁琐,为了减轻工作负担,我们采用专业的数学运算引擎matlab来计算模型处理的那部分,这样就必须用到VC和matlab方面的交互。MATLAB包括数学函数和工具箱函数,MCC已经将编写的函数进行编译,可以遵循MCC编译后的VC++文件语言规则直接在VC++中使用。
2系统模块分析
2.1传感器管理
在本仿真系统中,为了最大程序的模拟真实的跟踪过程,系统允许用户设置传感器在坐标中的位置。因为在现实世界坐标系中,很有可能多个传感器在不同的地方,一个范围内协同工作,但本系统中暂不考虑多站的情况。真实系统中还应该可以调整传感器的扫描频率(采样频率)等参数。通过该管理模块能够对传感器相关参数做出相应的修改,使其能够通过不同方式接受信号。其包括对传感器横坐标、纵坐标及其传感器布局等管理。
2.2目标管理
在本模块中用户可以设置目标的真实值以模拟我们本应该通过传感器所得到的带噪声的数据,所以允许用户输入的首先应该是目标的真实速度和坐标,但是实际中我们不可能知道真实的坐标值,所以不能使用这组数据计算,这组数据的用途应该是模拟添加了噪声的到达时间差和到达角的数据值,因为传感器是无源的,被动的接收外来的数据,我们只能得到这些数据。通过目标管理模块对目标相关参数做出相应的修改,使其能够按照预期结果飞行。包括目标坐标、目标飞行速度、目标飞行方向、目标类型、目标飞行家速度、目标飞行持续时间等进行相应的更改。
2.3算法管理
现军事上电子侦察所用算法很多,不同算法抗噪力不同,其准确率也有所不同。该模塊是为了简单模拟一些算法,通过该模块对目标算法进行相应的选择,使其能够按照不同算法进行相关测量,得到对应的结果。包括对kalman算法、距离角度算法及其他相关算法进行相应的管理。
2.4性能分析
本系统另一个重要的功能就是研究算法的精度,为了更好的体现算法的精度,我们给出了比较滤波后的值和我们预先知道的真实值之间的误差的方法。再对误差比较及相关参数进一步做出相关的性能分析。该功能实现是通过系统性能分析模块对不同算法测试目标得到的结果进行一定的分析比较,能够通过比较,得到理想的效果,得到相对最优算法,并得出分析相关性能分析结果。
3系统用到的定位算法
3.1卡尔曼滤波器算法
简单来说,卡尔曼滤波器是一个最优化自回归数据处理算法。对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。他的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。
由于在直角坐标系下的测量方程是一个非线性的方程,因此须采用非线性滤波方法。单站无源定位中传统的非线性滤波方法是扩展的卡尔曼滤波(Extended KF,EKF)方法,即用泰勒级数将非线性函数展开后线性化,然后利用卡尔曼滤波算法,获得较好的性能。但是由于EKF具有依赖于初始状态估计的缺点,并且协方差易出现病态,导致滤波定位结果不稳定。为此许多研究工作开始致力于研究更加稳定的算法。Aidala提出修正极坐标条件下的只测角定位滤波算法,即采用修正极坐标系和EKF算法对辐射源进行定位,改进了估计系统的稳定性,但是这样相对运动的状态方程就变成了一个非线性方程。
EKF算法和UKF(Unscented KF)通称为基于参数方法的滤波算法。EKF算法和UKF算法都是假设后验概率分布为高斯分布,对目标进行定位和跟踪是典型的动态系统状态估计问题,在模型满足高斯线性条件下,卡尔曼滤波器可获得最好的跟踪效果。但在诸如纯角度跟踪的运动模型中,线性、高斯假设条件常常不能满足,EKF算法将出现滤波精度下降和发散现象。Gordon等提出一种非参数化的滤波算法粒子滤波(Particle Filter,PF)。粒子滤波算法能解决非线性,非高斯问题。将Gordon等提出的粒子滤波方法应用到纯角度跟踪问题中,获得了较好的跟踪精度。随后,多目标跟踪与传感器管理问题也被研究出来。粒子滤波用于目标跟踪的成果表明,粒子滤波能较好地处理测量断续、群目标跟踪、雷达跟踪多路径等传统难题,因此它是目标跟踪中非线性问题的数学支撑工具之一。
但是传统的粒子滤波算法存在退化现象,克服退化现象有两条途径:一是通过重采样,一是通过选择更好的参考分布。一个最直观的改善参考分布的方法是融合入当前的观测数据。尽管不同的Kalman滤波方法的性能不同,但是它们都有把当前观测数据融合进参考分布的能力。因此考虑在样本产生后,利用Kalman滤波方法,先用本拍的量测对样本进行更新,然后再进行重采样。例如可以使用EKF对每个粒子点进行局部线性化来完成样本更新,这种方法称之为EKPF。而利用UKF算法对每个粒子点进行样本更新则称之为UPF算法。
3.2距离角度算法
类似雷达定位,主要通过目标的两个信息——距离和角度来进行对目标位置、速度等相关信息进行确定。在此我们简单介绍相关测量方法。
(1)测量交叉定位法:通过机载货地面单站的移动,在不同位置多次测量方位,利用方位线的交叉实现定位:或者通过空载或者地面固定多站的测角系统所测得的指向交会来实现定位。
(2)距离差测量法:实际上就是时差测量法,它是通过处理三站或更多个测量站采集到的信号到达时间测量数据进行定位的。时差测量误差会影响辐射源定位的误差。对脉冲信号而言,时差车辆的误差主要受测量信道带宽的影响。带宽越宽,误差越小,所以高精度的时差测量系统采用最好窄脉冲。
(3)测向/测时差混合定位法:是将多站无源测向定位和测时差定位相结合的一种定位方法,即可保证时差定位的高精度,又可利用方位角度信息消除定位的模糊性。
本系统的距离角度算法采用测向/测时差混合定位法,可选择三角布局,或者四角布局。
4本系统详细设计步骤简介
步骤一:做好架构设计
在设计前,必须先设计好主框架,做到胸有成图的程度。对各模块间的关系有个初步认识,对模块间相互联系的设计模式初步的确定。
步骤二:对系统触发所用到的对话框类进行编写
目标管理模块中需要设置目标相关参数,则需要建立继承CDialg的CAddTarDlg和CSetTarDlg类,对应分别是添加新目标类和设置已有目标的速度等相关参数的类。
传感器管理模块中,需要建立继承CDialg的CSetSenDld类,此类是添加传感器,以及修改已有传感器的坐标等相关参数。
算法管理模块中,这需要添加继承CDialg的CArithmSelectDlg类,此类作用是选择算法,并选择三角布局或者四角布局等布局方式等。
性能分析模块中需要添加继承CDialg的CProfilerDlg类,此类作用是对相关算法进行绘图,与实际軌迹做比较,得出最优算法。
步骤三:为类建立联系
在视图类CTargetTrackingView中添加目标管理、传感器管理、算法管理、性能分析、运行等菜单选项,并添加对应的属性变量,如CAddTarDlg类的adlg、CSetTarDlg类的dlg、CSetSenDlg类的sdlg、CProfilerDlg类的pd、CArithmSelectDlg类的asd。最后添加对应的触发函数OnAddTar、OnSetTar、OnSetSen、OnProfiler、OnArithmSelect、OnRun。
步骤四:完成后台处理
完成CTargetTrackingView相关触发函数代码的编写,并对其OnDraw函数进行完善,由于绘图需要适时刷新则需要定时器,添加定时器,并完成默认回调函数OnTimer。完成相关绘图任务,如画性能分析图、算法比较图。
步骤五:调试并完善
完成代码编写后需要对代码进行测试,并对代码进行相应的完善。
5系统中相关问题以及解决方案
问题一:程序重绘使用invalidate函数进行重绘,屏幕出现闪烁
解决方案:
(1)禁止背景刷新,对OnEraseBkgnd函数进行修改,直接返回true;
(2)缩小重画区域,使用invalidaterect函数进行重绘;
(3)先画到缓存区,再从缓存区一次性画到目标区(双缓冲)。
问题二:在VC中调用MATLAB出现问题
解决方案:
(1)方法一是调用Matlab引擎;
(2)方法二是调用Matlab中M函数转化成的dll文件;
(3)方法三是调用Matlab中M函数转化成c语言的函数。
参考文献
[1] 赵新会. 作战能力与作战效能的概念开发[A]. 军队建设与军事系统工程[C]第一版,2002:1383-3851.
[2] 孙珠峰,潘应华. 基于卡尔曼滤波的目标机动判别研究[J ] . 海军航空工程学院学报,2001 (4) :449-451.
[3] 孙仲康,周一宇,何黎星. 单多基地有源无源定位技术[M]. 国防工业出版社,1996.
[4] 赵涛. 单站无源定位系统接收机的设计与实现[J]. 上海交通大学硕士学位论文,2008.
[5] 徐瑞恩. 作战理论基本概念:战斗力、作战能力和作战效能量度[J]. 军事运筹与决策,2002:1158-1701