发明名称 一种粒子滤波RAIM方法的FPGA实现方法
摘要 一种粒子滤波RAIM方法的FPGA实现方法,所述方法包含如下步骤:第一步,建立基于粒子滤波的RAIM算法的状态空间模型;第二步,建立基于粒子滤波RAIM算法;第三步,算法的FPGA硬件实现。本发明的优点在于:1、基于粒子滤波的RAIM算法,能够在非高斯非线性的环境中,能够有效的检测出卫星故障和隔离故障卫星。2、传统的算法只存在于理论仿真,本发明能够用FPGA来硬件实现该算法,具有实际的应用价值。
申请公布号 CN104536015B 申请公布日期 2017.04.19
申请号 CN201410747330.7 申请日期 2014.12.09
申请人 沈阳航空航天大学 发明人 王尔申;范云飞;庞涛
分类号 G01S19/23(2010.01)I 主分类号 G01S19/23(2010.01)I
代理机构 沈阳维特专利商标事务所(普通合伙) 21229 代理人 甄玉荃
主权项 一种粒子滤波RAIM方法的FPGA实现方法,所述方法包含如下步骤:第一步,建立基于粒子滤波的RAIM算法的状态空间模型;第二步,建立基于粒子滤波RAIM算法;第三步,算法的FPGA硬件实现具体过程为:高斯随机数发生器产生的高斯随机数,一方面用于产生初始化粒子,另一方面作为重采样模块中使用的随机数,当卫星数目为s时,则需要Q=s+1个粒子滤波模块,其中一个作为主粒子滤波,其余s个作为辅助粒子滤波,粒子状态值模块分别将主粒子滤波和s个辅助粒子滤波部分的初始粒子,带入系统的状态转移方程中,计算得出粒子的预测值,并存入RAM1中,在伪距测量值模块中,存储着从ROM中读取的第i颗卫星的测量伪距值,作为真实值,在伪距预测值模块中,会从RAM1中读取粒子的预测值,从ROM中读取第i颗卫星的位置坐标<img file="FDA0001203162270000011.GIF" wi="203" he="69" />和钟差Δt,此模块中,会将读取的信息带入伪距计算方程,从而得出第i颗卫星的伪距预测值,之后,在权值计算值模块中,以伪距的测量值为参考,从而计算出每个粒子的权值,包括主粒子滤波的每个粒子权值和每个辅助粒子滤波模块的每个粒子权值,为了并行的计算方便,将权值进行归一化后,都存入RAM2中,权值计算结束之后,会分成两路,一路会进行粒子更新,另一路则会进行故障检测,两路并行执行,能有效的提高故障检测的速度和效率,其中一路进行粒子更新,进入重采样模块,重采样模块会从RAM2中读取每个粒子的权值,同时在RAM1中读取权值所对应的每个粒子,进行重采样,剔除权值小的粒子,保留并复制权值大的粒子,存入RAM4中,等待此状态是否进行更新;另一路同时会进入对数似然比计算模块,此模块会从RAM2中读取每个粒子的归一化权值,在MicroBlaze软核中,计算出对数似然比函数,并将计算结果存储在RAM3中,以便逻辑计算核能够快速读取,判决函数计算模块会从RAM3中读取数据,计算出判决函数β<sub>k</sub>,在故障检测模块中,会判断卫星是否出故障,若是未发生故障,则进行粒子更新,会通知重采样模块进行粒子更新,此时会进入下一时刻k=k+1,将重采样的之后的粒子作为初始粒子,送入粒子状态值模块中,再次进行下一时刻的迭代运算,若是故障检测模块检测到卫星故障发生,则会进入判断故障卫星的模块中,计算出故障卫星的序号,输出计算结果,以进行故障卫星的隔离,在计算故障卫星序号的过程中,会同时通知粒子状态值模块,不能接收来自重采样的粒子作为初始粒子,需要再次从高斯随机数发生器产生的高斯粒子作为初始粒子,排除出故障的卫星序号,重新开始进入迭代运算。
地址 110136 辽宁省沈阳市沈北新区道义南大街37号