一种自适应混沌粒子群优化的组合导航选星方法与流程

文档序号:15555604发布日期:2018-09-29 01:02阅读:211来源:国知局

本发明涉及面向多星座卫星导航系统的选星方法研究,在多星座卫星导航系统下,如果利用全部可见卫星进行定位,将使得导航的实时性难以保证。为此,需要从可见的多颗卫星中选出较优的一组用于定位,使得导航定位的精度和实时性都较好,此时就需要研究快速有效的选星方法,鉴于此,本发明提供了一种自适应混沌粒子群优化的组合导航选星方法。



背景技术:

选星,就是在定位之前粗略判别接收机所在位置的可见星分布从中选择几何精度衰减因子(gdop)值最小的可见星组合进行信号接收和定位解算。在诸多可见卫星当中如何快速准确选择gdop值最小的可见星组合,用以满足接收机的实时性要求成为目前研究的一项关键问题。

随着美国的全球定位系统(globalpositioningsystem,gps)、俄罗斯的格洛纳斯(glonass)、欧盟的伽利略(galileo)以及中国的北斗(beidou)的发展,可用的卫星数目显著增加,这些星座的组合将使用户的卫星几何结构得到改善。丰富的导航信号源为改善导航定位各项性能提供了条件,同时也对传统算法提出了新的要求。其中,导航冗余信号源增加了接收机的信号处理负担,在多星座卫星导航系统下,如果利用全部可见卫星进行定位,将使得导航的实时性难以保证。为此,需要从可见的多颗卫星中选出较优的一组用于定位,使得导航定位的精度和实时性都较好,此时就需要研究快速有效的选星算法。

选星算法主要以用户与可见卫星组合的空间几何分布为衡量标准。针对用户与可见卫星组合的空间几何分布特性的表征,精度因子是应用最广泛的参数。其中,几何精度因子(geometricdilutionofprecision,gdop)与用户到卫星的几何结构有关,其值越小,空间几何分布特性越好,定位精度也就越高。目前,研究者对快速选星算法的研究内容主要集中于三个方面:gdop的计算、基于几何分布的快速选星算法和基于遗传算法的选星算法,这些算法都在不同程度上减少了选星的计算量,快速得到有效的选星结果。但其方法复杂,需要调整的参数较多,对方法的实用性仍需要进一步探索。



技术实现要素:
:本发明首次将pso算法应用到接收机选星上,建立pso选星模型,通过引入自适应权重和基于混沌机制的局部搜索,提高算法的全局搜索能力,为快速选星方法提供了新思路。

发明内容

为实现上述目的,本发明采用的技术方案是提供了一种自适应混沌粒子群优化的组合导航选星方法,包含如下步骤:

第一步,根据导航电文和观测文件提取当前时刻接收机观测到的可见星,对可见星进行编号,按照选星颗数分组,然后从全部分组中随机选取n个组合,形成初始种群;

第二步,确定评价粒子的适应度函数;

第三步,通过粒子群优化算法中的速度-位移模型不断更新粒子的速度和位置,直到搜索到满足条件的可见星组合。

进一步地,第一步中,利用观测文件和导航电文数据,按照5°遮蔽角,提取当前时刻接收机得到的可见星,并且结合卫星状态信息剔除不可用卫星。

进一步地,对于可见星的提取方法具体如下:(1)读取导航电文,将每颗卫星的坐标点以地心地固坐标系中的x、y、z表示;(2)将接收机位置坐标转化为地心地固坐标系中的x、y、z值,然后与卫星坐标值作差,计算出各卫星的仰角和方位角;(3)提取仰角大于5°的卫星。

进一步地,设接收机接收到的可见星为n颗,预从中选取m颗空间结构较好的可见星用于定位解算,对当前时刻接收机观测到的所有可见星进行随机排列,然后将可见星从1,…,n依次连续编码,其中n为正整数,并在后续运算中保持不变;将n颗可见星按照每m颗为一组进行组合,这样就形成种可见星组合;每种组合被视为一个粒子;设定种群中有m个粒子,从种可见星组合中随机选取m个,形成初始种群;初始种群g0={x0i}(i=1,…m),种群中每个粒子x0=[x0,1,x,0,2,...,x,0,m],m为选星颗数,x为所选卫星的编号;初始化速度v0=[v0,1,v0,2,...,v0,m],v0,1=v0,2=...=v0,m=0,下标“0”表示粒子经过0次迭代,即为初始位置和速度。

进一步地,为了避免粒子群优化算法搜索结果陷入局部最优,在初始化种群过程中引入了混沌序列;基于混沌序列的优化主要包括两个关键步骤:(1)将混沌空间映射到优化问题的解空间;(2)利用混沌动态特性来实现对解空间的搜索;logistic映射表示为

zi+1=f(zi)=μzi(1-zi)i=0,1,2,…

这里,zi∈(0,1),当并且μ=4时,logistic映射产生的序列呈现混沌的动态特征,初始变量的微小变化将导致后续轨道的不同;

首先生成(0,1)的随机数zi,然后根据上述公式更新zi,最后根据公式ci=cimin+zi(cimax-cimin),将混沌空间映射到待优化的解空间。

进一步地,所述第二步确定评价粒子的适应度函数的具体过程为:

接收机伪距观测方程为:

导航接收机的位置(xu,yu,zu)由卫星位置(xj,yj,zj)和伪距ρj确定,j=1,2,…,n,n为当前时刻接收机接收到的可见卫星总数;式中,ρj为伪距观测值,c为光速,tu为接收机相对于gps系统时的超前时间,tj为第j颗卫星的时钟相对于gps系统时的超前时间,ερ为伪距的观测噪声,包括电离层、对流层延迟及多径效应引起的延迟等;

量测量选取为:卫星位置坐标(xj,yj,zj)、伪距ρj和时间误差tu-tj,都可从量测数据中提取;

在定位解算过程中,需要将伪距观测方程线性化,并用迭代线性最小二乘法求解,假设bds/gps双模接收机能接收到m颗gps卫星,k颗bds卫星,即可产生m+k个观测量,形成大地坐标系下的观测矩阵:

其中,(ej,nj,uj)是接收机近似位置指向第j颗卫星单位矢量的方向余弦,下标g代表gps星座,可见星数目为1,…,m;下标b代表bds星座,可见星数目为1,…,n;

几何精度因子(geometricdilutionofprecision,gdop)可定义为协方差矩阵的迹的平方根,即

选星算法主要以用户与可见卫星组合的空间几何分布为衡量标准与用户到卫星的几何结构有关,其值越小,空间几何分布特性越好,定位精度也就越高。因此,本方法中采用的适应度函数是可见星组合的gdop值,记为微粒的目标值ft,i,下标“t”为粒子经过t次迭代;将初始种群中的粒子依次代入适应度函数中,得出各粒子的适应度值;令种群中适应度值gdop最小的微粒为初始最佳群体位置gbest,各微粒本身位置gt,i为最初最佳位置。

进一步地,所述第三步算法具体为,初始种群g0={x0i}(i=1,…m),初始种群中每个粒子的位置x0=[x0,1,x,0,2,...,x,0,m],速度v0=[v0,1,v0,2,...,v0,m],m为选星颗数,以及适应度函数ft,i=gdopi;通过适应度函数评价各微粒的适应值,确定t次迭代每个微粒所经过的最佳位置pi=[pi1,pi2,...,pid]以及在群体中所发现的最佳位置,再按如下公式分别更新各微粒的速度和位置:

vi,j(t+1)=ωvi,j(t)+c1r1[pi,j-xi,j(t)]+c2r2[pg,j-xi,j(t)]

xi,j(t+1)=xi,j(t)+vi,j(t+1),j=1,…,d

其中,ω为惯性权因子,c1和c2为正的加速常数,r1和r2为0到1之间均匀分布的随机数;另外,通过设置微粒的速度区[vmin,vmax]和位置范围[xmin,xmax],则可以对微粒的移动进行适当的限制;

ω通常是从0.9到0.4线性递减的,在迭代过程中,被表达为其中,ωmax、ωmin分别为最大和最小惯性系数;it、maxit分别为当前迭代次数及最大迭代次数;加速因子c1和c2分别调节向pi,j和pg,j方向移动的最大步长,本方法中采用与ω类似的方式,在迭代过程中,其值不断变化,以提高算法的全局搜索能力;迭代次数多于最大迭代次数maxit时,终止迭代。

本发明的优点在于:

1、基于粒子群优化的双星座选星算法,能够快速实现bds/gps双星座选星,并且结果满足接收机定位精度;

2、粒子群优化算法是一种有潜力的神经网络算法,与其它优化算法相比,具有所需调节的参数少,容易实现等特点。将粒子群优化应用到接收机选星过程中,对后续的多星座选星研究及应用,具有实际的参考价值。

附图说明

图1是本发明实现算法的各模块整体框图;

图2是微粒位置更新示意图;

图3是本发明的程序设计流程图;

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

首先介绍如下的概念与定义:

1、粒子群优化(particleswarmoptimization,pso)方法:是一种基于群体智能的随机寻优方法。它模仿鸟类的觅食行为,将问题的搜索空间类比于鸟类的飞行空间,将每只鸟抽象为一个微粒,用以表征问题的一个候选解,优化所需要寻找的最优解则等同于要寻找食物。作为一种通过对自然界中生物捕食现象的模拟而提出的群体优化算法,pso算法可通过种群间个体的合作与竞争来实现对优化问题的求解。目前该方法已在神经元网络训练、电力系统、通信、图像处理等领域中得到成功应用,随着算法的成熟,其应用范围也在逐渐被拓宽。

2、自适应混沌微粒群优化方法:是在粒子群优化方法的基础上拓展的,为了解决粒子群优化方法的搜索结果容易陷入最优的问题,而引入自适应参数和混沌搜索。自适应参数可以理解为算法在迭代过程中,算法的关键参数有所改变,以提高算法的全局搜索能力;混沌搜索因其轨道遍历性,能够避免算法陷入局部最优,是目前最为常见的改进方法。

3、选星:理论上是在定位之前粗略判别接收机所在位置的可见星分布从中选择几何精度衰减因子(gdop)值最小的可见星组合进行信号接收和定位解算。在实际应用中,选星需要保持定位精度和运算量之间的平衡。

本发明提供的一种自适应混沌粒子群优化的组合导航选星方法,具体步骤如下:

第一步,根据导航电文和观测文件提取当前时刻接收机观测到的可见星,对可见星进行编号,按照选星颗数分组,然后从全部分组中随机选取n个组合,形成初始种群。

如图1所示,首先利用观测文件和导航电文数据,按照5°遮蔽角,提取当前时刻接收机得到的可见星,并且结合卫星状态信息剔除不可用卫星。其中包括:(1)读取导航电文,将每颗卫星的坐标点以地心地固坐标系中的x、y、z表示;(2)将接收机位置坐标转化为地心地固坐标系中的x、y、z值,然后与卫星坐标值作差,计算出各卫星的仰角和方位角;(3)提取仰角大于5°的卫星。根据以上步骤得出当前时刻接收机得到的可见星数目和可见星编号。

假设当前时刻,接收机接收到的可见星为n颗,预从中选取m颗空间结构较好的可见星用于定位解算。对当前时刻接收机观测到的所有可见星进行随机排列,然后将可见星从1,…,n(n为正整数)依次连续编码(注:这一步骤中提到的编码,是对当前时刻可见星进行重新连续编码,与上一段提到的卫星编号不同,它们是相互对应的关系,即可通过编码找到卫星编号),并在后续运算中保持不变。将n颗可见星按照每m颗为一组进行组合,这样就形成种可见星组合;每种组合被视为一个粒子,设定种群中有m个粒子(本方法中m=100),从种可见星组合中随机选取m个,形成初始种群。初始种群g0={x0i}(i=1,…m),种群中每个粒子x0i=[x0,1,x,0,2,...,x,0,m],m为选星颗数,x为所选卫星的编号。初始化速度v0=[v0,1,v0,2,...,v0,m],v0,1=v0,2=…=v0,m=0,下标“0”表示粒子经过0次迭代,即为初始位置和速度。

经反复试验得出结论:为了避免粒子群优化算法搜索结果陷入局部最优,在初始化种群过程中引入了混沌序列。

基于混沌序列的优化主要包括两个关键步骤:(1)将混沌空间映射到优化问题的解空间;(2)利用混沌动态特性来实现对解空间的搜索。logistic映射表示为

zi+1=f(zi)=μzi(1-zi)i=0,1,2,…

这里,zi∈(0,1),当并且μ=4时,logistic映射产生的序列呈现混沌的动态特征,初始变量的微小变化将导致后续轨道的巨大不同。

首先生成(0,1)的随机数zi,然后根据上述公式更新zi,最后根据公式ci=cimin+zi(cimax-cimin),ci表示第i种组合,将混沌空间映射到待优化的解空间(本发明中cimin取值为1,cimax取值为)。

第二步,确定评价粒子的适应度函数:

接收机伪距观测方程为:

导航接收机的位置(xu,yu,zu)由卫星位置(xj,yj,zj)和伪距ρj(这里,j=1,2,…,n,n为当前时刻接收机接收到的可见卫星总数)。式中,ρj为伪距观测值,c为光速,tu为接收机相对于gps系统时的超前时间,tj为第j颗卫星的时钟相对于gps系统时的超前时间,ερ为伪距的观测噪声(包括电离层、对流层延迟及多径效应引起的延迟等)。

量测量选取为:卫星位置坐标(xj,yj,zj)、伪距ρj和时间误差tu-tj,都可从量测数据中提取;

在定位解算过程中,需要将伪距观测方程线性化,并用迭代线性最小二乘法求解,假设bds/gps双模接收机能接收到m颗gps卫星,k颗bds卫星,即可产生m+k个观测量,形成大地坐标系下的观测矩阵:

其中,(ej,nj,uj)是接收机近似位置指向第j颗卫星单位矢量的方向余弦,下标g代表gps星座,可见星数目为1,…,m;下标b代表bds星座,可见星数目为1,…,n。

几何精度因子gdop可定义为协方差矩阵的迹的平方根,即

选星算法主要以用户与可见卫星组合的空间几何分布为衡量标准与用户到卫星的几何结构有关,其值越小,空间几何分布特性越好,定位精度也就越高。因此,本方法中采用的适应度函数是可见星组合的gdop值,记为微粒的目标值ft,i,下标“t”为粒子经过t次迭代。将初始种群中的粒子依次代入适应度函数中,得出各粒子的适应度值。令种群中适应度值(gdop)最小的微粒为初始最佳群体位置gbest,各微粒本身位置gt,i为最初最佳位置pbest。

第三步,通过粒子群优化算法中的速度-位移模型不断更新粒子的速度和位置,直到搜索到满足条件的可见星组合:

从上述的步骤中,可得到初始种群g0={x0i}(i=1,…m),初始种群中每个粒子的位置x0=[x0,1,x,0,2,…,x,0,m],速度v0=[v0,1,v0,2,…,v0,m],(m为选星颗数)以及适应度函数ft,i=gdopi。通过适应度函数评价各微粒的适应值,确定t次迭代每个微粒所经过的最佳位置(pbest)pi=[pi1,pi2,…,pid]以及在群体中所发现的最佳位置(gbest),再按如下公式分别更新各微粒的速度和位置。

vi,j(t+1)=ωvi,j(t)+c1r1[pi,j-xi,j(t)]+c2r2[pg,j-xi,j(t)]

xi,j(t+1)=xi,j(t)+vi,j(t+1),j=1,…,d

其中,ω为惯性权因子,c1和c2为正的加速常数,r1和r2为0到1之间均匀分布的随机数。如图2所示,每个粒子根据自身经验和群体经验不断调整自己的位置,以搜索到全局最优解。另外,通过设置微粒的速度区[vmin,vmax]和位置范围[xmin,xmax],则可以对微粒的移动进行适当的限制。位置范围为当前时刻可见星编码的范围,速度范围设置为(-2,2)。

ω通常是从0.9到0.4线性递减的,在迭代过程中,被表达为其中,ωmax、ωmin分别为最大和最小惯性系数;it、maxit分别为当前迭代次数及最大迭代次数;加速因子c1和c2分别调节向pi,j和pg,j方向移动的最大步长,本方法中采用与ω类似的方式,在迭代过程中,其值不断变化,以提高算法的全局搜索能力(cmin=0.5,cmax=2.5);最大迭代次数maxit的取值为50,迭代次数多于50时,终止迭代。

更新过程中的关键问题有两点:一是可见星编号为整数,所以更新过程中必须保证粒子位置中的每个元素都为整数;二是选星颗数为m颗,如果粒子位置中的元素有相同的,选星颗数就会少于m颗,为了保证选星数目,每次更新都必须判断更新后的粒子位置中是否有相同元素。对于第一点,分别对粒子位置和速度中的元素取整就可以了;对于第二点的解决办法是在粒子进入迭代循环后,首先判断每个粒子中是否存在相同的元素。如果存在相同元素,则对粒子中元素从小到大排序,找出相同元素的个数及位置,在与之重复的第k个元素值上加k,然后返回重新判断是否有重复元素,直到该粒子中无相同元素为止,程序整体的设计流程如图3所示。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1