打开文本图片集
摘要:增益修改的卡尔曼滤波(MGEKF)算法在实际应用时,一般使用带有误差的测量值代替真实值进行增益修正计算,导致修正结果也被误差污染。针对这一问题,提出一种基于反向传播神经网络(BPNN)改进的MGEKF算法,该算法使用训练后的神经网络代替MGEKF的增益修正函数。该算法在网络训练阶段,以实际测量值作为神经网络的输入,真实值修正后的结果作为训练目标;在实际应用中,使用网络的输出修正卡尔曼增益。针对移动单站只测向目标定位问题进行了实验,实验结果表明:该算法与扩展卡尔曼滤波(EKF)、MGEKF、平滑增益修改的卡尔曼滤波(sMGEKF)算法相比:定位精度至少提升10%,并且有更强的稳定性。
关键词:增益修改卡尔曼滤波;反向传播神经网络;只测向目标定位
中图分类号:TP393 文献标志码:A
Abstract:In practical application, Modified Gain Extended Kalman Filter (MGEKF) algorithm generally uses erroneous measured values instead of the real values for calculation, so the modified results also contain errors. To solve this problem, an improved MGEKF algorithm based on Back Propagation Neural Network (BPNN), termed BPNNMGEKF algorithm, was proposed in this paper. At BPNN training time, measured values were used as the input, and modified results by true values as the output. BPNNMGEKF was applied to single moving station bearingonly position experiment. The experimental results shows that, BPNNMGEKF improves the positioning accuracy of more than 10% compared to extended Kalman filter, MGEKF and smoothing modified gain extended Kalman filter algorithm, and it is more stable.
Key words:Modified Gain Extended Kalman Filter (MGEKF); Back Propagation Neural Network (BPNN); bearingonly target positioning
0 引言
移动单站目标定位以其设备简单、机动性强、易于实现等特点,越来越多地应用于军事、民事领域。近年来城市中无线干扰源越来越猖獗,给人们生活带来严重影响,车载移动单站只测向(BearingOnly,BO)目标定位是城市中查找干扰源的重要手段,而车载移动站与机载移动站以及高架固定站相比,它高度很低,不容易接收到直达波(Line Of Sight,LOS),另外复杂的城市环境更加剧了这种情况的发生。除了提高测向设备的精度还需要一个可靠的、性能优越的滤波算法[1-2]。
由于BO是一个非线性的问题,为它设计一个滤波方法十分困难,为了简化计算往往将线性滤波器改造后应用于非线性问题,其中扩展卡尔曼滤波(Extended Kalman Filter,EKF)算法就是应用最广的一类。EKF要求非线性问题只取泰勒展开的第一项,舍弃高阶项进行线性化,然而舍弃高阶项带来的偏差会显著降低算法的稳定性。为减小这个影响,Song等[3]提出了增益修改的扩展卡尔曼滤波(Modified Gain Extended Kalman Filter,MGEKF)算法,该算法使用一个修正的卡尔曼增益代替原始的增益,在后来的应用中被证实可以很好地提高EKF的性能。MGEKF在计算新的增益时需要真实的角度值参与运算,但是真实值是无法获取的,所以都是使用测量值代替真实值进行计算。然而测量值含有误差,所以计算结果也会被这个误差污染,出现较大偏差。针对这个问题本文提出一种基于反向传播神经网络(Back Propagation Neural Network,BPNN)改进的MGEKF算法——BPNNMGEKF (Improved MGEKF Based on BPNN)。利用神经网络可以拟合任何相关关系的特性,来拟合实际测量值、误差方差(假设误差服从0均值高斯分布)和使用真实值修正的卡尔曼增益之间的关系,将这个网络替代MGEKF的修正函数,使得修正结果更接近于使用真实值修正的结果,提高算法的精度和稳定性。
1 相关研究
只测向定位算法是无源测向的一种,通过探测目标方向来确定目标位置,这是一个典型的非线性状态估计问题[4-5]。为了简化问题,往往将非线性问题线性化利用线性滤波器进行处理,其中典型的应用就是EKF[6]。从KEF引入测向定位问题后,因为它的优良性能迅速成为了一个热门的研究方向。然而经典的EKF存在一个致命的问题,在线性化时舍弃了泰勒展开的高次项,舍弃的高阶项带来了很大的偏差,这个偏差往往导致滤波发散,为解决这个问题,文献[3]提出了增益修改的卡尔曼滤波算法算法,该算法的基本思想是:如果非线性函数是可以修正的也就是非线性函数可以改写成状态向量的线性形式,那么就可以用真实值对卡尔曼滤波的增益进行修正。后来文献[7]使用更为简洁的方法验证了只测角条件下的MGEKF滤波方程,并经过实验验证MGEKF的正确性和有效性。另外针对EKF这个问题也有其他的一些改进算法,比如文献[8]提出的粒子滤波算法(Particle Filter,PF)通过对非线性问题的等概率取样,获取大量的随机点称之为粒子。理论上如果粒子选择合理可以得到十分精确的结果,然而合理的采样是一个非常困难的问题,并且大量的粒子参与运算会带来很大的运算量。文献[9]提出的UKF(Unscented Kalman filter,UKF)算法可以看作PF的改进,通过精心地选取少量的点代替PF中大量的粒子,同样可以得到精确的后验概率,通常UKF可以近似到二阶泰勒展开。
文献[8-9]提出的算法虽然也能取得了很好的效果,但是都不如MGEKF计算简单、实用性强,因此MGEKF得到了广泛的应用,然而MGEKF仍然存在很多的问题。针对它的问题,也有很多的改进算法,如文献[10]提出的平滑MGEKF(smoothing Modified Gain EKF,sMGEKF)就是将一段时间内的测量值取RTS平滑(RauchTungStriebel smoothing)作为增益修改方程的输入,减小测量误差带来的影响。另外MGEKF在迭代过程中和EKF一样需要计算非线性方程的雅可比(Jacobians)行列式以及测量方程,计算量很大。文献[11]依据迭代扩展卡尔曼滤波(Iterated Extended Kalman Filter,IEKF)算法的思想提出迭代MGEKF(Iterated MGEKF,IMGEKF),以最大后验概率代替近似条件平均,不必计算雅可比行列式,提高运算效率。但是所有使用MGEKF思想的算法,进行增益修改时都需要真实的值进行计算,然而真实值是不能获取的,实际应用中就以测量值代替真实值进行计算,由于测量值是存在测量误差的,这个误差也传递给了修正后的卡尔曼增益,当测量值存在较大误差时会严重影响算法的性能。文献[12-13]指出BPNN有着拟合任意相关关系的特性,实际测量值、测量误差方差和使用真实值修正的卡尔曼增益显然存在某种相关关系,所以本文提出一种以MGEKF为框架,使用BPNN网络代替MGEKF增益修正函数的改进算法算法BPNNMGEKF,用BPNN拟合实际测量值和真实修正值的非线性关系,通过输入测量值得到真实的增益修正结果。下面将对BPNNMGEKF算法的设计进行详细介绍。
2 BPNNMGEKF的算法设计
BPNNMGEKF算法主要分为两步:BPNN训练阶段和BPNNMGEKF迭代定位阶段。在网络训练阶段,获取大量的实验数据,计算出真实的目标角度值,将真实值代入MGEKF的增益修改函数计算得到真实的增益修正值g,然后以实际测量值、误差方差作为BPNN的输入,以g作为训练目标进行网络训练。训练结束后,该网络就能表示测量值、误差方差和g之间的相关关系。在迭代定位阶段,仍然使用MGEKF的框架,只是将BPNN网络的输出作为增益修正结果。下面将对BPNNMGEKF算法进行详细说明。
2.2 BPNN的设计
2.2.1 BPNN的层数选择
Kolmogorov证明通过三层BP神经网络可以近似任何非线性函数[14],另外BPNN隐含层的转换函数(Transfer Function)一般选用Sigmoid函数, 所以可以构建一个三层的、以Sigmoid函数作为隐含层转换函数的BP神经网络来拟测量值和增益修正值的相关关系。
2.2.2 网络输入数量和输出数量
BPNN的输入数量由输入向量的维数决定。通过式(8)和2.1节的分析可以得出BPNN的输入向量为M=[i,i,i,σ],其中i表示实际测量值,(i,i)表示i时刻的目标估计位置,σ表示测量误差方差(假设测量误差服从0均值的高斯分布);输出向量g=[g0,g1],则BPNN的结构示意图如2所示。
2.2.3 隐含层节点的数量
隐含层节点的数量是一个非常重要的参数,如果选择过大,会导致学习结果收敛于局部最小值点或者使网络结构变得十分复杂;如果选择过小则会影响拟合性能。由于没有好的理论来指导隐含层节点数量的选取,所以最常用的就是实验法:选择不同的节点数量训练网络,比较它们学习结果,选取最优的隐含层数量。通过实验验证,BPNNMGEKF选取隐含层节点数为9。
2.2.4 BPNN的学习流程
整个学习流程分为两步:首先,计算网络的训练目标,使用每一步真实的角度值,通过式(9)计算得到真实的增益修正值g=[g0,g1];然后,使用Matlab的BP神经网络工具箱中的newff函数和train函数训练2.2节设计的神经网络[15]。学习完成后,BPNN就可以表示测量值i和增益修正值g之间的关系,此时通过测量值就可得到真实的增益修正值,从而避免了传统MGEKF增益修正算法中测量值的误差污染增益修正值。
3 实验验证
为了检验BPNNMGEK的性能,将其应用于车载移动单站无源测向目标定位中,如图4所示,实验场景选择复杂的城市环境,有大量的非视距传播(NonLineOfSight,NLOS)存在,非常考验算法的性能。车载移动单站出发位置坐标是(115.99541,36.462975)(文中出现的经纬度坐标皆是百度地图坐标,下同),结束位置坐标是(116.026796,36.463704),干扰源位置坐标(此处并没有真正的干扰源,假设正常的广播信号作为干扰源,这不会影响实验的正确性)为(115.995302, 36.488952)。测向车按照图4中的行走路线,以基本恒定的速度行驶,往复测试50次,获取100组学习训练数据。
在汽车行进过程中,根据《无线电监测网传输协议(RMTP)规范》,每秒可获得8组角度值、测向车全球定位系统(Global Positioning System, GPS)坐标数据(需要转化为百度地图坐标)和信号强度,取8组中信号强度最大的一组作为该时刻测向结果; 然后依照上述方式测得40组数据作为性能测试数据; 然后分别使用BPNNMGEKF算法、EKF算法、MGEKF算法以及sMGEKF算法进行定位,比较定位性能。实验步骤如下:
1)按照上述方法获取100组学习数据,和40组测试数据,并根据各自的经纬度坐标计算实际的角度值;
2)根据实际角度值按照式(8)计算增益修改值;
3)使用Matlab按照2.2节的方法训练BPNN;
4)学习结束后,使用40组测试数据对不同算法进行定位测试,统计定位性能。
通过图5可以看出,MGEKF直接用测量值代替真实值计算,使得结果误差很大,并且测量数据有大误差出现时波动很大。sMGEKF对测量值进行RTS平滑处理,一定程度上减小了大误差的影响,没有出现很大的波动,但是这些大误差会影响到附近的点,并将它传播下去,这导致了sMGEKF后期误差距离有轻微的上升。而BPNNMGEKF算法收敛速度很快,误差距离较小。综合比较sMGEKF、BPNNMGEKF和MGEKF,性能都有提升,而BPNNMGEKF性能表现最好。
通过图6可以看出BPNNMGEKF性能要优于其他算法,定位误差在82m左右,而sMGEKF误差在90m左右。EKF算法和MGEKF算法在后期误差呈上升趋势,因为有某些测试数据没有收敛,估计的目标位置远离实际位置,误差持续增大。整体来看,BPNNMGEKF算法和sMGEKF算法要好于MGEKF算法,BPNNMGEKF性能表现最好。
为了验证BPNNMGEKF算法的稳定性,取出使得EKF算法发散的测试数据单独进行实验,实验结果如图7所示,使EKF发散的测试数据是NLOS更普遍存在的情况,通过图7可以看出,所有算法均有不同程度的性能下降。其中纯EKF算法基本已经失去作用,完全不能收敛,而MGEKF算法也有出现了较大的误差,后期误差上升也很明显,说明有较多的测向数据没有收敛。sMGEKF算法虽然性能较为稳定,但是后期误差还有一些上升的趋势,说明有少量发散的情况存在,而BPNNMGEKF性能最为稳定,定位误差也较小;并且BPNNMGEKF算法表现非常稳定,没有误差上升的趋势,说明没有或者只有极少数的测试数据出现发散的情况。综合来看BPNNMGEKF算法在定位精度和稳定性方面都要优于其他算法。
4 结语
传统的MGEKF算法,使用测量值代替真实值修正卡尔曼增益,使得测量误差传播到了修正结果,针对这一问题,本文提出一种基于BPNN改进的卡尔曼增益修改方法,使用BPNN拟合测量值与修正值之间的相关关系,通过测量值和神经网络获取更精确的增益修正结果。新算法仍然使用MGEKF算法的框架,只是使用BPNN代替增益修改函数修正卡尔曼增益。在真实场景下实验表明,新算法有更好的稳定性和定位精度。
参考文献:
[1]STANSFIELD R G. Statistical theory of DF fixing[J]. Journal of the Institution of Electrical Engineers—Part IIIA: Radio Communication, 1947, 94(15): 762-770.
[2]华铁洲, 李冬海, 胡德秀. 改进的单站无源定位方法[J]. 计算机应用, 2010,30(Z1): 27-28.(HUA T Z, LI D H, HU D X. Improved method of single observer passive localization[J]. Journal of Computer Applications, 2010, 30(Z1): 27-28.)
[3]SONG T L, SPEYER J L. A stochastic analysis of a modified gain extended Kalman filter with applications to estimation with bearings only measurements [J].IEEE Transactions on Automatic Control, 1985, 30(10): 940-949.
[4]BLACKRNAN S, HOUSE A. Design and Analysis of Modern Tracking Systems[M]. Boston, MA: Artech House, 1999: 1-24.
[5]BLACKMAN S, WHITE T, BLYTH B, et al. Integration of passive ranging with Multiple Hypothesis Tracking (MHT) for application with angleonly measurements[C]// Proceedings of Signal and Data Processing of Small Targets 2010. Bellingham, WA: SPIE, 2010: 769815.
[6]SPINGARN K. Passive position location estimation using the extended Kalman filter[J]. IEEE Transactions on Aerospace and Electronic Systems, 1987, AES23(4): 558-567.
[7]GALKOWSKI P J, ISLAM M. An alternative derivation of the modified gain function of song and speyer[J]. IEEE Transactions on Automatic Control, 1991, 36(11): 1323-1326.
[8]RISTIC B, ARULAMPALAM S, GORDON N. Beyond the Kalman filter[J]. IEEE Aerospace and Electronic Systems Magazine, 2004, 19(7): 37-38.
[9]WAN E, van der MERWE R. The unscented Kalman filter for nonlinear estimation[C]// Proceedings of the IEEE 2000 Adaptive Systems for Signal Processing, Communications, and Control Symposium. Piscataway, NJ: IEEE, 2000: 153-158.
[10]QIAN Z, SONG T L. Improvement of bearings only target tracking using smoothing[C]// Proceedings of the 2014 IEEE International Conference on Control Science and Systems Engineering. Piscataway, NJ: IEEE, 2014: 1-5.
[11]HUANG Y, SONG T L. Iterated modified gain extended Kalman filter with applications to bearings only tracking[J]. Journal of Automation and Control Engineering, 2015, 3(6):1439-1442.
[12]林盾, 陈俐. BP 神经网络在模拟非线性系统输出中的应用[J]. 武汉理工大学学报: 交通科学与工程版, 2003, 27(5): 731-734.(LIN D, CHEN L. Application of BP neural network to modeling output of nonlinear system[J]. Journal of Wuhan University of Technology (Transportation Science and Engineering), 2003, 27(5): 731-734.)
[13]NERGUIZIAN C, DESPINS C, AFFS S. Geolocation in mines with an impulse response fingerprinting technique and neural networks[J]. IEEE Transactions on Wireless Communications, 2006, 5(3): 603-611.
[14]HAYKIN S. Neural Networks: a Comprehensive Foundation[M]. 2nd Ed. Upper Saddle River: Prentice Hall, 2001:178-269.
[15]闵惜琳, 刘国华. 用 Matlab 神经网络工具箱开发 BP 网络应用[J]. 计算机应用, 2001,21(Z1): 163-164.(MIN X L,LIU G H. Development of BP network application using Matlab neural network toolbox[J]. Journal of Computer Applications, 2001,21(Z1): 163-164.)