GPS接收机自主完好性监测算法硬件仿真

2015-10-24 02:20王尔申范云飞张芝贤
探测与控制学报 2015年5期
关键词:权值接收机滤波

王尔申,范云飞,庞 涛,张芝贤

(1.沈阳航空航天大学电子信息工程学院,辽宁沈阳110136;2.北京航空航天大学电子信息工程学院,北京100191)

GPS接收机自主完好性监测算法硬件仿真

王尔申1,2,范云飞1,庞 涛1,张芝贤1

(1.沈阳航空航天大学电子信息工程学院,辽宁沈阳110136;2.北京航空航天大学电子信息工程学院,北京100191)

针对卡尔曼滤波算法在处理GPS接收机非高斯测量噪声性能下降的问题,提出了粒子滤波用于接收机自主完好性监测的算法,并利用FPGA对算法进行仿真。通过将粒子滤波与似然比结合建立一致性检验统计量进而对故障卫星检测与隔离,对算法进行了详细的理论分析和建模,给出了算法的详细描述和仿真方法,在FPGA中采用Verilog编程验证粒子滤波算法用于接收机自主完好性监测的模块设计。结果表明:设计的各个模块运行结果正确,可与Microblaze软核配合完成接收机自主完好性监测算法的全部功能的设计。

GPS;接收机自主完好性监测;粒子滤波;现场可编程逻辑门阵列

0 引言

卫星导航系统的完好性是指当导航系统的误差超过允许限值不能胜任规定的导航性能需求时,系统及时告警通知用户。它是保障飞行安全的导航参数关键指标之一。

完好性监测包括系统级和接收机自主完好性监测。系统级的完好性监测主要是利用地面监测站监测,通过数据链路给用户播发完好性参数等信息[1]。接收机自主完好性监测(receiver autonomous integrity monitoring,RAIM)是利用接收机内部的冗余观测量进行一致性校验的技术实现卫星故障检测和故障识别。其中故障检测是检测卫星是否存在故障,故障隔离是为确定存在故障的卫星并在导航解算中将其剔除。由于RAIM不需要外部设备的辅助,因此,RAIM技术受到了广泛关注和研究。目前,国内外对RAIM理论已经有了深入的研究,比如距离比较法、最小二乘法、奇偶矢量法。奇偶矢量法和最小二乘法得到的检测统计量在实际应用中具有等效性[2-3]。但大部分算法考虑GPS接收机测量噪声为高斯噪声分布,实际上GPS接收机伪距测量噪声不是严格的高斯噪声分布[4],关于RAIM的研究主要集中在理论研究上,硬件实现方面研究的较少。

本文针对非高斯测量噪声的特性,研究粒子滤波算法(Particle Filter,PF)用于RAIM,对算法的FPGA实现进行仿真。

1 粒子滤波RAIM算法

粒子滤波算法又称为序贯蒙特卡罗方法。当样本容量较大时,近似于状态变量真实的后验概率密度函数[5]。粒子滤波对系统的过程噪声和量测噪声没有限制,适用于非线性系统,滤波精度可以逼近最优估计。粒子滤波的误差和模型的失配程度是密切相关的,随着模型失配程度的增大,粒子滤波误差快速增长[6-7]。

GPS接收机的状态空间模型和测量模型可以表示为:

式(1)为系统的状态方程,其中,X=[rx,ry,rz,Δδ],Δδ为接收机相对于卫星时间的误差;F为转移矩阵,在静止状态下为单位矩阵;w为过程噪声。式(2)中(t)为观测历元t由卫星Sj到接收机的测码伪距;c为光速;δti(t)为GPS接收机站钟的钟差(t)和(t)分别为观测历元t电离层折射和大气对流云层折射对测码伪距的影响。其中,为接收机与第i颗卫星之间的实际距离[8]。在接收机中,用于定位解算的卫星位置坐标、伪距ρi和钟差Δt可以从原始观测值中获得。

文中采用粒子滤波算法和似然比方法相结合来实现对卫星故障的检测和隔离[9]。算法的流程描述为:

根据接收机所在坐标(rx,ry,rz)产生N个主PF的初始粒子{(i):i=1,2,…,N}和辅助PF的初始粒子(i):i=1,2,…,N}(i)=(i)。

每个时刻k重复以下步骤:

3)计算LLR

5)故障判决 如果βk>τ(τ为判决阈值),故障告警设置为ta=t时刻并跳转至步骤6);如果βk<τ,则表示没有故障,跳转至步骤7)。

6)故障检测 在k>ta下,取出Q颗卫星中累积LLR最大的卫星子集。

7)状态更新 粒子滤波重采样得到更新粒子。

2 RAIM算法的FPGA仿真

由于算法中涉及大量的计算,选用FPGA来仿真粒子滤波和RAIM结合算法。FPGA具有较好的并行执行能力,对于粒子滤波中的粒子计算有较大的优势,能大大减少计算时间,提高算法的执行效率[10]。同时,考虑到运算中浮点数的计算,利用FPGA中嵌入的Microblaze软核进行设计,并与逻辑计算部分通过数据总线进行接口。

MicroBlaze软核内部有32个通用寄存器R0~R3、2个特殊寄存器程序指针(PC)和处理器状态寄存器(MSR)、1个移位单元和两级中断响应单元等基本模块,还具有3/5级流水线、桶形移位器、内存管理/内存保护单元,浮点单元(FPU)、高速缓存、异常处理和调试逻辑等根据性能需求和逻辑区域成本任意裁剪的高级特性,极大地扩展了MicroBlaze的应用范围。MicroBlaze软核与FPGA逻辑设计部分相结合,能极大地方便算法的设计和实现。粒子滤波RAIM算法实现的整体结构框图如图1所示。

图1 粒子滤波RAIM算法实现整体结构框图Fig.1 PF RAIM structure block diagram

由于FPGA处理浮点数以及数学公式有所限制,设计中采用MicroBlaze软核实现浮点数以及数学公式的运算。

粒子滤波RAIM算法实现包括MicroBlaze软核部分和逻辑运算部分,其中MicroBlaze软核部分包括权值计算和对数似然比计算。在进行权值计算过程中含有指数运算,对数似然比计算中含有对数运算,因此,使用MicroBlaze软核更能发挥其运算处理方面的优势,易于实现。算法的逻辑运算部分,包括噪声产生模块、粒子状态计算模块、重采样模块和故障检测模块等,这些模块涉及到矩阵计算、求和等采用Verilog HDL直接编程实现,以发挥FPGA硬件计算、并行执行的优势,进而提高计算效率。

算法运算中的数据需要将浮点数在符合所需的精度下转化为定点数计算,逻辑部分对于定点数的计算有很强的处理能力。整个算法中需要注意MicroBlaze软核部分和逻辑部分的数据处理速率,增加相应的数据缓存器来进行数据的暂存,以保证数据速率上的同步。模块处理结束的数据存储在随机存储器(RAM)中,在RAM中设有共享的RAM空间区域,用于MicroBlaze软核和FPGA逻辑部分之间进行数据交换。

2.1 重采样算法模块的FPGA仿真

在粒子滤波算法中,随着迭代次数的增加,粒子的重要性权值的方差会越来越大。大部分粒子的权值会变得非常小直到变为0,而仅有少量的粒子权值会变得较大,产生粒子退化现象。这不仅会浪费计算时间,还会使得粒子集不能有效地表示当前的后验概率密度分布。重采样的思想是去除权值小的粒子,保留并复制那些权值较大的粒子来代替它们,重采样方法能有效地抑制粒子退化问题[11]。重采样算法流程如图2所示。

从图2可以看出,重采样方法描述为:设重采样的粒子数为N,包括两个循环,内外循环次数都为N。算法执行时,随机选取一个介于0和1之间的随机数g,同时将权值和Sum归零。然后,会进入内层循环,每循环一次,对应的粒子权值和进行累加,并与g进行比较。若Sum<g,说明当前的粒子权值较小,此时的粒子可以舍去,继续判断内循环的次数,确定是否继续内循环还是进入下一个的外循环;若Sum≥g,说明当前的粒子权值较大,取出当前的采样粒子,进行外循环次数判断是继续下一次循环采样或重采样完成,最后存储粒子。重采样完成的粒子权值归一化为1/N。粒子滤波重采样模块的FPGA仿真结果如图3所示。

图2 粒子滤波的重采样方法流程Fig.2 PF resampling flow chart

图3 重采样模块的FPGA仿真结果Fig.3 FPGA simulation result of resampling module

在图3中,pout为重采样模块输出端,为计算之后得到的重采样粒子。为将重采样之后的粒子存储到RAM中,需要对RAM指定使能端信号和写入的地址,enparticle为RAM的写使能信号,addrparticles为对应的RAM地址信号端。同时存储到RAM中的还有重采样之后的粒子所对应的权值,addrweight为对应的写入地址信号。clk和rst分别为时钟信号和复位信号端,u[9:0]为算法流程图中所选用的随机数g,为筛选出权值较大的粒子的参考数。

2.2 重采样粒子均值计算模块的FPGA仿真

均值计算模块是指在每一时刻将重采样之后的N个粒子,利用粒子值和粒子权值进行加权平均计算,得出当前时刻状态的最优估计值。均值计算模块的FPGA仿真结果如图4所示。

图4 重采样粒子均值计算的FPGA结果Fig.4 Meau value of resampling partical frlter by FPGA

在图4中,meanout为均值计算模块输出端,计算输出每个时刻粒子的状态估计值。clk和rst分别为时钟信号和复位信号。addr为RAM的读地址信号。cnt、cnt1、sum和xpart为模块内部信号:cnt1根据模块间的时序关系进行延时操作,时钟沿触发本模块工作;cnt为内部计数器,判断当前粒子是否满足仍在当前时刻,当cnt=N时,则进入下一时刻;sum为内部求和运算,为最后的均值输出求和平均;xpart为前一次的重采样粒子值,用于sum求和运算中。仿真结果看出,输出的粒子均值正确,表明FPGA设计的重采样粒子均值计算模块是正确的。

3 结论

在GPS接收机非高斯量测噪声环境下,提出了粒子滤波算法与对数似然比有机结合用于GPS接收机自主完好性监测的算法。给出了粒子滤波RAIM部分功能的设计和仿真结果,在Xilinx的FPGA开发环境ISE下用Verilog HDL编程进行了仿真,结果表明各模块设计合理,结果正确。设计中在FPGA实现粒子滤波RAIM的逻辑部分功能,在其软核Microblaze中实现运算部分功能,结合了FPGA并行处理和运算方面的优势,为粒子滤波RAIM算法嵌入到GPS接收机中提供了支撑。本文对粒子滤波RAIM算法的硬件实现具有一定的参考价值。

[1]徐肖豪,杨传森,刘瑞华.GNSS用户端自主完好性监测研究综述[J].航空学报,2013,34(3):451-463.

[2]孙国良,孙明菡,陈金平.时-集综合的接收机自主完好性监测方法研究[J].航宇学报,2006,27(6):1171-1175.

[3]杨静,张洪钺.卫星故障诊断的最优奇偶向量法[J].航空学报,2002,23(2):183-188.

[4]Sayim I,Pervan B,Pullen S,et al.Experimental and theoretical results on the LAASsigma overbound[C]//Institute of Navigation:Proceedings of ION GPS-2002.Manassas,ION,2002.

[5]朱志宇.粒子滤波算法及其应用[M].北京:科学出版社,2010.

[6]VASWANI N.Bound on errors in particle filtering with incorrect model assumptions and its implication for change detection[C]//Proceedings of IEEE International Conference on Acoustics,Speech and signal processing.Canada:Institute of Electrical and Electronics Engineers Inc,2004:729-732.

[7]Li P,Kadirkamanathan V.Particle filtering based likelihood ratio approach to fault diagnosis in nonlinear stochastic systems[J].Systems,Man,and Cybernetics,Part C:Applications and Reviews,IEEE Transactions on.2001,31(3):37-43.

[8]Kaplan E,Hegarty C.Understanding GPS:Principles and Applications[M].Second Edition.USA:Artech House,Inc,2006:239-264.

[9]Rosihan,Arif I,Sebum C,et al.Particle Filtering Approach to Fault Detection and Isolation for GPS Integrity Monitoring[C]//Proceedings of ION GNSS 19th International Technical Meeting of the Satellite Division.USA:ION, 2006:873-881.

[10]Akshay A,Miodrag B,Sangiin H,et al.Generic Hardware Architectures for Sampling and Resampling in Particle Filters[J].EURASIP Journal on Applied Signal Processing,2005,17:2888-2902.

[11]李善姬,禹爱兰.一种改进重采样的粒子滤波算法[J].电讯技术,2011,51(9):35-42.

Research on Hardware Simulation of GPS RAIM Algorithm

WANG Ershen1,2,FAN Yunfei1,PANG Tao1,ZHANG Zhixian1
(1.School of Electronic and Information Engineering,Shenyang Aerospace University,Shenyang 110136,China;2.School of Electronic and Information Engineering,Beihang University,Beiiing 100191,China;)

In order to overcome the degeneracy phenomenon of Kalman in processing non—Gaussian measurement noise of GPS receiver,the particle filter algorithm was applied into the receiver autonomous integrity monitor algorithm.Simulation was carried out and implemented by FPGA.The fault satellite was detected and isolated by combining log—likelihood ratio with the particle filter,and the algorithm was analyzed and modeled.The algorithm was described in detail,and each module of the algorithm was implemented by Verilog HDL in FPGA.The simulation results showed tha each designed module were effective,and could complete the full functionality of the algorithm by Microblaze soft core and FPGA in hardware design.

global positioning system(GPS);receiver autonomous integrity monitoring(RAIM);particle filter;field programmable gate array(FPGA)

TN967.1

A

1008-1194(2015)04-0062-04

2015-04-27

国家自然科学基金(61101161);航空科学基金(2011ZC54010);辽宁省自然科学基金联合基金(2013024003)

王尔申(1980—),男,辽宁辽阳人,博士,副教授,研究方向:卫星导航、GPS接收机信号处理算法。E-mail:wes2016@126.com。

猜你喜欢
权值接收机滤波
一种融合时间权值和用户行为序列的电影推荐模型
GNSS接收机FLASHADC中比较器的设计
基于5G MR实现Massive MIMO权值智能寻优的技术方案研究
一种宽带低功耗四合一接收机设计
一种面向ADS-B的RNSS/RDSS双模接收机设计
基于EKF滤波的UWB无人机室内定位研究
强规划的最小期望权值求解算法∗
程序属性的检测与程序属性的分类
数字接收机故障维修与维护
一种GMPHD滤波改进算法及仿真研究