一种基于势能和概率选择的北斗选星方法与流程

文档序号:18701866发布日期:2019-09-17 23:01阅读:203来源:国知局
一种基于势能和概率选择的北斗选星方法与流程

本发明属于北斗卫星导航定位领域,具体地说是一种基于势能和概率选择的北斗选星方法。



背景技术:

在北斗卫星导航定位的各种应用中,为了保证定位精度,需要从多颗可观测北斗卫星中选出合适的n(n≥4)颗北斗卫星用于定位解算。从研究中发现,当监测误差一定时,监测点处的卫星和选出用来参与定位的n颗北斗卫星几何关系的差异将直接影响定位精度。北斗卫星导航定位误差方程可表达为:

δx=gdop·δρ

在上式中,δx为位置误差,δρ为监测误差,gdop(geometricaldilutionofprecision)为几何精度衰减因子。几何精度因子值反映了观测处和北斗卫星之间的空间几何关系。在监测误差一定时,几何精度因子值越小,位置误差越小,定位精度越高。

现有的北斗选星方法主要有传统遍历选星算法和几何优化法等。传统遍历选星算法通过遍历所有的北斗卫星组合,选出几何精度因子值最小的n颗北斗卫星作为最佳组合,该算法的定位精度最高,但计算量大,实时性较差,难以适用于高动态观测。蚁群算法作为一种典型的进化算法,是可以用于北斗卫星选择问题的求解的,它通过蚁群的正反馈机制,迭代搜索求解,可以在可接受的时间范围内得到近似最优解。但该算法中的参数设定通常由实验方法确定,导致方法的优化性能与人的经验密切相关,很难使算法性能最优化。



技术实现要素:

本发明为解决上述现有方法中存在的不足之处,提供一种基于势能和概率选择的北斗卫星选择方法,以期能有效提高北斗卫星选择的时效性,同时提高所选北斗卫星组合的定位精度。

为了达到上述目的,本发明所采用的技术方案为:

本发明一种基于势能和概率选择的北斗选星方法,其特点是应用于从观测点处的多颗北斗可视卫星中选择n颗北斗卫星的过程中,并按如下步骤进行:

步骤1、计算可视卫星的方位角和高度角;

步骤1.1、以观测点为原点o,以地球椭球的长半轴为x轴,以地球椭球的短半轴为y轴,以地球椭球的法线为z轴,构建载体坐标系;

利用式(1)得到可视卫星在载体坐标系下的坐标

式(1)中,xzs,yzs,zzs分别表示所述可视卫星在载体坐标系下的x轴坐标值、y轴坐标值和z轴坐标值;xes,yes,zes分别表示所述可视卫星在地心坐标系下的x轴坐标值、y轴坐标值和z轴坐标值;xp,yp,zp分别表示所述观测点在地心坐标系下的x轴坐标值、y轴坐标值和z轴坐标值;h为载体坐标系和地心坐标系的转换矩阵;并有:

式(2)中,bp,lp为观测点的大地纬度和经度;

步骤1.2、利用式(3)和式(4)分别得到所述可视卫星的方位角azs和高度角ezs:

azs=arctan(yzs/xzs)(3)

步骤2、计算n颗北斗卫星的状态矩阵,并构造误差函数;

步骤2.1、假设所选择的n颗北斗卫星组合为n=[s1,s2,…,si,…,sn],则根据步骤1得到n颗北斗卫星的方位角和高度角分别为[a1,a2,…,ai,…,an]和[e1,e2,…,ei,…,en];其中,si表示第i颗北斗卫星,ai表示第i颗北斗卫星的方位角,ei表示第i颗北斗卫星的高度角,i=1,2,…,n;

步骤2.2、利用式(5)计算n颗北斗卫星组合的状态矩阵g(n):

步骤2.3、利用式(6)得到n颗北斗卫星组合n的误差函数gdop(n):

式(6)中,trace(·)函数表示求矩阵的迹;

步骤3、利用基于势能的概率选择算法求解最优北斗卫星组合;

步骤3.1、搭建北斗卫星组合的立体概率模型和方案;

构建一个n维的立体概率模型来表示北斗卫星组合的概率模型,其中,每一维均是由m颗北斗可视卫星构成的集合b={b1,b2,…,bm},bm表示第m颗北斗可视卫星;

令d={d1,d2,…,di,…,dn}表示维度集合,di表示第i个维度;令第i个维度di的状态为a(di),表示从第i个维度di中随机选择的一颗北斗卫星,且a(di)∈b;

用a:d→b表示在所述北斗卫星组合的概率模型中,维度集合d选择m颗北斗可视卫星集合b中的n颗卫星所形成的一种北斗卫星组合方案;

用na表示北斗卫星组合选择方案a中所选择的n颗北斗卫星组合;

步骤3.2、定义l为迭代次数,令lmax为最大迭代次数,并初始化l=1;

步骤3.3、初始化第l次迭代中的n颗北斗卫星组合选择方案;

令a′l=(a′l(d1),a′l(d2),…,a′l(di),…,a′l(dn))表示在第l次迭代中,维度集合d随机选择m颗北斗可视卫星集合b中的n颗卫星所形成的一种北斗卫星组合初始选择方案,则第l次迭代北斗卫星组合初始选择方案a′l中每一维的状态是已知的;

定义可选北斗卫星记录表为r,表示m颗北斗可视卫星集合c中除去北斗卫星组合初始选择方案a′l中已选的可视卫星号数,并定义可选北斗卫星记录表r中的北斗卫星数量为p=m-n;

步骤3.4、初始化i=1;

步骤3.5、定义变量k,并初始化k=1;用rk表示第k次更新后可选北斗卫星记录表,并初始化为rk=r;

步骤3.6、在第l次迭代中,第i个维度di从第k次更新后可选北斗卫星记录表rk中选择第k颗北斗可视卫星,得到第i个维度di的状态al,k(di),并形成第l次迭代中第k次更新第i个维度di的状态al,k(di)的北斗卫星组合选择方案al,k;

利用式(7)获得北斗卫星组合选择方案al,k所对应的势能函数

式(7)中,bi为维度集合d中除去第i个维度di后剩余(n-1)个维度的下标的集合,当i=1时,bi=2,3,…,n;当i≥2时,bi=1,2,…,i-1,i+1,…,n;为维度集合d中除去北斗卫星组合初始选择方案a′l中第i个维度di后剩余(n-1)个维度的所有状态;表示北斗卫星组合选择方案al,k中所选择的n颗北斗卫星组合,表示n颗北斗卫星组合的误差函数几何精度因子值;

步骤3.7、利用式(8)获得第l次迭代中第k次更新第i个维度di的状态al,k(di)的概率ηl,k(al,k(di)):

式(8)中,m为概率选择分布函数中的采样系数,并有m>0;h是调控系数,并有:

式(9)中,hmax为调控系数最大值;

步骤3.8、根据第l次迭代中第k次更新第i个维度di的状态al,k(di),从所述第k次更新后可选北斗卫星记录表rk中除去已选择的北斗卫星号数,得到第k+1次更新后可选北斗卫星记录表rk+1,并将p-1赋值给p;

步骤3.9、判断k<p是否成立,若成立,则将k+1赋值给k,返回步骤3.6;否则,表示得到第l次迭代k次更新第i个维度di的状态的概率集合ηl=(ηl,1(al,1(di)),ηl,2(al,2(di)),…,ηl,k(al,k(di)),…,ηl,p(al,p(di))),并根据概率集合选择第i个维度di中概率最大的一颗可视北斗卫星,用al(di)表示,再执行步骤3.10;

步骤3.10、判断i<n是否成立,若成立,令第l次迭代北斗卫星组合初始选择方案a′l中第i个维度的状态a′l(di)更新为al(di),并将i+1赋值给i,返回步骤3.5;否则,表示得到第l次迭代中维度集合d选择m颗北斗可视卫星集合c中n颗卫星所形成的北斗卫星组合选择方案al,并执行步骤3.11;

步骤3.11、判断l≥lmax,若成立,则表示得到lmax次迭代中维度集合d选择m颗北斗可视卫星集合c中n颗卫星所形成的北斗卫星组合选择方案集合并从北斗卫星组合选择方案集合中选择误差函数几何精度因子值最小的北斗卫星组合选择方案作为最优方案;否则,将l+1赋给l,返回步骤3.3。

与已有技术相比,本发明的有益效果为:

1、本发明构建了一个北斗卫星组合选择的立体概率模型,指出最优北斗卫星组合问题的实质是一个多维且各维之间不独立的组合优化问题,从问题的本质出发,指明了解决北斗卫星组合选择问题的方向,开拓了解决最优北斗卫星组合问题的思路。

2、本发明引入了基于势能的概率选择算法,结合北斗卫星组合选择的优化目标构造了势能函数,以计算各个北斗卫星的选择概率,并依概率完成对北斗卫星组合的优化选择,充分发挥了该算法复杂度低、收敛速度快、性能良好等优点,有效提高了北斗卫星选择的质量和效率。

3、本发明在基于势能的概率选择算法中引入了“自适应调控”改进策略,避免了算法陷入局部最优,更好地收敛到全局最优的北斗卫星选择方案,提高了概率选择算法的收敛性,有效地提升了其性能。

附图说明

图1为本发明方法步骤图;

图2为本发明方法与传统遍历选星算法、蚁群算法在对比实验中的收敛性比较图。

具体实施方式

本实施例中,一种基于势能和概率选择的北斗选星方法,根据优化目标构造了势能函数,以计算各个维度选择北斗卫星的概率,并完成对北斗卫星组合的优化选择。该方法是应用于北斗卫星导航的各种应用中,从多颗可视北斗卫星中选择合适的n颗北斗卫星用于导航解算;可视北斗卫星是指在观测点可以接收到其信号的北斗卫星,通常在某一时刻北斗可视北斗卫星数在15颗左右;合适的n颗北斗卫星是指具有最小几何精度因子值的北斗卫星组合,它们可以保证定位精度;具体的说,如图1所示,该方法是按如下步骤进行:

步骤1、计算可视卫星的方位角和高度角;

步骤1.1、以观测点为原点o,以地球椭球的长半轴为x轴,以地球椭球的短半轴为y轴,以地球椭球的法线为z轴,构建载体坐标系;

利用式(1)得到可视卫星在载体坐标系下的坐标

式(1)中,xzs,yzs,zzs分别表示可视卫星在载体坐标系下的x轴坐标值、y轴坐标值和z轴坐标值;xes,yes,zes分别表示可视卫星在地心坐标系下的x轴坐标值、y轴坐标值和z轴坐标值;xp,yp…zp分别表示观测点在地心坐标系下的x轴坐标值、y轴坐标值和z轴坐标值;h为载体坐标系和地心坐标系的转换矩阵;并有:

式(2)中,bp,lp为观测点的大地纬度和经度;

步骤1.2、利用式(3)和式(4)分别得到可视卫星的方位角azs和高度角ezs:

azs=arctan(yzs/xzs)(3)

步骤2、计算n颗北斗卫星的状态矩阵,并构造误差函数;

步骤2.1、假设所选择的n颗北斗卫星组合为n=[s1,s2,…,si,…,sn],则根据步骤1得到n颗北斗卫星的方位角和高度角分别为[a1,a2,…,ai,…,an]和[e1,e2,…,ei,…,en];其中,si表示第i颗北斗卫星,ai表示第i颗北斗卫星的方位角,ei表示第i颗北斗卫星的高度角,i=1,2,…,n;

步骤2.2、利用式(5)计算n颗北斗卫星组合的状态矩阵g(n):

步骤2.3、利用式(6)得到n颗北斗卫星组合n的误差函数gdop(n):

式(6)中,trace(·)函数表示求矩阵的迹;根据领域知识,误差函数几何精度因子值越小,表示该北斗卫星组合n性能越好。

传统选星算法通过遍历选出几何精度因子值最小的n颗北斗卫星作为最佳组合,计算量大;几何优化算法需要建立参考坐标系并进行大量的矢量运算,复杂度高。所以针对这些问题和困扰,本文引入了基于势能的概率选择算法来选择最优北斗卫星组合。该算法适用于对离散的多维问题进行分布式求解。

北斗卫星组合求解问题就是在所有北斗卫星中找出最优的一个组合,以使所选北斗卫星组合的几何精度因子值最小,属于一类离散组合优化问题。本发明方法应用概率选择算法,引入“自适应调控”策略,使算法逐渐快速收敛到最优或近似最优的一组北斗卫星组合。

步骤3、利用基于势能的概率选择算法求解最优北斗卫星组合;

步骤3.1、构建北斗卫星组合的立体概率模型和方案;

构建一个n维的立体概率模型来表示北斗卫星组合的概率模型,其中,每一维均是由m颗北斗可视卫星构成的集合b={b1,b2,…,bm},bm表示第m颗北斗可视卫星;

令d={d1,d2,…,di,…,dn}表示维度集合,di表示第i个维度;令第i个维度di的状态为a(di),表示从第i个维度di中随机选择的一颗北斗卫星,且a(di)∈b;

用a:d→b表示在所述北斗卫星组合的概率模型中,维度集合d选择m颗北斗可视卫星集合b中的n颗卫星所形成的一种北斗卫星组合方案;

用na表示北斗卫星组合选择方案a中所选择的n颗北斗卫星组合;

步骤3.2、定义l为迭代次数,令lmax为最大迭代次数,并初始化l=1;

步骤3.3、初始化n颗北斗卫星组合;

令a′l=(a′l(d1),a′l(d2),…,a′l(di),…,a′l(dn))表示在第l次迭代中,维度集合d随机选择m颗北斗可视卫星集合b中的n颗卫星所形成的一种北斗卫星组合初始选择方案,则第l次迭代北斗卫星组合初始选择方案a′l中每一维的状态是已知的;

定义可选北斗卫星记录表为r,表示m颗北斗可视卫星集合b除去北斗卫星组合初始选择方案a′l中已选的可视卫星号数,并定义可选北斗卫星记录表r中的北斗卫星数量为p=m-n;

步骤3.4、初始化i=1;

步骤3.5、定义变量k,并初始化k=1;用rk表示第k次更新后可选北斗卫星记录表,并初始化为rk=r;

步骤3.6、第i个维度di从第k次更新后可选北斗卫星记录表rk中选择第k颗北斗可视卫星,得到第i个维度di的状态al,k(di),并形成第l次迭代中第k次更新第i个维度di的状态al,k(di)后得到的北斗卫星组合选择方案al,k;利用式(7)获得北斗卫星组合选择方案al,k所对应的势能函数

式(7)中,bi为维度集合d中除去第i个维度di后剩余(n-1)个维度的下标的集合,当i=1时;bi=2,3,…,n;当i≥2时,bi=1,2,…,i-1,i+1,…,n;为维度集合d中除去北斗卫星组合初始选择方案a′l中第i个维度di后剩余(n-1)个维度的所有状态;表示北斗卫星组合选择方案al,k中所选择的n颗北斗卫星组合,表示的误差函数几何精度因子值;

步骤3.7、概率选择的分布函数如式(8)所示:

式(8)中,x表示系统的一个状态向量,λ表示所有状态向量的集合,则x∈λ,m表示采样系数且m>0,势能函数σ(x)表示状态向量x的势能,0<σ(x)<+∞。可见fm(x)∈[0,1]。

概率选择算法通过以下的方式来更新它的状态向量:假设状态向量x分为c个分量,即x=(x1,x2,…,xc)。设第t次迭代的状态向量为则第t+1次迭代中对任意一个u(u=1,2,…,f),依条件概率分布在状态空间中采样上述条件概率分布可由概率选择分布函数得到。

可以证明,根据以上步骤进行足够多次状态向量的更新,状态向量x(0),x(1),…,x(t),x(t+1),…近似服从目标分布f。这样便实现了从一个给定分布采样随机样本的目标。基于势能的概率选择是一种机制,它确保系统从一个随机的状态向量开始,最终收敛到目标分布如式(8)。由概率选择分布函数可见,某个状态的势能函数值越小,其选择概率越大。

由式(7)和式(8),得到第l次迭代中第k次更新第i个维度di的状态al,k(di)的概率ηl,k(al,k(di)):

式(9)中,m为概率选择分布函数中的采样系数,并有m>0;由式(9)可见,di根据北斗卫星组合选择方案al,k中其余(n-1)个维度的状态来更新自身的状态,即di在已知其余(n-1)维度所选北斗卫星号数的情况下,在b中依概率ηl,k(al,k(di))选择剩下的北斗卫星,完成一次状态更新。同时可见,某个状态对应的势能越低,di选择它的可能性越大。

为了使算法可以更好地收敛到具有全局最低势能的北斗选星方案,引入“自适应调控”策略如式(10)所示:

式(10)中,h是调控系数,并有:

式(11)中,hmax为调控系数最大值;可见,在算法运行初期,求得的最优解仍在进化时,未引入调控系数,不影响第i个维度di选择北斗卫星al,k(di)的概率;当算法所求得的最优解在nccon(nccon为正整数)次循环内没有明显改进时,即出现可能的局部极小情况时,调控作用开始发挥,显著增加第i个维度di的势能从而第i个维度di选择以前选过的北斗卫星的可能性降低,倾向于探索新解;在最优解仍没有改进的情况下调控作用加速增强,使解更易跳出局部极小;另外,为了保证算法的收敛速度,本发明方法引入hmax对调控系数进行控制。

步骤3.8、将第l次迭代中第k次更新第i个维度di的状态al,k(di)后已选择的北斗卫星号数从第k次更新后可选北斗卫星记录表rk中除去,得到第k+1次更新后可选北斗卫星记录表rk+1,并将p-1赋值给p;

步骤3.9、判断k≤p是否成立,若成立,则将k+1赋值给k,返回步骤3.6;否则,表示得到第l次迭代k次更新第i个维度di的状态的概率集合ηl=(ηl,1(al,1(di)),ηl,2(al,2(di)),…,ηl,k(al,k(di)),…,ηl,p(al,p(di))),并根据概率集合选择第i个维度di概率最大的一颗可视北斗卫星后,用al(di)表示,再执行步骤3.10;

步骤3.10、判断i≤n是否成立,若成立,令第l次迭代北斗卫星组合初始选择方案a′l中第i个维度的状态a′l(di)更新为al(di),并将i+1赋值给i,返回步骤3.5;否则,表示得到第l次迭代中维度集合d选择m颗北斗可视卫星集合b中的n颗卫星所形成的北斗卫星组合选择方案al,并执行步骤3.11;

步骤3.11、判断l≥lmax,若成立,则表示得到lmax次迭代中维度集合d选择m颗北斗可视卫星集合b中的n颗卫星所形成的北斗卫星组合选择方案集合并从北斗卫星组合选择方案集合中选择误差函数几何精度因子值最小的北斗卫星组合选择方案作为最优方案;否则,将l+1赋给l,返回步骤3.3。

如图2所示,本发明基于势能的概率选择算法与传统遍历选星算法、蚁群算法在实验中的收敛性比较结果如下:本发明基于势能的概率选择算法和蚁群算法都属于迭代计算方法,设置的最大迭代次数均为220代。由图2可见,本发明基于势能的概率选择算法在第25次迭代时就达到了收敛,计算耗时5.721s;蚁群算法则到了第160次迭代时才达到收敛,计算耗时28.932s,因此本发明方法相对蚁群算法具有较高的算法收敛速度。另外,传统遍历选星算法是一种确定性算法,只计算一次,但由于是遍历性计算方法,因此计算耗时最长,达到了16.105s。

综上,本发明基于势能的概率选择算法收敛速度快,计算耗时少,选星结果近似最优,综合性能突出,因此可以作为一种高效的北斗卫星选择方法加以实际应用。

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