雷达目标跟踪技术是一种基于雷达观测数据,对目标的运动状态进行估计和预测,并实现对目标的精确跟踪的技术,并因其因其高精度、实时性、全天候等特点在军事、民用和科研等领域有着广泛应用。在当今军事作战方式的变化、城市化进程的加快和国家量质升级战略推进及航空航天技术的不断发展等高度应用需求下,对基于位置数据的雷达目标跟踪方法的研究具有重要的实际应用意义与科研价值。本文对雷达目标跟踪理论及滤波跟踪算法展开研究,主要的工作内容包括以下方面:
首先基于国内外现有的研究成果,总结梳理了雷达目标跟踪的基本流程与重要环节。基于差分法,进行目标运动模型的线性判别;基于α-β滤波算法与卡尔曼滤波算法,完成面向位置信息的雷达目标跟踪,研究滤波算法参数对跟踪结果的影响及初始条件、噪声协方差矩阵等重要变量对卡尔曼滤波跟踪性能的影响。
其次为了解决非线性运动模型的目标跟踪,在卡尔曼滤波算法的基础上研究扩展卡尔曼滤波算法的基本原理,并将其应用于雷达目标跟踪。对比扩展卡尔曼滤波于卡尔曼滤波跟踪结果,研究两种滤波算法的优缺点与适用条件。
最后综合各环节的算法,开发能实现读取位置信息、判别运动模型、滤波算法选择并跟踪的雷达目标跟踪软件。实现存在高斯噪声、泊松噪声、脉冲噪声、振荡噪声等不同种类噪声环境下的低信噪比卡尔曼滤波目标跟踪。经仿真测试,软件运行情况稳定,功能实现良好,能够满足基于位置信息的雷达目标跟踪需求。
关键词: 目标跟踪;雷达目标跟踪;α-β滤波;卡尔曼滤波;扩展卡尔曼滤波
雷达目标跟踪是雷达技术系统中的重要研究方向,其原理是基于电磁波原理的无线测距技术实现对目标的精确跟踪和定位,在军事侦察和情报收集、民用监督和管理交通运输、航天器轨道监测、太空物体探测等领域都发挥着重要作用[1]。尽管雷达目标跟踪技术已经得到广泛应用,在实际应用场景中,雷达目标跟踪需要面对的运动过程中状态不确定性、多种噪声干扰、传感器故障等各种各样的复杂情况时,如何利用先进的算法模型和技术手段来应对这些复杂情况,并实现高效、准确的目标跟踪,仍是当前雷达目标跟踪领域亟待解决的问题。因此,本课题基于位置数据的雷达目标跟踪方法与现代科技的发展密切相关,研究具有重要的现实意义和应用价值。
位置信息是现代科技中的重要组成部分,广泛应用于物流、移动通信、地理信息系统等领域[2]。在雷达目标跟踪的任务当中,位置信息对跟踪目标的运动状态估计具有重要的作用。位置信息既可以帮助确定目标的当前位置,还可以提供目标的历史轨迹信息。跟踪过程中,对目标的速度、加速度、运动方向等信息进行计算,从而更加准确地估计目标的运动状态。此外,在雷达目标跟踪中,常用卡尔曼滤波、粒子滤波等跟踪算法[3]。这些算法需要利用位置信息先对目标进行状态估计之后进行滤波处理,通过将位置信息作为滤波器的输入以改善滤波器的性能,提高目标跟踪的准确度和稳定性。
选择合适的跟踪算法是目标跟踪的关键步骤之一。正确选择跟踪算法可以提高目标跟踪的准确度和效率,而错误选择则可能导致目标丢失、误判或者浪费计算资源等问题。目前,针对雷达目标跟踪问题,可采用的目标跟踪算法有基于卷积神经网络(CNN)的算法、基于循环神经网络(RNN)的算法和基于强化学习(RL)的算法、多假设跟踪、基于二分图匹配的目标跟踪、卡尔曼滤波[4]目标跟踪等。雷达目标跟踪时常出现运动模型不确定、测量噪声干扰、数据关联等影响跟踪精度的问题,目标跟踪精度的高低直接影响雷达系统的性能和实用性。为了应对以上可能出现的问题,需要选择合适的跟踪算法以适应不同的应用场景与需求。经典滤波器如卡尔曼滤波器在目标跟踪、信号处理等领域具有重要的应用价值。卡尔曼滤波器能够利用数学模型对量测噪声进行建模,并通过滤波算法对噪声进行滤除来提高数据质量[5]。面对来自不同传感器的数据时集成数据,实现多源数据融合及信息整合,得到更加准确可靠的目标状态估计结果。经典滤波器还能够通过对系统的状态进行估计和预测,使系统实时地调整自身的工作状态和参数,从而实现自适应控制和优化控制。基于卡尔曼滤波的改进算法,如扩展卡尔曼滤波、无迹卡尔曼滤波等,也在目标跟踪中得到了广泛应用。
本课题将主要以雷达技术采集所得的跟踪目标位置信息为研究数据,选取经典滤波器,仿真多种目标跟踪场景,对不同滤波算法和不同滤波器参数对跟踪结果的影响展开深入研究,最终选择能够适应实际需求的滤波算法及参数完成雷达目标跟踪。
雷达目标跟踪系统是一种将雷达信号转换为目标运动轨迹的技术。随着雷达技术的不断发展和进步,雷达目标跟踪技术也不断得到改进和完善。近年来,国内外研究机构和企业都在雷达目标跟踪领域取得了重要的成果。国内外在雷达系统领域的研究主要集中在多波束雷达系统[6]、多静止目标雷达系统[7]、多功能雷达系统[8]等方面。多波束雷达系统能够在一个雷达系统中同时使用多个波束,提高雷达系统的探测范围和探测效率[9]。针对无法移动的静止目标,如船舶、建筑等进行探测时,为了实现更加精确的目标探测,推进了多静止目标雷达系统的研究。除此之外还常采用多功能雷达系统在一个雷达系统中集成多种功能,如探测、跟踪、成像等,能够高度提高雷达系统的综合效能。
雷达目标跟踪根据传感器类型可大致分类为毫米波雷达、相控阵雷达、MIMO雷达等类别。毫米波雷达利用高频电磁波对物体进行扫描和探测,可以实现高分辨率、高精度的目标检测。常见的毫米波雷达包括Velodyne公司[10]的HDL-64E、HDL-32E等。密歇根大学的研究团队开发了一种基于多传感器信息融合和卷积神经网络的车辆跟踪系统[11]。该系统采用了多种毫米波雷达和视觉传感器等,并结合了深度学习算法,可以实现对复杂环境下的车辆跟踪和识别。相控阵雷达通过对多个天线阵列进行控制和调节,可以实现更高的分辨率和灵敏度,如美国Raytheon公司开发的高性能远程空中目标搜索和跟踪系统AN/TPY-2[12],该系统采用了先进的图像处理和目标跟踪算法,可以实现对高速飞行目标的高效跟踪和识别。中国电子科技集团公司开发了基于相控阵技术的雷达目标跟踪系统JYL-1雷达[13],该系统采用了多种雷达传感器和目标识别算法,可以实现对地面、空中和海面目标的高效跟踪和识别。MIMO雷达是一种多输入多输出的雷达系统,通过多个天线对目标进行同时辐射和接收,从而提高雷达系统的分辨率和抗干扰能力。德国Fraunhofer FHR研究机构开发的多波段MIMO雷达系统[14]可以实现对复杂环境下的多个目标的高精度跟踪和识别。日本NEC公司开发的MIMO雷达[15]目标跟踪系统可以实现对车辆、行人等不同类型的目标的高效跟踪和定位。
此外还有雷达目标跟踪系统中常用的几种雷达目标检测技术,如FMCW(调频连续波)雷达目标检测技术[16]通过对发送信号进行特殊的调制,从反射回来的信号中提取目标的距离和速度信息;通过脉冲压缩技术对发射信号进行处理,实现更高的分辨率和探测灵敏度的脉冲压缩雷达目标检测技术,常见的脉冲压缩雷达如Lockheed Martin公司AN/APS-145、AN/APS-147[17];采用多普勒雷达目标检测技术的Honeywell公司的RDR-4000、RDR-7000[18]。另有机器学习雷达目标检测技术、光学雷达目标检测技术等都在当今雷达目标跟踪中被广泛应用。
雷达成像技术是一种将距离信息和角度信息结合起来,形成目标二维或三维图像的技术。在国内外,雷达成像技术的研究主要集中在高分辨率成像技术、多波段成像技术、三维成像技术几个方面。高分辨率成像技术能够提供高分辨率的目标图像,可以实现更精准的目标识别和跟踪。在这个领域,国外的代表性研究有SAR(Synthetic Aperture Radar)和ISAR(Inverse Synthetic Aperture Radar)等技术,而国内主要研究高分辨率SAR和ISAR等技术[19]。多波段成像技术使用不同波段的雷达波束对同一目标进行成像,可以获取目标更多的信息,提高成像的准确性和分辨率。国内外的代表性研究有多频段雷达成像技术,X波段、K波段和W波段雷达的成像技术等。多视点、多天线阵列雷达成像技术作为三维成像技术可以获取目标的立体信息,实现对目标的更全面、准确的观测。
在硬件平台方面,主要研究基于FPGA(Field-Programmable Gate Array)和DSP(Digital Signal Processor)的雷达数字信号处理器[20]。雷达天线是雷达信号处理的核心部件,国内外的研究主要涉及到天线阵列设计、高精度测向等方面。
目标跟踪算法是雷达信号处理领域中的一种重要技术,用于跟踪雷达目标的运动状态和位置信息。常见的目标跟踪算法可根据其基本原理和实现方式分为滤波器类算法、贝叶斯方法类算法和深度学习类算法,都在当今被广泛应用于目标跟踪领域。
早期的跟踪算法主要是基于卡尔曼滤波的滤波器类算法,Rudolf Kalman于1960年提出卡尔曼滤波器(Kalman Filter)[21],卡尔曼滤波器是一种线性状态估计滤波器,利用测量值对系统进行实时估计和预测,适用于低噪声环境下的单目标跟踪。1979年Peter Maybeck提出扩展卡尔曼滤波器(Extended Kalman Filter)[22]通过对非线性函数进行局部线性化来逼近真实系统,适用于雷达目标跟踪中的非线性问题,是一种针对非线性系统的卡尔曼滤波器扩展版。粒子滤波器(Particle Filter)也称为蒙特卡罗滤波器,由Amos S. Weiszfeld和George Dantzig于1951年首次建立[23]。与卡尔曼滤波器相比,它可以处理非线性问题和高斯分布假设无效的情况,适用于多目标、非线性、非高斯环境下的跟踪任务。
贝叶斯方法是一类基于贝叶斯理论的概率方法,常用于多目标跟踪中的目标分割和分类问题。在目标跟踪中,贝叶斯方法类算法主要通过对状态变量进行概率推断,描述目标状态的不确定性和动态演化,并使用观测数据对目标状态进行修正和更新。非参数贝叶斯方法(Nonparametric Bayesian Methods)[24]是由Anthony Jameson在1998年提出的。他将无限维度随机过程引入到贝叶斯推断中,实现了自适应估计和概率推断,并成功应用于多目标跟踪领域。相比之下,基于粒子滤波器的Rao-Blackwellized粒子滤波器(RBPF)算法[25]则是一种针对高维目标跟踪的优化方案,通过将状态向量分解为低维和高维两个部分,并采用不同的估计方法和粒子滤波器进行联合估计和推断,从而提高目标跟踪的效率和准确性。贝叶斯方法类算法具有较好的鲁棒性和可扩展性,但也存在一些局限性,例如在处理大规模数据时,计算复杂度会快速增加。因此,在实际应用中,需要根据具体问题的需求和特点选择合适的算法,并结合其他跟踪算法进行组合和优化。
深度学习类跟踪算法源于深度学习技术的发展[26],其最早应用可以追溯到1989年。但由于深度学习技术本身的复杂性和计算量大的特点,直到近年来才逐渐被广泛应用于跟踪领域。一些比较有代表性的深度学习类跟踪算法包括:神经网 络滤波器(Neural Network Filter)、回归模型、循环神经网络(RNN)等。
其中,神经网络滤波器[27]是最早的一种深度学习类滤波器,由George Cybenko于1989年提出。它通过训练神经网络对动态系统进行建模,实现高效而准确的单目标跟踪。之后Jianming Zhang等人在2017年提出轨迹回归预测(Trajectory Regression Prediction)[28],这种方法将多个连续时刻内的目标状态信息作为输入,通过训练回归模型来预测目标下一时刻的位置和速度等状态参数,适用于长时间跟踪和移动目标的跟踪。随着深度学习技术的不断发展,越来越多的深度学习模型被引入到跟踪算法中,以提高跟踪的准确性、鲁棒性和效率。如图1-1直观呈现了可应用于雷达领域的目标跟踪算法发展阶段。
图1-1 目标跟踪算法发展阶段
除了上述算法外,还有一些基于传感器融合的目标跟踪算法可用于雷达目标跟踪。多传感器数据关联方法(Multi-Sensor Data Association)[29]最早可以追溯到上世纪60年代末期,利用多个传感器对目标进行观测,并从中提取特征,将不同时间和空间的观测结果进行融合,以确定目标在不同时刻和不同传感器下的运动轨迹及状态。早期的多传感器数据关联方法主要采用卡尔曼滤波器等滤波算法,通过对多维度观测数据进行处理和分析,实现目标跟踪和关联。
卡尔曼滤波器和粒子滤波器融合(Kalman Filter and Particle Filter Fusion)[30]最早由D. Fox等人于2003年提出,它利用卡尔曼滤波器的线性预测模型和粒子滤波器的非线性修正模型相结合,对目标运动状态进行估计。该算法能够充分利用两种滤波器的优点,不仅能够处理高斯分布的线性系统,还能够有效地处理非线性、非高斯分布的系统。基于深度学习的多模态融合目标跟踪算法[31]则是近年来逐渐兴起的,其利用深度学习技术对多传感器观测数据进行特征提取和关联,从而实现目标跟踪和运动预测。最早的研究者之一是Yi Wu等人,在2013年提出了一种基于深度学习的多尺度特征融合算法,用于实现多目标跟踪。此后,越来越多的研究者开始探索深度学习在多传感器数据关联和目标跟踪中的应用,相继提出了各种基于深度学习的多模态融合目标跟踪算法。
经过国内外文献及研究成果的分析总结可发现,目前雷达目标跟踪领域中,多传感器信息融合、深度学习算法、毫米波雷达技术及动态目标跟踪算法具有很高的研究热度,在智慧交通、自动驾驶等方面有着广泛的应用。不可否认,因为深度学习技术具有较强的非线性建模能力和自适应学习能力,可以更好地处理复杂的目标跟踪任务等优势,在当下前沿的跟踪算法中,采用深度学习滤波器的比率越来越高。但在一些场景的问题中,传统的经典滤波器仍然具有其优越性。由于深度学习模型通常需要大量的计算资源进行训练和推断,所以在计算资源受限的情况下,经典滤波器更为适用。经典滤波器通常利用物理模型对信号进行分析和预测,如果物理模型准确且恰当,使用经典滤波器效果往往更好。而且在数据量较少的情况下,深度学习模型难以获得较为准确的结果。而经典滤波器可以通过使用较少的数据来获得可靠的预测结果。此外,了解传统滤波器的原理、优缺点以及适用场景可以帮助更好地理解现有的跟踪算法,并在实际工程中进行合理选择。同时,传统滤波器的研究也可以为目标跟踪问题提供新的思路和方法,促目标跟踪领域的发展。
在雷达目标跟踪当中,卡尔曼滤波算法作为一种传统的滤波算法是目标跟踪算法领域的重要基础。本文基于位置数据利用常见的贝叶斯滤波算法即α-β滤波算法、卡尔曼滤波算法及扩展卡尔曼滤波算法对不同情形下的雷达目标跟踪展开研究,并完成能够实现数据输入、运动模型判断、目标跟踪等一定功能的软件。为了达到上述目的,本文由以下几部分研究方向展开:
第2章为整项研究建立的框架,首先学习研究了雷达目标跟踪的基本原理,建立目标运动模型采用差分法判断运动目标是否为线性。之后对本课题中的核心部分展开研究,即跟踪滤波算法。分别研究α-β滤波算法和卡尔曼滤波算法的基本理论,之后根据滤波理论推导两种滤波算法在目标跟踪实际应用中的公式及方程,最后分别介绍了用程序实现目标跟踪的主要步骤及程序流程图展示。
第3章中将对卡尔曼滤波算法的研究延伸到扩展卡尔曼滤波算法(EKF)。卡尔曼滤波算法的适用范围为线性运动的目标跟踪,而在现实世界中,物体的运动以非线性运动为主,因此引入扩展卡尔曼滤波算法,以便更好实现实际应用中的目标跟踪。首先研究EKF的滤波基本理论,之后根据实际需求推导滤波算法在目标跟踪实现中所需采用的公式,并绘制EKF程序实现流程图及介绍仿真主要步骤。最后对比了扩展卡尔曼滤波器和卡尔曼滤波器的原理差异。
第4章为实验仿真与软件封装。首先实现对目标的运动模型判别功能,之从α-β滤波算法、卡尔曼滤波算法、EKF对简单运动模型的跟踪入手,逐步深入研究较为复杂的运动模型,完成目标跟踪并观察参数α、卡尔曼滤波的初始条件、初始状态矩阵、噪声协方差矩阵等参数对跟踪结果的影响,并采用一定的方法评估衡量不同参数下的卡尔曼滤波跟踪效果,并得出相应的结论,最终实现低信噪比条件下的卡尔曼滤波目标跟踪。比对评估卡尔曼滤波和扩展卡尔曼滤波的跟踪结果,验证扩展卡尔曼滤波算法在非线性运动领域具有更好的性能。最后将程序代码作为软件模块,用仿真软件完成用户界面设计,并打包封装成exe文件,可以再未安装仿真软件的计算机上独立运行,实现交互性较好的目标跟踪软件。能够完成读取本地坐标数据文件、判断目标运动模型、选择项适应的目标跟踪滤波算法并绘制目标跟踪结果等功能。整篇文章的研究脉络与章节联系如图1-2所示:
图1-2 文章研究内容联系与框架
本章首先介绍雷达目标跟踪的基本原理并对目标运动模型的分类与判定展开研究,以判断目标的运动状态是否为线性来选择不同的滤波算法,再对α-β滤波算法、卡尔曼滤波算法的基本原理进行研究,并推导滤波算法在目标跟踪当中的应用公式。此外,初步研究不同滤波参数对跟踪效果的影响,为后续实现性能较好的α-β滤波算法和卡尔曼滤波跟踪算法目标跟踪做理论基础。
雷达目标跟踪指采用雷达信号的技术手段对目标进行信息采集,收集目标在一定时间范围内的位置数据,对目标之后的运动轨迹进行预测。 脉冲发射是雷达目标跟踪的首要步骤,雷达向天空或其他探测区域发射一定频率的电磁脉冲来启动雷达系统的工作。脉冲由雷达发射器产生,其频率、脉宽和功率等参数可以根据具体的应用需求进行调整。在应用于目标跟踪时,脉冲的发射频率一般在GHz范围内,脉宽通常为微秒级别,功率则通常在几千瓦至几兆瓦之间。这些参数的选择取决于雷达系统的工作距离、探测精度和抗干扰性能等要求。脉冲发射参数的选择对系统的性能有很大的影响。因此,在实际应用中,需要根据具体的情况对脉冲发射的参数进行优化,以获得最佳的探测效果。
脉冲发射后,天线辐射出去的电磁波中传播到跟踪目标的部分被反射回来。雷达接收器对反射电磁波进行接收及信号处理,对回波信号进行滤波、降噪、放大以便更好提取目标信息。之后再将接收到的回波信号与发射脉冲进行匹配滤波,提高信噪比及距离分辨率。在完成对回波信号处理的基础上,采用统计方法来确定目标是否存在,如果目标存在则采用一系列常用的信号处理算法,如常规门限检测、恒虚警率检测、CFAR等,以实现对目标回波信号的检测和分离。通过测量目标回波信号的到达时间、频率、相位等信息,确定目标的距离、速度、方位角等位置信息及其它特征。
在获得了一定的信息之后,将采用数据关联技术将不同时间或传感器中的目标进行匹配和关联,以确定它们是同一个目标。并把它们的特征描述符与唯一标识符存储在跟踪器中,由目标连续时刻的测量结果,使用滤波、估计等方法来预测目标的位置、速度和加速度等状态参数。将连续时刻的目标测量结果与之前的结果进行关联,以便建立目标的轨迹。数据关联通常包括测量匹配和轨迹维护两个主要步骤:在进行测量匹配时,将当前时刻的目标测量结果与上一时刻的目标状态预测值进行匹配,以确定哪些测量结果与哪些目标相关联。之后根据匹配结果进行轨迹维护,更新目标的状态估计值、协方差矩阵等参数,并根据目标的运动模型进行预测,以建立目标的轨迹。数据关联的过程中,需要考虑多种因素,如噪声、多目标、目标缺失、目标重合等。为了提高数据关联的准确性,通常需要采用一些高级的关联算法,如卡尔曼滤波、扩展卡尔曼滤波、无迹卡尔曼滤波、粒子滤波等。这些算法可以有效地降低噪声的影响,提高目标跟踪的精度和可靠性。在实际应用中,数据关联和卡尔曼滤波通常会一起使用,并且会在一个循环中迭代执行,不断更新和维护目标列表,并且对每个目标进行预测和校正。综上所述,雷达目标跟踪的基本流程和主要环节如图2-1所示:
图2-1 雷达目标跟踪流程图
本章则对运动目标的位置数据展开基于 滤波算法、卡尔曼滤波算法对雷达目标跟踪的研究。
研究目标跟踪主要从目标的运动特性建模及滤波跟踪算法两个方面进行。跟踪滤波算法需要对目标的运动状态进行估计并预测下一步的运动,因此首先需要对运动目标建立运动模型。目标运动模型是指对物体运动过程中的位置、速度、加速度等运动状态进行建模和预测所产生的模型。目标的运动状态可分为线性方法与非线性,在进行算法的初步实现时可将运动模型简化为线性运动,但机动目标的运动状态则大多情况下是属于非线性的,此时线性运动模型将不再能满足目标跟踪需求。因此,在不同的目标运动模型下,应灵活选取不同的滤波算法,目标运动模型的分类与判别是研究目标跟踪时的重要内容。
为了实现对目标运动模型的判断,将目标运动分为线性运动模型和非线性运动模型,进行了程序实现。差分是一种用于确定运动模型中的加速度或其他导数的常用方法。差分的基本思想是计算连续时间点之间的变化量,可以由此确定运动的速度、加速度等参数,从而判断运动模型的线性或非线性。
设和 分别表示时刻时的目标位置的 x 坐标和 y 坐标,对其计算一阶差分和二阶差分,得到:
判断是否为线性运动模型的条件为:
α-β滤波器是一种简化的 滤波器,也叫做 滤波器或 滤波器,它是许多滤波器的基础,特别适用于匀速运动和匀加速运动模型。该滤波器的主要优点是增益矩阵可以离线计算,计算量非常小,易于实时跟踪,因此这种方法被广泛用于设计跟踪滤波器,例如无人驾驶车辆中的目标跟踪和避障系统,以及视频监控系统中的运动目标跟踪等应用。
α-β滤波器本质上是卡尔曼滤波器的稳态解形式,在工程中是一种简单易于实现的常增益滤波方法。然而,它主要适用于匀速运动航迹的稳态滤波,对机动(非线性)目标的跟踪效果不理想。因为雷达距离和方位角测量误差的不相关性,通常选择在极坐标系的两个坐标轴上分别独立进行滤波。
在传统的α-β滤波器中,参数α和β的值在程序开始时被预先固定。然而,该滤波器的效果强烈依赖于这些参数值的选择,而最佳的α和β值根据不同情境可能会有显著变化。因此,使用该滤波器需要具备背景知识,并进行反复尝试以判断滤波效果,以手动调整参数值以改进滤波性能。与此相反,α-β滤波器的参数没有迭代关系,每个周期的α和β值都独立控制滤波结果、预测值和测量值之间的关系。
该算法使用两个参数α和β,通过对当前观测值和上一时刻估计值的加权平均来进行滤波。设当前时刻为 ,观测值为 ,估计值为 ,则α-β滤波器的公式为:
α和β表示权重系数控制观测值和估计值的比例。当 时,该算法为纯预测算法; 当 时, 该算法为纯观测算法。 2.3.1.2 基于 滤波器的目标跟踪公式/ 滤波算法常用于目标跟踪, 其基本思想是通过对目标位置和速度的估计, 预测其下一时刻的状态, 并与观测值进行融合来估计目标的真实状态。已知雷达跟踪的单个目标在一段时间内的一组 坐标数据, 推导对目标进行 滤波跟踪的数学公式:
首先需要将雷达测量得到的 坐标数据进行一阶差分, 转换为位置和速度信息。设 和 分别表示第 时刻的 和 坐标,则一阶差分计算如下:
式(2-8)中, 和 分别表示第 时刻相邻两次观测之间的位移。之后根据一阶差分得到速度, 即在时间上相邻两个数据点之间的距离差除以时间间隔, 即:
式(2-9)中, 表示第 个数据点对应的速度, 和 分别表示第 个数据点对应的位置和时间。 目标在时刻 的位置为 ,速度为 , 则目标的状态为:
通过系统动态方程预测目标的下一时刻状态 , 式(2-5)中状态转移矩阵
式(2-11)中 表示相邻两次观测时间的时间间隔。状态预测可以表示为:
式(2-12)中 表示目标状态的估计, 表示权重系数, 表示在时刻 的观测值由先验估计和历史观测值进行计算:
之后将目标的预测状态 与当前的观测值 进行融合, 加权平均以得到新的目标状态估计 :
式(2-14)中 表示在时刻 的权重系数:
式(2-15)中 表示一个常数, 和 分别表示在 时刻对目标速度和位置的方差估计值。 最后对目标状态的估计进行协方差矩阵 的更新:
式(2-16)中 表示在 时刻对目标状态的协方差矩阵预测值。 2.3.1.3 濾波器的参数设置及其最优性
为了确定 滤波器的最优参数, 结合公式进行数学分析和优化。设观测值为 , 估计值为 , 则 滤波器的公式为:
式(2-17)中 和 作为权重系数, 负责控制观测值和估计值的比例。采用优化均方误差 来确定最优的 和 值。MSE 表示估计值与真实值之间的平均误差的平方, 即:
式(2-18)中 表示期望值。对于 滤波器, 均方误差可以表示为:
对公式(2-13)进行展开和化简, 得到:
式(2-20) 中第一项和第二项分别表示观测值误差和估计值误差占总误差的权重; 第三项表示上一时刻估计值误差占总误差的权重; 第四项和第五项是交叉项,表示不同误差之间的相关关系。
求最小化均方误差, 即对 MSE 求偏导数, 并令其等于零, 确定最优的 和 值:
使用梯度下降等优化方法求解上述方程组, 得到最优的 和 值:
通常来说, 和 的取值应该在 的范围内, 且 与 之和小于 1 。如果 的值较大, 则观测值将占主导地位, 从而更快地跟踪观测值; 如果 的值较大, 则上一时刻的估计值将占主导地位, 从而更慢地跟踪观测值。因此, 需要根据具体的任务需求和应用场景来选择 和 的值, 以实现最佳的滤波效果。
如图 2-2, 是以较复杂的非线性运动模型为例的 滤波目标跟踪的程序流程图。程序对于数据点它执行以下步骤:
图2-2 滤波跟踪程序流程
卡尔曼滤波(Kalman Filter,KF)是一种基于贝叶斯统计理论的递归估计算法,主要用于连续时间下的线性系统状态估计。卡尔曼滤波算法和在模拟电路中常用的滤波算法(如高、低通滤波)或图像处理中常见的滤波算法(如中值滤波)不同,卡尔曼滤波器是一种最优化的递归数字处理算法,更像是一种观测器。卡尔曼滤波并不会直接从已有的信息中取出或滤除特定的信息,而是在存在不确性和扰动的条件下,通过不同渠道信息的数据融合得到精确度相对较高的预测值。卡尔曼滤波是贝叶斯滤波的一种,属于递推的滤波器,主要应用于线性的高斯系统。卡尔曼滤波器将从传感器获得的测量数据与通过前一时间步的状态预测得到的当前时间步的状态相融合,以得出最优估计值。以下为卡尔曼滤波的重要公式及推导:
设跟踪目标的状态模型和观测模型如下:
式(2-25) 中 是状态向量, 是输入向量, 是过程噪声, 是观测向量, 是观测噪声。式为状态方程用于描述系统的状态演化过程, 式为观测方程用于描述系统的测量过程。由状态模型与观测模型可得状态预测方程:
状态预测方程利用系统的动力学模型来估计下一时刻的状态。式(2-27)中, 表示在时刻 时, 利用系统模型得到的在时刻 的状态的先验估计。接下来计算卡尔曼增益,卡尔曼增益用于衡量系统状态估计和观测之间的关系:
式(2-28) 中 是卡尔曼增益, 是状态先验估计的协方差矩阵, 是观测方程的矩阵, 是观测噪声的协方差矩阵。
基于状态方程、观测方程及卡尔曼增益推出状态更新方程和协方差更新方程:
式(2-29)中, 是在时刻 时,基于观测值和先验估计得到的状态的后验估计。该方程利用观测值修正先验估计。式中, 是在时刻 时, 基于观测值和先验估计得到的状态的后验估计的协方差矩阵, 协方差更新方程用于修正状态估计的协方差矩阵。协方差矩阵将方差与协方差在同一个矩阵中表现出来, 用于体现变量间的关系。
卡尔曼滤波包括初始化及循环迭代两个重要环节: 卡尔曼滤波前需要对状态向量和协方差矩阵进行初始化, 可将初始状态估计值设置为零向量, 初始协方差矩阵设置为一个较大的值, 表示对状态估计的不确定性。初始化完成后进入循环阶段, 每次迭代包括状态预测、卡尔曼增益计算、状态更新和协方差更新等步骤, 直到达到停止条件或者收敛为止。
卡尔曼滤波是一种经典的线性滤波算法, 可以用于估计具有线性动力学模型的系统状态, 其核心思想是通过先验估计和观测值之间的关系来修正状态估计值, 从而得到更准确的状态估计结果。
已知雷达跟踪目标在一段时间内的一组 坐标数据, 对目标进行卡尔曼滤波跟踪。 首先定义系统模型和观测模型, 系统模型用于描述目标在时间上的运动, 通常用状态向量 表示目标在第 时刻的状态, 例如位置和速度。可以通过运动模型预测目标在下一个时刻的状态 , 通常用状态转移矩阵 表示。观测模型用于描述雷达测量的结果, 通常用观测向量 表示雷达在第 时刻测量到的目标位置。可以通过观测模型将目标状态转换为雷达观测结果, 通常用观测矩阵 表示。然后以目标的初始位置和速度作为卡尔曼滤波器的初始状态 , 用比较大的协方差矩阵 表示对目标位置和速度的初始估计比较不确定。
初始状态定义完毕后, 在每个时刻 上, 预测目标在下一个时刻的状态 和协方差矩阵 :
式(2-32) 中 是时刻 的状态估计, 是状态转移矩阵, 是过程噪声的协方差矩阵。之后计算卡尔曼增益:
式(2-33) 中 是观测矩阵, 是观测噪声的协方差矩阵。计算完卡尔曼增益后使用雷达观测结果更新目标状态估计和协方差矩阵, 即用观测值进行状态更新:
式(2-35)中 是观测噪声的协方差矩阵, 是卡尔曼增益, 是单位矩阵, 是时刻 的观测值, 是时刻 的状态估计, 是时刻 的状态估计协方差矩阵。最后用当前状态预测下一时刻的状态:
最终得到的 和 就是时刻 的状态估计和状态估计协方差矩阵, 重复上述步骤完成目标跟踪。
在存在噪声和不存在噪声的条件下, 卡尔曼滤波器的原理有所不同。下面是两种情况下的对比: 当不存在噪声时, 卡尔曼滤波器可以简化为一个线性系统。此时, 卡尔曼滤波器的原理如下:
式(2-38)为状态方程, 式(2-39)为观测方程。其中 表示系统状态, 在每个时间步更新; 是控制输入; 是观测值; 是状态转移矩阵; 是控制输入矩阵; 是观测矩阵。
当存在噪声时, 卡尔曼滤波器需要考虑噪声对系统状态的影响, 因此需要引入协方差矩阵来表示噪声的影响。此时, 卡尔曼滤波器的相关方程如下: \begin{tabular}{cc} \hline 表 噪声条件下的卡尔曼滤波方程 \ \hline 方程/公式名称 & 方程/公式 \ \hline 状态方程 & \ 观测方程 & \ 预测协方差矩阵 & \ 估计协方差矩阵 & \ 卡尔曼增益 & \ 估计状态 & \ 更新协方差矩阵 & \ \hline \end{tabular}
表 2-1 中, 和 是系统模型和观测模型的噪声; 和 是噪声协方差矩阵; 是估计误差协方差矩阵; 是观测值协方差矩阵; 是卡尔曼增益; 是最优估计值。
可以看出, 在存在噪声的情况下, 卡尔曼滤波器需要引入更多的变量和公式来描述系统状态。但是, 这些变量和公式使得卡尔曼滤波器能够对噪声进行有效补偿, 从而提高估计结果的准确性。
图 2-3 是以较复杂的非线性运动模型为例的卡尔曼滤波目标跟踪的程序流程图。其中的循环, 用于实现 Kalman 滤波器的更新。它遍历时间步, 对于每个时间步, 它执行以下操作:
(1)初始状态估计量 卡尔曼滤波中初始状态是指在第一次测量之前估计的目标状态。它包括目标在空间中的位置、速度、加速度等状态量估计值及对这些状态不确定性的估计值。初始状态估计可以基于先验知识、历史测量值或模型预测等方式进行。 在卡尔曼滤波中初始状态的准确性对滤波结果的影响非常大,需要尽可能准确地估计初始状态。如果初始状态估计存在误差或不确定性,则会对滤波结果产生不良影响。因此,在卡尔曼滤波中通常会对初始状态进行优化和调整以提高滤波效果。赋给初始状态量不同的值以设置不同的初始条件。 在卡尔曼滤波中,一个较好的初始状态应当是具有较高的准确性和可靠性的状态估计。具体来说,一个较好的初始状态应该满足以下条件:
(2)初始协方差矩阵 表示状态估计的协方差矩阵,表示初始状态估计的可信度。将 的初始值改为一个较小的矩阵,即认为初始状态估计的可信度较高,则可能会导致滤波效果更好,更快地跟踪目标轨迹;反之,如果将 的初始值改为一个较大的矩阵,即认为初始状态估计的可信度较低,则可能需要更多的测量数据来跟踪目标轨迹,滤波效果可能会更慢。 在一些情况下,应该将初始状态矩阵设置为较小的矩阵。比如,如果系统状态的维度较小,或者初始估计值的不确定性较小,那么可以将初始状态矩阵设置为较小的矩阵。这样做的好处是可以加快卡尔曼滤波器的收敛速度,减少跟踪误差,提高跟踪精度。反之则应该将初始状态矩阵设置为较大的矩阵,以更好地反映系统状态的不确定性,提高滤波器的鲁棒性,避免过度拟合。
(3)噪声协方差矩阵 噪声协方差矩阵是卡尔曼滤波中的一个关键参数,它描述了系统中的过程噪声和观测噪声。过程噪声和量测噪声的大小和相关性会影响卡尔曼滤波器的性能。如果噪声协方差矩阵中的元素很小,那么卡尔曼滤波器会更加信任先验状态和先验协方差,这可能导致估计的响应速度较慢,滞后较大,但是估计的稳定性较高。相反,如果噪声协方差矩阵中的元素很大,那么卡尔曼滤波器会更加信任测量值和测量协方差,这可能导致估计的响应速度较快,但是估计的稳定性较差。
过程噪声协方差矩阵 反映了系统模型的不确定性,即在系统运动中由于环境、外部干扰、控制器等因素导致的状态漂移。过程噪声协方差越大,卡尔曼滤波器对于当前状态的估计就越不可靠,会更加信任先前的状态估计,因此估计的误差就会逐渐积累,从而导致滤波器的性能下降。相反,如果过程噪声协方差越小,则滤波器会更加相信当前的测量值,但是也会对系统本身的动态特性进行过度拟合,从而导致过滤器的灵敏度降低。
量测噪声协方差矩阵 反映了测量设备的不确定性,即测量值与真实值之间的偏差。量测噪声协方差越大,卡尔曼滤波器会更加相信先前的状态估计,对当前测量值的重要性降低,因此滤波器的输出更加平滑,但是也会导致滤波器对于系统的快速变化反应不足。相反,如果量测噪声协方差越小,则滤波器会更加相信当前的测量值,但也会更加容易被噪声干扰,从而导致输出误差增加。因此,在实际应用中,需要根据具体情况对过程噪声协方差和量测噪声协方差进行合理的调整。
本章首先介绍了雷达目标跟踪的主要流程,即发射雷达脉冲、接收回波信号、回波信号处理、目标检测、目标特征提取与匹配、运动预测、目标跟踪。为了选择合适的滤波算法,研究二阶差分法以完成对运动目标是否为线性的判别。之后对α-β滤波算法与卡尔曼滤波算法展开初步的研究,并分析了一些滤波参数及协方差方程可能对滤波结果产生的影响,为后续仿真中参数及协方差的选择提供理论基础。
卡尔曼滤波器被广泛应用于状态估计和控制问题,然而由于实际问题往往具有非线性特征,导致传统的卡尔曼滤波器无法良好解决,因此需要考虑将卡尔曼滤波器扩展到非线性的情况下,即扩展卡尔曼滤波器。本章首先从扩展卡尔曼滤波器的基本原理出发,随后推导其应用于目标跟踪时的公式,最后进行了扩展卡尔曼滤波器与卡尔曼滤波器的原理对比。
扩展卡尔曼滤波(Extended Kalman Filter,EKF)是一种基于贝叶斯统计理论的递归估计算法,主要用于连续时间下的非线性系统状态估计。 在卡尔曼滤波的模型中,状态方程、观测方程及噪声均以线性形式加入了系统,但在一般系统中,状态方程、观测方程及噪声极大概率为非线性。针对这种情况,需要使用非线性的扩展卡尔曼滤波器替代卡尔曼滤波器。因为卡尔曼滤波器仅针对线性系统。线性变换滤波器与非线性变换滤波器对比如图3-1所示:
图3-1 滤波器变换图示 因此在处理非线性模型时需使用扩展卡尔曼滤波器,在每一个时间步当中将非线性函数在当前估算状态的平均值附近进行线性化。然后将得到的雅可比矩阵用于预测和更新卡尔曼滤波器算法的状态。扩展卡尔曼滤波器变换前后状态分布如图3-2所示:
图3-2 扩展卡尔曼滤波器非线性变换 EKF基于状态方程和观测方程,其中状态方程用于描述系统的状态演化过程,观测方程用于描述系统的测量过程。在EKF中,状态方程和观测方程可以表示为以下形式:
式(4-1)中 是状态向量, 是输入向量, 是过程噪声, 是观测向量, 是观测噪声。之后利用系统的动力学模型来估计下一时刻的状态, 即状态预测方程:
式(4-3) 中 表示在时刻 时, 利用系统模型得到的在时刻 的状态的先验估计。由状态模型计算卡尔曼增益, 衡量系统状态估计和观测之间的关系:
式(4-4)中, 是卡尔曼增益, 是状态先验估计的协方差矩阵, 是观测方程的雅可比矩阵, 是观测噪声的协方差矩阵。之后利用观测值来修正先验估计,完成状态更新和协方差跟新:
协方差更新用于修正状态估计的协方差矩阵, 式(4-6)中, 是在时刻 时,基于观测值和先验估计得到的状态。
将状态向量定义为 , 其中 和 分别表示目标在 和 方向上的位置, 和 分别表示目标在 和 方向上的速度。状态转移方程和观测方程可以表示为:
公式(4-7)和公式(4-8)中 和 分别表示非线性的状态转移函数和观测函数, 表示上一时刻的控制向量, 表示状态转移噪声, 表示观测噪声。在每个时间步骤中, 需要对状态转移方程和观测方程进行线性化。可以使用泰勒展开公式对 和 进行一阶线性近似, 得到状态转移矩阵 和观测矩阵 , 如下所示:
公式(4-9)中 表示上一时刻的状态估计, 表示当前时刻的状态估计。然后, 可以使用卡尔曼滤波的公式来计算当前时刻的状态估计和协方差矩阵, 如下所示:
公式(4-13)中 表示卡尔曼增益, 表示上一时刻的协方差矩阵, 表示观测噪声的协方差矩阵, 表示上一时刻的观测预测值, 表示当前时刻的观测值。
如图 3-3 是实现扩展卡尔曼滤波跟踪的流程图, 用于从给定的观测数据中估计二维系统的状态。首先定义了系统动态模型和观测模型, 然后通过预测步骤和更新步骤进行状态估计, 最后绘制了真实路径和估计路径的图像。其目标跟踪程序可如下步骤进行:
扩展卡尔曼滤波(Extended Kalman Filter,EKF)和卡尔曼滤波(Kalman Filter,KF)都是用于估计系统状态的滤波算法,但在处理非线性系统时存在一些区别。卡尔曼滤波是一种适用于线性系统的最优滤波算法。它基于系统的线性动态模型和线性观测模型,通过使用卡尔曼增益来进行状态估计。卡尔曼滤波假设系统和观测噪声均为高斯分布,并通过最小均方误差准则来优化状态估计结果。卡尔曼滤波具有良好的数学性质和较低的计算复杂度,适用于线性系统的状态估计问题。 然而,对于非线性系统,卡尔曼滤波无法直接应用,因为非线性系统的动态模型和观测模型无法通过简单的线性变换表示。这就引入了扩展卡尔曼滤波。扩展卡尔曼滤波通过在卡尔曼滤波的预测和更新步骤中使用线性化的非线性模型来近似处理非线性系统。具体而言,扩展卡尔曼滤波使用一阶泰勒展开来线性化非线性模型,并在线性化的模型上执行与卡尔曼滤波相同的预测和更新步骤。这样就可以在非线性系统上进行状态估计。
如表3-1所示,卡尔曼滤波和扩展卡尔曼滤波的公式区别主要体现在状态预测和更新步骤中。卡尔曼滤波的状态预测步骤中,使用线性状态转移矩阵 对先前时刻的状态进行预测。这是因为卡尔曼滤波假设系统是线性的,并且状态转移是通过线性方程描述的。扩展卡尔曼滤波在状态预测步骤中引入了非线性状态转移函数 ,以代替线性状态转移矩阵。这是因为扩展卡尔曼滤波用于处理非线性系统,其中状态转移无法通过简单的线性方程表示。非线性状态转移函数 是根据系统的特定动力学方程得出的。扩展卡尔曼滤波还引入了非线性状态转移雅可比矩阵 ,用于近似描述非线性状态转移函数的线性化。雅可比矩阵 是对状态转移函数 在先前状态 处进行一阶的泰勒展开得到的。这种线性化是为了在扩展卡尔曼滤波中使用卡尔曼滤波的预测和更新步骤。
卡尔曼滤波的更新步骤中,观测模型是线性的,通过观测矩阵 将状态转化为观测值。这是因为卡尔曼滤波假设观测模型是线性的。扩展卡尔曼滤波引入了非线性观测模型 ,以替代线性观测模型。这是因为扩展卡尔曼滤波用于处理非线性系统,其中观测模型无法用简单的线性方程表示。非线性观测模型 是根据具体问题中观测量和状态之间的关系得出的。扩展卡尔曼滤波还引入了非线性观测模型的雅可比矩阵 ,用于近似描述非线性观测模型的线性化。雅可比矩阵 是对观测模型 在估计状态 x̂ₖ 处进行一阶泰勒展开得到的。这种线性化是为了在扩展卡尔曼滤波中使用卡尔曼滤波的预测和更新步骤。 卡尔曼滤波假设系统和观测模型是线性的,使用线性状态转移矩阵和观测矩阵进行状态预测和更新。扩展卡尔曼滤波用于处理非线性系统,引入了非线性状态转移函数和观测模型,并使用它们的雅可比矩阵进行线性化近似,以实现状态预测和更新。这样可以扩展卡尔曼滤波的应用范围,但也引入了线性化误差和计算复杂性。
本章首先介绍了扩展卡尔曼滤波的基本原理,推导了对二维非线性运动进行目标跟踪时可采用的公式。并将扩展卡尔曼滤波和卡尔曼滤波的重要公式和变换特性图进行了对比,更清晰直观地体会了扩展卡尔曼滤波对非线性模型的线性化理论。
基于先前章节对不同滤波算法及其实现的理论研究,本章进行理论基础上的仿真实验,判断目标运动模型,实现α-β滤波跟踪、卡尔曼滤波跟踪、扩展卡尔曼滤波跟踪,并完成对滤波跟踪影响因素的研究,验证不同滤波器所具有的跟踪性能。最后完成能实现运动模型判别、添加不同种类噪声模型、采用不同滤波跟踪算法、可调整参数并返回跟踪误差数值的目标跟踪软件。
目标运动模型判别的具体实现步骤如下:
图4-2 目标运动模型可视化
使用仿真软件生成一组匀速直线运动数据,并对其进行α-β滤波目标跟踪,其跟踪结果如图4-3所示:
(a) 示例一
(b) 示例二 图4-3 匀速直线α-β滤波
由图4-3可以看出起始位置的跟踪轨迹和真实轨迹重合度不高,经分析,其原因为滤波器需要时间进行调整和收敛。在滤波过程最初,估计值和测量值之间的差距会比较大,导致两种轨迹误差较大。随着时间的推移,滤波器会根据测量值和先前的估计值进行调整,并逐渐收敛于真实值。因此,后续时间内跟踪轨迹和真实轨迹的误差会越来越小,直到达到稳定状态。
对匀加速直线运动模型的目标进行α-β滤波跟踪仿真,其预测和跟踪的结果在图像中用不同的曲线表示。
(a) 示例一 (b) 示例二 图4-4 匀加速直线 滤波 由图4-4可见,真实轨迹是平稳变化的,而预测轨迹和跟踪轨迹在前期误差较大,后期趋于稳定。原因为在α-β滤波器的预测和跟踪过程中,初始的状态估计值误差较大,需要经过一定的时间来逐步收敛。 除此之外还可观察到,跟踪轨迹比预测轨迹更接近真实轨迹。这是因为α-β滤波器是一种基于观测值和先验估计值的二次滤波器,具有较高的准确性和稳定性,能够有效地降低系统噪声(此模型为无噪声条件下)和模型误差的影响,从而实现更好的位置跟踪效果。
选取一组非线性运动模型的坐标数据并对其进行α-β目标跟踪,分别设置参数 值为0.7和0.3,
(a) =0.7
(b) =0.3 图4-5 不同系数α-β跟踪结果对比 由图4-5 (a)可直观明显的看出当 =0.7时,红色曲线(滤波跟踪曲线)与蓝色曲线(真实运动轨迹)重合度较低,而图2-8 (b)中α-β跟踪曲线几乎与真实运动轨迹贴合。
由表2-1可分析得出以下结论:调整 值越小,跟踪轨迹越接近真实轨迹,是因为随着 值的减小,历史测量值对状态估计的影响增加,滤波器对当前测量值的依赖性减小,从而更加稳定和平滑地估计状态。因此,状态估计值的变化越慢,轨迹的波动越小,跟踪误差就越小,跟踪轨迹与真实轨迹越接近。 另外,减小 值也意味着增加了滤波器的惯性,使滤波器对系统噪声的抑制效果更好。这可以进一步减少跟踪误差,从而更加接近真实轨迹。但是,如果 值过小,滤波器可能对状态的变化过于迟缓,导致滞后和不准确的状态估计,因此需要在准确性和响应速度之间做出权衡。
值的大小和跟踪结果并没有必然的正比或反比关系,而是与具体情况有关。通常情况下,较小的 值会导致更好的跟踪结果,因为它们可以提供更平滑和稳定的状态估计。这样可以减少估计值的变化和跟踪误差,并使跟踪结果更接近真实轨迹。然而,在某些情况下,较小的 值可能会导致过度滞后或过于保守的状态估计,从而降低了滤波器的响应速度和准确性。 因此,选择合适的 值需要考虑多种因素,如系统噪声的特性、测量误差的大小、系统动态响应等等。通常需要进行试验和优化来找到最佳的值,以实现最佳的跟踪结果。
本章对在无噪声条件下目标运动模型的卡尔曼滤波算法展开研究,在无噪声条件下将系统噪声和测量噪声的方差设置为对角矩阵以表示噪声在不同维度上的方差可能是不同的。具体来说,对角矩阵中的每个元素对应于一个维度上的方差,因此对角线上的元素越大,对应的维度上的噪声就越大。为了研究无噪声条件下的目标跟踪,将系统噪声和测量噪声方差的对角矩阵上的元素都设置为了零,以表示模型没有考虑噪声。
(1)一维卡尔曼滤波 一维卡尔曼滤波器适用于物理系统的一维运动模型,如匀速运动模型或简单的加速度模型。例如,汽车沿笔直的道路行驶的情况,汽车的速度可以看作一个一维状态变量,每个时刻的测量值可以通过汽车测速表等仪器进行测量。在这种情况下,一维卡尔曼滤波器可以根据先前的测量值和系统模型对当前状态进行估计。
假设目标的匀速运动状态,速度为 ,测量设备可以对目标的位置进行测量,获得位置坐标数据。
图4-6 一维卡尔曼目标跟踪 由图4-6可以看出测量值曲线是波动的,而且无法看到卡尔曼滤波结果的曲线。其原因是在一维的情况下,卡尔曼滤波器的跟踪效果并不明显,缺少其它状态信息来帮助滤波器更准确地估计目标的位置和速度。 (2)二维卡尔曼滤波 对匀速直线运动目标进行二维卡尔曼滤波时,目标的运动状态是由其在 和 方向上的位置和速度组成的,即4个状态变量。因此,将状态矩阵 和状态转移矩阵 都设置为 。同时,测量值 也包含了目标在 和 方向上的位置,即2个测量变量,测量矩阵 是 的。在图4-7中只能看到一条直线,这是因为真实值和测量值之间没有明显的误差或偏差,因此导致了三条轨迹的重合。
图4-7 二维卡尔曼目标跟踪 综合基于匀速直线运动目标的一维、二维卡尔曼滤波跟踪的研究可以看出,在这种运动模型下卡尔曼滤波器无法发挥其优势,因为卡尔曼滤波器适用于处理含有噪声的测量数据和非确定性的运动模型。测量噪声可能也会影响测量值曲线的稳定性。在这种情况下需要增加系统噪声或量测或考虑更复杂的运动模型以及多维的卡尔曼滤波器。
匀加速运动是一种常见的物体运动形式,如物体在重力作用下的自由落体运动等。研究匀加速运动卡尔曼滤波目标跟踪能够探索在实际场景中对运动物体进行更精确跟踪的方法,以及更好地理解卡尔曼滤波算法的应用和局限性,并且可以为实际应用中的目标跟踪提供一定的参考和指导。对无噪声条件下匀加速运动目标进行卡尔曼滤波目标跟踪如图4-8所示:
图4-8 匀加速卡尔曼目标跟踪
在匀速直线运动模型研究的基础上,状态转移矩阵和加速度的控制输入矩阵被更新为反映匀加速度模型。协方差矩阵和测量噪声方差被设置为1和0,因为在无噪声的情况下,噪声对卡尔曼滤波结果没有影响。由图可以看出卡尔曼滤波器能够正确地跟踪匀加速度的运动目标。
对雷达回波数据目标检测出的点进行卡尔曼滤波目标跟踪,已知目标的位置和时间,仿真结果如图4-9图所示,图中红色的线表示真实轨迹,蓝色的线表示卡尔曼滤波跟踪轨迹。可以看出,卡尔曼滤波器可以准确地跟踪目标运动轨迹,与真实轨迹非常接近。在跟踪起始点的周围,由于没有足够先验信息,跟踪结果可能会出现一些抖动,但在跟踪过程中卡尔曼滤波器能够逐步减小估计误差并收敛于目标真实位置。
图4-9 非线性卡尔曼滤波跟踪
卡尔曼滤波器通过将先验信息和测量值进行加权来对目标位置进行估计,并动态调整估计误差。在这个实例中,卡尔曼滤波器使用了运动模型和测量模型,通过动态更新状态和协方差来不断调整估计结果,从而实现了精确的跟踪目标运动轨迹的效果。
此外,为了对比跟踪效果及滤波算法性能,设计程序使用卡尔曼滤波和 滤波两种方法来跟踪一个目标轨迹。卡尔曼滤波、 滤波跟踪轨迹及真实轨迹,三种轨迹的对比如图4-10所示:
图4-10 滤波跟踪对比图
可以看出,两种方法都能够跟踪目标轨迹,但是α-β滤波相对于卡尔曼滤波具有更好的平滑效果。从三种轨迹的对比图中可以看出,卡尔曼滤波和α-β滤波的跟踪轨迹都比实际轨迹平滑,但是α-β滤波的平滑效果更加明显。因此,α-β滤波适用于需要对目标轨迹进行平滑处理的情况,而卡尔曼滤波适用于需要精确跟踪目标轨迹的情况。
(1) 初始状态估计量
(a) [x(1); y(1); 0; 0]
(b) [x(2); y(2); 0; 0]
(c) [1e4; 2e4; 0; 0]
(d) [0; 0; 0; 0] 图4-11 跟踪结果如图4-11所示,由图易看出当初始状态量设置为第一帧或第二帧测量值时,跟踪效果并无明显差异,都能较好的完成目标跟踪任务。但当将初始状态量设置为与测量值相差较大的常数时,随着初始状态量越来越偏离测量值,跟踪结果呈发散状态,并不能较好的完成目标跟踪。为了更加准确地衡量卡尔曼滤波器的性能,使用均方根误差(RMSE)、最大误差、平均误差指标来进行评估,其中,RMSE是衡量卡尔曼滤波器性能的常用指标之一。将真实轨迹与卡尔曼滤波器的估计轨迹进行比较,其中x、y坐标各自的均方根误差、轨迹的最大误差、平均误差如表4-2所示:
由表中数据可以看出当初始状态量设置为初始时刻测量值时跟踪误差是最小的,这与观察图3-1得出的直观结论相同。但由表中数据还可看出,虽然将初始状态量设置为第二帧测量值的跟踪结果直观来看与设置为第一帧相差无几,但实际上均方根误差、最大平均误差都有着较大的差距,然而平均误差相差较小,因此引入收敛时间这一衡量指标对此现象进行研究。
收敛时间是指卡尔曼滤波器从初始状态到达与真实轨迹最接近的状态的时间,通过观察估计轨迹与真实轨迹之间的距离来判断收敛时间。当估计轨迹与真实轨迹之间的距离小于某个阈值时,认为卡尔曼滤波器已经收敛到最优状态。设收敛阈值为0.1,使用布尔变量converged判断滤波器是否已经收敛到最优状态,当converged的值为1时,表示Kalman滤波器已经收敛;当converged的值为0时,表示Kalman滤波器未收敛。
由表4-3可以看出,当设置初始状态量为与测量值相差较大的值时,卡尔曼滤波器未能成功收敛,而当将初始状态量设置为第二帧测量值时,收敛时间相比与设置为第一测量值产生了一个时间步的延迟。 (2) 初始协方差矩阵 使用不同的初始值进行实验,并比较不同情况下的跟踪效果。通过修改 的初始值研究不同初始协方差矩阵下卡尔曼滤波的效果。 以初始协方差 值为1作为对照,分别增大和减小 值,观察初始协方差矩阵对卡尔曼滤波跟踪效果的影响,其中 值为1时的跟踪结果如图4-12所示:
图4-12 将初始状态协方差 值分别设置为0.1和0.01时跟踪效果如图4-13所示:
(a) =0.1
(b) =0.1 图4-13 较小 值跟踪图像 由表4-4可见随着初始状态协方差 数值减小,即对初始状态估计值的信任度增加,均方根误差、最大误差、平均误差值都逐渐增大,跟踪效果变差。
再将初始状态协方差 值分别设置为较大值如10和100,此时跟踪效果如图4-14所示:
(a) =10
(b) =100
由表4-5可见随着初始状态协方差 数值增大,即对初始状态估计值的信任度减小,均方根误差、最大误差、平均误差值均逐渐减小,跟踪效果更好。
初始状态矩阵的设置应该根据具体问题的特点进行选择。在实际应用中,需要通过多次试验和调整,选择最优的初始状态矩阵大小,以达到最佳的跟踪性能。
(3)噪声协方差矩阵 以过程噪声协方差矩阵值为1作为对照,分别增大和减小 值,观察初始协方差矩阵对卡尔曼滤波跟踪效果的影响。将过程噪声协方差矩阵 值分别设置为0.1和0.01时跟踪效果如图4-15所示:
(a) =0.1
(b) =0.01 图4-15 较小值跟踪图像 由图像可直观看出,过程噪声协方差矩阵 中元素减小时,跟踪曲线与实际曲线偏离越来越大,跟踪效果变差,其更为准确的跟踪误差衡量如表4-6所示,过程噪声协方差矩阵元素为0.1及0.01时,各项误差都变大,卡尔曼跟踪效果变差。
将过程噪声协方差矩阵 值分别设置为3和5时跟踪效果如图3-6所示:
(a)=3
(b)=5
图4-16 较大值跟踪图像
由图观察及表4-7中数据可以看出随着过程噪声矩阵值设置值增大,跟踪曲线越来越贴近真实曲线,可以预见如果继续增大矩阵中的元素值,跟踪曲线几乎与真实曲线重合,跟踪误差越来越小,优化了卡尔曼滤波跟踪效果。
量测噪声协方差矩阵 反映了测量设备的不确定性,即测量值与真实值之间的偏差。以量测噪声协方差矩阵 值为1作为对照,分别增大和减小 值,观察初始协方差矩阵对卡尔曼滤波跟踪效果的影响。将过程噪声协方差矩阵 值分别设置为0.8和0.5时跟踪效果如图4-17所示:
(a)=0.8
(a)=0.5
图4-17 较小 值跟踪图像
从图像上来看,跟踪效果差异并不明显,因此计算跟踪误差数据以更为精准地衡量卡尔曼滤波跟踪性能,由表4-8可见,当量测噪声协方差矩阵中的元素减小时,均方根误差、最大误差、平均误差都在减小。因此可知对于此实验数据,量测噪声越小,卡尔曼滤波跟踪效果越好。
再将量测噪声协方差矩阵 值分别设置为1.5和1.8,此时跟踪效果如图4-18所示:
(a) =1.5
(a) =1.8
图4-18 较大值跟踪图像
从跟踪图像结果初步判断,当量测噪声矩阵值较大时,跟踪曲线相对发散,由表4-9中数据亦可看出随着 值不断增大,跟踪误差值增大,跟踪效果变差。
在实际应用当中,存在着多种多样的噪声,可以根据不同种类的噪声大致分为一系列的噪声模型。最常见的有呈正态分布的高斯噪声,此外还有如来自恶意干扰源或设备故障等原因导致的突发脉冲噪声,脉冲噪声通常作用时间短暂,但可能会对信号产生重大影响;由机械系统和传感器的振动或震动引起的振动噪声也可能会对信号产生显著的影响;当信号被数字化时,由于采样和量化的限制引入一定程度的误差而产生的量化噪声;噪声的功率谱密度不平坦,即非均匀分布的彩色噪声;因设备故障或系统失效导致的故障噪声等等。
为了验证卡尔曼滤波算法能够较好的实现低信噪比条件下的目标跟踪,在真实运动轨迹的基础上分别添加不同种类的噪声,并对其进行卡尔曼滤波目标跟踪,其跟踪结果如图4-19所示:
通过观察图4-19中跟踪结果,看到卡尔曼滤波器能够较好地完成了目标跟踪任务,并且能够在添加不同类型的噪声后仍然保持较高的跟踪精度,且曲线连续性较好,具有较好的稳定性。程序中使用了四种不同类型的噪声模型(高斯噪声、泊松噪声、振荡噪声和脉冲噪声),并将它们分别添加到原始信号中。在所有情况下,卡尔曼滤波器能够减少噪声的影响,从而产生更准确的目标位置估计。
验证了卡尔曼滤波是一种基于状态空间模型的最优估计器,具有优秀的抗噪声性能和适应性。在实际应用中,卡尔曼滤波器的性能仍受到多种因素的影响,例如初始状态估计、噪声模型选择、滤波器参数调整等。所以在使用卡尔曼滤波器进行目标跟踪时,需要根据具体情况进行合理的调参和优化,以达到更好的效果。
在目标跟踪领域,卡尔曼滤波和扩展卡尔曼滤波是常用的滤波算法。它们可以在一定程度上对测量噪声和系统建模误差进行补偿,提高目标跟踪的精度。不同的滤波算法在应对不同噪声环境的表现可能存在差异。可以通过对KF和EKF在噪声环境下的性能分析,了解其在不同的环境下的适用性,确定测量噪声方差和状态转移矩阵等滤波参数的合理取值,从而获得更好的滤波效果,进而改进算法,提高跟踪精度。
为了更全面地研究噪声条件下滤波算法的性能,选择了四种实际应用中较常见的噪声模型。分别使用卡尔曼滤波器和扩展卡尔曼滤波器分别对添加泊松噪声、高斯噪声、振荡噪声、脉冲噪声后的数据进行降噪和目标跟踪,并计算跟踪的均方根误差(RMSE)平均绝对误差(MAE)平均欧几里得距离(MSE)。跟踪结果曲线及跟踪误差表格如图4-20至4-23和表4-10至4-13所示:
根据各类型噪声下的跟踪误差数据对比,扩展卡尔曼滤波各类型噪声下的各项跟踪误差均明显优于卡尔曼滤波。由此可知:在降噪方面,卡尔曼滤波器和扩展卡尔曼滤波器都对数据进行了一定程度的降噪。其中,扩展卡尔曼滤波器降噪效果略优于卡尔曼滤波器,但两种滤波器都能够有效减少噪声对数据的影响。
在目标跟踪效果方面,可以看出扩展卡尔曼滤波器具有良好的目标跟踪能力。扩展卡尔曼滤波器可以根据系统的非线性特性对状态转移函数进行线性化,从而在非线性系统中对目标进行跟踪。相比之下,卡尔曼滤波器的线性化假设导致在非线性系统中的跟踪效果不如扩展卡尔曼滤波器。 综上可知,扩展卡尔曼滤波作为一种非线性滤波方法,在噪声环境下能够更好地估计系统状态,具有更好的鲁棒性和可靠性。
雷达目标跟踪软件的设计流程及软件架构如图4-24所示。在主界面可以直接选择跟踪算法实现目标跟踪,也可以选择先对要跟踪的目标进行运动模型判断,经运动模型判断结果选择合适的跟踪算法进行跟踪。
不同的跟踪算法界面包括各自的详细功能,首先进行文件读取,从计算机本地选择要进行跟踪的坐标文件并运行。其中 滤波算法中可以不断调整滤波参数 值来观察比对不同的滤波结果。如果选择了卡尔曼滤波算法或扩展卡尔曼滤波算法进行跟踪,则可以在跟踪界面选择无噪声或具体的噪声种类进行跟踪,实现低信噪比条件下的目标跟踪,并可以得到计算返回的跟踪误差值。
雷达目标跟踪软件分为运动模型判别与跟踪算法选择、 目标跟踪、卡尔曼滤波目标跟踪、扩展卡尔曼滤波目标跟踪四个主要模块。 运动模型判别与跟踪算法选择的界面如图4-25所示。该模块分为四个区域:
区域一:点击“选择文件”按钮,从本地读取待跟踪的运动目标坐标文件,文件路径及文件名称会显示在文本区域。
区域二:显示运行后判别结果。
区域三:在四个绘图框中直观地展示该目标的散点坐标及运动轨迹、速度、加速度曲线。
区域四:根据上述判别结果选择合适的目标跟踪算法。
图4-25 运动模型判别与跟踪算法选择界面
基于 滤波算法的目标跟踪模块如图4-26所示。该模块分为三个区域:
区域一:读取本地坐标文件并显示文件名称及文件路径。
区域二:选择合适的滤波参数 值,运行程序。可通过滑块调整不同的滤波参数 观察跟踪结果。
区域三:显示真实轨迹和跟踪轨迹曲线。
图4-26 目标跟踪界面
卡尔曼滤波目标跟踪和扩展卡尔曼滤波目标跟踪模块分别如图4-27、4-28所示,模块均包括四个区域:
区域一:读取文件并显示文件路径及名称。
区域二:选择无噪声或者添加不同的噪声模型进行目标跟踪。
区域三:显示真实轨迹及跟踪轨迹曲线,如果存在噪声则加入噪声点显示。
区域四:将计算的均方根误差和平均绝对误差(欧几里得距离)跟踪误差指标返回显示在文本框中。
图4-29为雷达目标跟踪软件的主界面,在该界面可以选择先进行目标运动模型判别,也可以直接选择目标跟踪算法进行跟踪。
由图4-30可见,该步骤完成了读取桌面data文件夹中的11.xlsx文件,并判别该目标为非线性运动模型,坐标的散点图和运动轨迹均得到了良好的展示,此外还计算了运动目标的速度和加速度并绘制曲线,使用者可直观的看出该目标运动模型的非线性性。
图4-32 滤波跟踪参数调整
图4-33、图4-34分别展示了无噪声和添加噪声的卡尔曼滤波目标跟踪结果。由图可以看出,在噪声情况不同的条件下,跟踪轨迹与真实轨迹的偏差发生了改变,可以看出噪声点对跟踪结果的影响。根据计算返回的跟踪误差指标可以看出虽然噪声点的存在使得跟踪误差变大,但卡尔曼滤波跟踪仍有较好的降噪效果,较稳定和准确的实现了目标跟踪。
图4-35、图4-36展示了无噪声和添加噪声的扩展卡尔曼滤波目标跟踪结果。
本章首先对前面章节的理论完成了程序实现,仿真了不同滤波算法,不同滤波参数及滤波条件,不同噪声模型下的目标跟踪,并采用一系列跟踪误差指标验证了各滤波算法的目标跟踪性能。在软件设计部分,首先概括总结了雷达目标跟踪软件的需求,之后针对软件需求设计并介绍了不同的模块基本功能,最后对软件的使用流程及运行结果进行了展示。实现了能完成自主选择并读取坐标文件、运动模型判别、跟踪算法选择、参数调整、噪声模型选择、展示跟踪曲线并计算返回跟踪误差功能的雷达目标跟踪软件。
本文针对基于位置信息的雷达目标跟踪展开研究。首先对雷达目标跟踪的主要技术手段进行分析,完成了跟踪目标运动模型判别的理论研究。之后针对传统的滤波算法α-β滤波及卡尔曼滤波展开理论研究,并深入讨论了滤波参数、初始状态、噪声等条件对滤波跟踪的影响。此外为了解决非线性运动模型跟踪问题,引入扩展卡尔曼滤波进行理论学习。最后对以上理论进行了仿真实验并完成了雷达目标跟踪软件的实现。本论文的主要工作及研究成果归纳如下:
本文作者:aurelianolm
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!