一种粒子滤波RAIM方法的FPGA实现方法技术

技术编号:11319986 阅读:51 留言:0更新日期:2015-04-22 09:23
一种粒子滤波RAIM方法的FPGA实现方法,所述方法包含如下步骤:第一步,建立基于粒子滤波的RAIM算法的状态空间模型;第二步,建立基于粒子滤波RAIM算法;第三步,算法的FPGA硬件实现。本发明专利技术的优点在于:1、基于粒子滤波的RAIM算法,能够在非高斯非线性的环境中,能够有效的检测出卫星故障和隔离故障卫星。2、传统的算法只存在于理论仿真,本发明专利技术能够用FPGA来硬件实现该算法,具有实际的应用价值。

【技术实现步骤摘要】
一种粒子滤波RAIM方法的FPGA实现方法
:本专利技术涉及卫星导航定位中的接收机自主完好性监测技术,在航空导航中有着十分重要的作用,是判断导航定位是否可靠的重要方法,尤其涉及的是一种基于粒子滤波的RAIM方法,并用FPGA来进行算法的硬件实现。具体而言,使粒子滤波RAIM方法在实际的硬件电路中实现,能够嵌入到卫星导航接收机中。
技术介绍
:接收机自主完好性监测(ReceiverAutonomousIntegrityMonitor,RAIM),是一种利用冗余观测量进行一致性校验的技术。它能够在导航系统的误差超过允许的限值而不能胜任规定的导航工作时,系统及时报警,通知用户此时卫星导航定位结果不可靠,以利用其他的导航系统为飞机提供位置等信息,从而保证飞行的安全。随着国际航空运输业务量的高速增长,航空飞行器的高精度和完好性服务越来越被人们所重视。受到卫星星历、卫星钟差、电离层和对流层延迟,以及多径效应和接收机热噪声等因素的影响,飞行器所使用的卫星导航系统所估计计算的位置可能超过空域监视所容许的范围,而飞机对误差超限又存在盲视问题,即定位完好问题。由于导航信号来自高空卫星,信号很弱,很容易被刻意的强信号压制,其完好性始终是航空导航所关注的。同时,卫星故障、导航信号获取不及时和有意/无意信号干扰的影响,都会严重影响导航服务和完好性服务的可靠性。尤其在飞行器进离场阶段,需要极高的定位精度,电磁干扰、气象和地理环境等因素可能导致严重的飞行事故。在与生命相关的导航应用服务中,完好性问题非常重要,一旦产生差错故障,后果可能非常严重。因此,随着人们对导航系统的可靠性和安全性的日益关注,完好性监测日益成为研究的热点。目前,RAIM算法包括两大类:一类是利用当前伪距观测值的快照方法,包括最小二乘法、奇偶向量法等;另一类是基于Kalman滤波的RAIM算法。但是两类RAIM算法模型都局限于线性系统,但实际系统通常为非线性的,建模不准会带来残差,使导航系统的可靠性降低。传统的RAIM算法观测模型不完善,未能全面考虑到伪距观测模型简化、噪声统计不准确等复杂因素的考虑,同时对于非高斯非线性的实际系统,已有的RAIM方法也不存在着估计误差大等问题,因此,建立一种有效的RAIM算法模型,并进行硬件实现是很有必要的。
技术实现思路
:针对上述现有技术的缺点,本专利技术提供了一种粒子滤波RAIM方法的FPGA实现方法。为实现上述目的,本专利技术采用的技术方案是:一种粒子滤波RAIM方法的FPGA实现方法,所述方法包含如下步骤:第一步,建立基于粒子滤波的RAIM算法的状态空间模型;第二步,建立基于粒子滤波RAIM算法;第三步,算法的FPGA硬件实现具体过程为:高斯随机数发生器产生的高斯随机数,一方面用于产生初始化粒子,另一方面作为重采样模块中使用的随机数,当卫星数目为s时,则需要Q=s+1个粒子滤波模块,其中一个作为主粒子滤波,其余s个作为辅助粒子滤波,粒子状态值模块分别将主粒子滤波和s个辅助粒子滤波部分的初始粒子,带入系统的状态转移方程中,计算得出粒子的预测值,并存入RAM1中,在伪距测量值模块中,存储着从ROM中读取的第i颗卫星的测量伪距值,作为真实值,在伪距预测值模块中,会从RAM1中读取粒子的预测值,从ROM中读取第i颗卫星的位置坐标和钟差Δt,此模块中,会将读取的信息带入伪距计算方程,从而得出第i颗卫星的伪距预测值,之后,在权值计算值模块中,以伪距的测量值为参考,从而计算出每个粒子的权值,包括主粒子滤波的每个粒子权值和每个辅助粒子滤波模块的每个粒子权值,为了并行的计算方便,将权值进行归一化后,都存入RAM2中,权值计算结束之后,会分成两路,一路会进行粒子更新,另一路则会进行故障检测,两路并行执行,能有效的提高故障检测的速度和效率,其中一路进行粒子更新,进入重采样模块,重采样模块会从RAM2中读取每个粒子的权值,同时在RAM1中读取权值所对应的每个粒子,进行重采样,剔除权值小的粒子,保留并复制权值大的粒子,存入RAM4中,等待此状态是否进行更新;另一路同时会进入对数似然比计算模块,此模块会从RAM2中读取每个粒子的归一化权值,在MicroBlaze软核中,计算出对数似然比函数,并将计算结果存储在RAM3中,以便逻辑计算核能够快速读取,判决函数计算模块会从RAM3中读取数据,计算出判决函数βk,在故障检测模块中,会判断卫星是否出故障,若是未发生故障,则进行粒子更新,会通知重采样模块进行粒子更新,此时会进入下一时刻k=k+1,将重采样的之后的粒子作为初始粒子,送入粒子状态值模块中,再次进行下一时刻的迭代运算,若是故障检测模块检测到卫星故障发生,则会进入判断故障卫星的模块中,计算出故障卫星的序号,输出计算结果,以进行故障卫星的隔离,在计算故障卫星序号的过程中,会同时通知粒子状态值模块,不能接收来自重采样的粒子作为初始粒子,需要再次从高斯随机数发生器产生的高斯粒子作为初始粒子,排除出故障的卫星序号,重新开始进入迭代运算。本专利技术的优点在于:1、基于粒子滤波的RAIM算法,能够在非高斯非线性的环境中,能够有效的检测出卫星故障和隔离故障卫星。2、传统的算法只存在于理论仿真,本专利技术能够用FPGA来硬件实现该算法,具有实际的应用价值。附图说明:图1是基于粒子滤波的故障检测方法。图2是本专利技术的FPGA实现算法的MicroBlaze软核和逻辑核的结构图。图3是本专利技术FPGA实现算法的各模块整体框图。具体实施方式:下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清晰、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。首先介绍如下的概念与定义:1、粒子滤波算法:粒子滤波是一种基于蒙特卡罗和递推贝叶斯的估计统计滤波方法。它依据于大数定理采用蒙特卡罗方法来求解贝叶斯估计中的积分运算,其实质是用由粒子及其权重组成的离散随机测度近似相关的概率分布,并根据算法递推更新离散随机测度。它可适用于任何能用状态空间模型表示的非高斯背景的非线性随机系统,精度可以逼近最优估计,是一种很有效的非线性滤波技术,广泛用于数字通信、卫星导航、金融领域数据分析、统计学、图像处理、计算机视觉、自适应估计、语音信号处理、机器学习等领域。2、重采样:在粒子滤波算法中,随着迭代运算的进行,大部分的粒子权值会变得接近于0,只有很小一部分的粒子权值会很大,出现粒子退化现象。重采样能减少无效样本、增加有效的样本来,即忽略小权值的粒子,保留并复制大权值粒子来代替它们,并使得每个粒子的权值都为相同即为1/N,从而克服粒子退化问题。3、故障检测与隔离:RAIM算法计算出的检测限值超过规定的检测阈值,则认为当前导航系统出现故障,之后计算每颗卫星的检测统计量,并与得到的检测阈值相比较,从而确定出故障的卫星,到以后的导航解算中剔除该卫星,从而达到隔离故障卫星。4、MicroBlaze软核:MicroBlaze软核是一种针对XilinxFPGA器件而优化的功能强大的32位微处理器,是业界最快的软处理器IP核解决方案,支持CoreConnect总线的标准外设集合,具有兼本文档来自技高网
...
一种粒子滤波RAIM方法的FPGA实现方法

【技术保护点】
一种粒子滤波RAIM方法的FPGA实现方法,所述方法包含如下步骤:第一步,建立基于粒子滤波的RAIM算法的状态空间模型;第二步,建立基于粒子滤波RAIM算法;第三步,算法的FPGA硬件实现。

【技术特征摘要】
1.一种粒子滤波RAIM方法的FPGA实现方法,所述方法包含如下步骤:第一步,建立基于粒子滤波的RAIM算法的状态空间模型;第二步,建立基于粒子滤波RAIM算法;第三步,算法的FPGA硬件实现具体过程为:高斯随机数发生器产生的高斯随机数,一方面用于产生初始化粒子,另一方面作为重采样模块中使用的随机数,当卫星数目为s时,则需要Q=s+1个粒子滤波模块,其中一个作为主粒子滤波,其余s个作为辅助粒子滤波,粒子状态值模块分别将主粒子滤波和s个辅助粒子滤波部分的初始粒子,带入系统的状态转移方程中,计算得出粒子的预测值,并存入RAM1中,在伪距测量值模块中,存储着从ROM中读取的第i颗卫星的测量伪距值,作为真实值,在伪距预测值模块中,会从RAM1中读取粒子的预测值,从ROM中读取第i颗卫星的位置坐标和钟差Δt,此模块中,会将读取的信息带入伪距计算方程,从而得出第i颗卫星的伪距预测值,之后,在权值计算值模块中,以伪距的测量值为参考,从而计算出每个粒子的权值,包括主粒子滤波的每个粒子权值和每个辅助粒子滤波模块的每个粒子权值,为了并行的计算方便,将权值进行归一化后,都存入RAM2中,权值计算结束之后,会分成两路,一路会进行粒子更新,另一路则会进行故障检测,两路并行执行,能有效的提高故障检测的速度和效率,其中一路进行粒子更新,进入重采样模块,重采样模块会从RAM2中读取每个粒子的权值,同时在RAM1中读取权值所对应的每个粒子,进行重采样,剔除权值小的粒子,保留并复制权值大的粒子,存入RAM4中,等待此状态是否进行更新;另一路同时会进入对数似然比计算模块,此模块会从RAM2中读取每个粒子的归一化权值,在MicroBlaze软核中,计算出对数似然比函数,并将计算结果存储在RAM3中,以便逻辑计算核能够快速读取,判决函数计算模块会从RAM3中读取数据,计算出判决函数βk,在故障检测模块中,会判断卫星是否出故障,若是未发生故障,则进行粒子更新,会通知重采样模块进行粒子更新,此时会进入下一时刻k=k+1,将重采样的之后的粒子作为初始粒子,送入粒子状态值模块中,再次进行下一时刻的迭代运算,若是故障检测模块检测到卫星故障发生,则会进入判断故障卫星的模块中,计算出故障卫星的序号,输出计算结果,以进行故障卫星的隔离,在计算故障卫星序号的过程中,会同时通知粒子状态值模块,不能接收来自重采样的粒子作为初始粒子,需要再次从高斯随机数发生器产生的高斯粒子作为初始粒子,排除出故障的卫星序号,重新开始进入迭代运算。2.如权利要求1所述的一种粒子滤波RAIM方法的FPGA实现方法,其特征在于,所述第一步建立基于粒子滤波算法的状态空间模型的具体过程为:粒子滤波算法采用的模型为状态空间模型,基本粒子滤波算法状态模型:状态转移方程xk=fk(xk-1,vk-1)测量方程zk=hk(xk,nk-1)在式中,xk为状态向量,zk为测量向量,vk-1为系统噪声,nk-1为观测的环境噪声,两者均为一种随机误差,且相互独立,fk为状态转移函数,hk为状态向量和观测向量之间的传递函数,由于系统模型是非线性的,状态转移函数fk和传递函数hk也为非线性函数,在非线性的高斯噪声环境下,粒子滤波算法的最关键问题是要获得先验与后验的分布密度函数,并进行预测同时再求出它们的数字特征;在基于粒子滤波的RAIM算法中,同样也使用类似的状态空间模型的方法来建立模型,接收机的状态转移方程:Xk=Fk-1Xk...

【专利技术属性】
技术研发人员:王尔申范云飞庞涛
申请(专利权)人:沈阳航空航天大学
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1