一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于成熟因子投射的卫星导航系统选星方法

2022-11-19 10:01:42 来源:中国专利 TAG:


1.本发明属于卫星导航技术领域,具体涉及一种卫星导航系统选星方法。


背景技术:

2.随着2020年北斗三号全球组网的完成,全天最大可观测卫星数可能超过25颗,绝大多数地区全天可见卫星数在8颗以上,可观测卫星数量基本都在12颗以上。相比而言gps系统全天平均可观测卫星数量也达到6.85颗。卫星导航接收机在进行定位解算时,需要求解三个位置参数和一个时钟偏差参数。因此,接收机需要至少同时观测到4颗卫星才能进行定位解算。可用卫星数目显著增加,这在一定程度上提高了接收机定位精度、可用性以及完好性等指标。但随之而来的是,卫星数越多则计算量越大。因此,当观测卫星数较多时,如何快速并准确地从所有可用卫星中选择4颗卫星用于定位解算,即选星,则成为工程应用中亟需解决的关键问题。
3.对于单系统而言,通常以几何精度因子(gdop)最小或者接近最小值为基础进行选星。当其它因素保持不变时,所选卫星选星方案的gdop值越小,定位解算结果越精确。然而,目前对于如何快速找到合适的卫星组合以达到最小gdop值却没有固定最佳的方法。


技术实现要素:

4.本发明的目的在于克服现有技术的不足,提供一种基于自然猎杀思想与成熟因子投射的单系统遗传选星算法,能够快速地寻找到最优解以及偏差不大的次优解,实现准确快速的选星操作。
5.本发明的目的是通过以下技术方案来实现的:一种基于成熟因子投射的卫星导航系统选星方法,包括以下步骤:
6.步骤1、由可观测星获取初始种群:假设被观测到的卫星总数目为n,将卫星随机排序得到序列x,并依照序列从前至后每四个一组,不足一组的卫星舍去;
7.x={xi,xj,xk,x
l
,

},i≠j≠k≠l
ꢀꢀꢀꢀꢀꢀꢀ
(1)
8.其中,xi∈{1,2,3,

,n},xi表示卫星个体;进行序列分组后得到m个组;
9.将一个组视为一条染色体,组中卫星个体视为基因,由此得到初始种群p0:
10.p0={c1,c2,c3,

,cm}
ꢀꢀꢀꢀꢀꢀꢀ
(2)
11.其中,cm表示第m条染色体,cm={xi,xj,xk,x
l
},m=1,2,

,m;
12.步骤2、对当前种群进行选择操作:首先针对各染色体计算其适应值,以构成染色体的四个基因gdop2值的倒数作为适应度函数:
[0013][0014]
将适应值小于设定下限值l的染色体视为畸形染色体予以淘汰,将适应值最大的染色体视为精英染色体予以直接保留至下一代种群中;其余染色体按照多指针赌盘法进行筛选;
[0015]
步骤3、对筛选后的染色体执行依成熟因子的交叉操作;
[0016]
步骤4、对交叉完成后的染色体执行依成熟因子的变异操作;
[0017]
步骤5、对变异完成后的染色体执行判定操作:若繁衍代数可被设定k整除,则执行步骤6的猎杀操作;若繁衍代数不可被k整除,则执行步骤7的判定操作;
[0018]
步骤6、对满足条件染色体执行猎杀操作,猎杀掉依据适应值从大到下排序的后t染色体,然后执行步骤7;
[0019]
步骤7、进行繁衍判定操作,具体方法为:若繁衍代数小于或等于门限p
max
,则繁衍代数加一并返回步骤2;若繁衍代数大于p
max
,则退出算法流程,并将最后一代视为最优一代;
[0020]
步骤8、得出选星结果:将最优一代中适应值最大的染色体c
best
作为最优的结果,其基因{x
best1
,x
best2
,x
best3
,x
best4
}即是最终选星结果。
[0021]
进一步地,所述步骤2中,多指针赌盘法的具体操作方法为:
[0022]
步骤21、设定被选染色体数量sn;
[0023]
步骤22、依照种群剩余染色体(将被淘汰染色体除外)的适应值构造赌轮wheel:
[0024]
wheel=[w1,w2,

,wr]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0025][0026]
其中,wheel是由不同长度的子区间wi依顺序“连接”构成的赌盘,r表示剩余染色体数量;
[0027]
步骤23、依照sn计算指针间距在wheel中随机选择一个点作为第一根指针g1,然后每隔间距wide插入一根指针;根据各指针所属的子区间得出被筛选得染色体;若被选中的指针gi∈wk,则表明染色体ck被选中。
[0028]
进一步地,所述步骤3具体实现方法为:经筛选后的染色体构成了这一代的所有父体与母体,与生成初始种群一样随机对其排序,此时若总染色体数为奇数,则最后一位染色体不参与交叉操作,但参与后续操作;
[0029]
交叉操作的具体步骤为:
[0030]
步骤31、染色体随机乱序重排;
[0031]
步骤32、计算种群成熟因子:以种群染色体间的相似程度作为成熟因子mf,具体为当前种群前四个基因占比之和:
[0032][0033]
其中,num(
·
)表示
·
的数目,xj,xk,x
l
,xm分别为当前种群中数量最多的前四个基因;
[0034]
步骤33、依成熟因子计算种群交叉概率pc:
[0035]
[0036]
步骤34、按乱序重排后的自然顺序,依次选取两个相邻染色体,前一个染色体中各基因以概率pc同点位与后一个染色体中个基因互换,具体方法为:从区间[0,1]随机选取四个数,与四个基因一一对应;将pc分别与选取的四个数进行比较,若pc大于选取的数,则相邻两个染色体该位置对应的基因互换,否则保持不变。
[0037]
进一步地,所述步骤4具体实现方法为:
[0038]
步骤41、计算种群成熟因子mf;
[0039]
步骤42、依成熟因子计算种群变异概率pm:
[0040][0041]
步骤43、依次遍历每一条染色体,对各染色体进行相同的变异操作,具体方法为:从区间[0,1]随机选取四个数,分别与染色体中四个基因一一对应,若pm比选取的数大,则从基因库x中随机选取一新基因替换原基因,否则保持不变。
[0042]
本发明的有益效果是:本发明提出了一种行之有效的基于自然猎杀思想与成熟因子投射的单系统遗传选星算法,能够快速地寻找到最优解以及偏差不大的次优解,实现准确快速的选星操作。
附图说明
[0043]
图1为本发明的选星流程图;
[0044]
图2为本发明的多指针赌盘法的流程图;
[0045]
图3为本发明交叉操作的流程图;
[0046]
图4为本发明变异操作的流程图。
具体实施方式
[0047]
下面结合附图进一步说明本发明的技术方案。
[0048]
如图1所示,本发明的一种基于成熟因子投射的卫星导航系统选星方法,包括以下步骤:
[0049]
步骤1、由可观测星获取初始种群:假设被观测到的卫星总数目为n,将卫星随机排序得到序列x,并依照序列从前至后每四个一组,不足一组的卫星舍去;
[0050]
x={xi,xj,xk,x
l
,

},i≠j≠k≠l
ꢀꢀꢀꢀꢀ
(1)
[0051]
其中,xi∈{1,2,3,

,n},xi表示卫星个体;进行序列分组后得到m个组;
[0052]
将一个组视为一条染色体,组中每个卫星个体视为一个基因,由此得到初始种群p0:
[0053]
p0={c1,c2,c3,

,cm}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0054]
其中,cm表示第m条染色体,cm={xi,xj,xk,x
l
},m=1,2,

,m;
[0055]
步骤2、对当前种群进行选择操作:首先针对各染色体计算其适应值,以构成染色体的四个基因gdop2值的倒数作为适应度函数,以此评价各染色体的“优劣”:
[0056][0057]
gdop()表示几何因子,将适应值小于设定下限值l的染色体视为畸形染色体予以
淘汰,将适应值最大的染色体视为精英染色体予以直接保留至下一代种群中;其余染色体按照多指针赌盘法进行筛选;在本文中,l取0.001,因为当其为0.001时所选卫星极有可能位置过于接近以致于求解gdop时矩阵接近奇异矩阵。
[0058]
如图2所示,多指针赌盘法的具体操作方法为:
[0059]
步骤21、设定被选染色体数量sn;
[0060]
步骤22、依照种群剩余染色体(将被淘汰染色体除外)的适应值构造赌轮wheel:
[0061]
wheel=[w1,w2,

,wr]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0062][0063]
其中,wheel是由不同长度的子区间wi依顺序“连接”构成的赌盘,r表示剩余染色体数量;
[0064]
将一个圆盘(即该“赌轮”)的各个子区域的面积映射到一条线段(wheel)的子线段(wi)上。wheel长度对应“赌轮”总面积,子区间(wi)的长度对应“赌轮”子区域。也就是说,wheel与wi依靠长度建立概率关系,wi越长,越容易被选中。wi的长度由(5)公式给出。例如,假设剩余四个染色体,wi分别为[0.1,0.2,0.4,0.3],wheel长1。整个wheel对应“赌轮”,wi为四个“子区间”,转换为赌轮分别对应圆心角为36
°
、72
°
、144
°
、108
°
的四个扇形区域。
[0065]
步骤23、依照sn计算指针间距在wheel中随机选择一个点作为第一根指针g1,然后每隔间距wide插入一根指针;根据各指针所属的子区间得出被筛选得染色体;若被选中的指针gi∈wk,则表明染色体ck被选中。
[0066]
步骤3、对筛选后的染色体执行依成熟因子的交叉操作;具体实现方法为:经筛选后的染色体构成了这一代的所有父体与母体,与生成初始种群一样随机对其排序,此时若总染色体数为奇数,则最后一位染色体不参与交叉操作,但参与后续操作;在给出交叉的具体操作之前先给出成熟因子的定义与作用:成熟因子mf是对整个种群在交叉、变异操作后种群染色体变得更加优良的可能性的一种表征。依据当前种群成熟因子的大小对交叉与变异操作进行修改,以引导种群更好的“进化”。
[0067]
如图3所示,交叉操作的具体步骤为:
[0068]
步骤31、染色体随机乱序重排;
[0069]
步骤32、计算种群成熟因子:以种群染色体间的相似程度作为成熟因子mf,具体为当前种群前四个基因占比之和:
[0070][0071]
其中,num(
·
)表示
·
的数目,xj,xk,x
l
,xm分别为当前种群中数量最多的前四个基因;
[0072]
步骤33、依成熟因子计算(投射)种群交叉概率pc:
[0073]
[0074]
步骤34、按乱序重排后的自然顺序,依次选取两个相邻染色体,前一个染色体中各基因以概率pc同点位与后一个染色体中个基因互换,具体方法为:从区间[0,1]随机选取四个数,与四个基因一一对应;将pc分别与选取的四个数进行比较,若pc大于选取的数,则相邻两个染色体该位置对应的基因互换,否则保持不变。
[0075]
例如染色体a表示为[1,3,5,12],染色体b表示为[7,9,15,11],则基因1,3,5,12各自以概率pc与基因7,9,15,11交换,其中1与7,3与9,5与15,12与11同点位;假设任意选取的四个随机数为[0.2,0.1,0.3,0.4],pc=0.25。pc大于0.2和0.1,因此,1与7互换,3与9互换,也就是说a、b交叉后形成:[7,9,5,12]与[1,3,15,11]两个新的染色体。
[0076]
步骤4、对交叉完成后的染色体执行依成熟因子的变异操作;经交叉后的染色体构成了这一代的所有子代,为了更快更好地进行局部搜索有必要对子代(极)少数染色体进行依成熟因子的变异操作。
[0077]
如图4所示,具体实现方法为:
[0078]
步骤41、计算种群成熟因子mf;
[0079]
步骤42、依成熟因子计算(投射)种群变异概率pm:
[0080][0081]
步骤43、依次遍历每一条染色体,对各染色体进行相同的变异操作,具体方法为:从区间[0,1]随机选取四个数,分别与染色体中四个基因一一对应,若pm比选取的数大,则从基因库x中随机选取一新基因(被淘汰的基因也可能被重新选取,体现“贪婪”原则)替换原基因,否则保持不变。
[0082]
步骤5、对变异完成后的染色体执行判定操作:若繁衍代数可被设定k整除,则执行步骤6的猎杀操作;若繁衍代数不可被k整除,则执行步骤7的判定操作;一般而言,自然界动物鲜有“四世同堂”的情况,故而本发明采用k=3;
[0083]
步骤6、对满足条件染色体执行猎杀操作,猎杀掉依据适应值从大到下排序的后t染色体,然后执行步骤7;t为百分数。根据帕累托法则以及考虑到种群的有效发展,建议t的取值范围在[0.15,0.2],本发明取17%。
[0084]
步骤7、进行繁衍判定操作,具体方法为:若繁衍代数小于或等于门限p
max
,则繁衍代数加一并返回步骤2;若繁衍代数大于p
max
,则退出算法流程,并将最后一代视为最优一代;
[0085]
步骤8、得出选星结果:将最优一代中适应值最大的染色体c
best
作为最优的结果,其基因{x
best1
,x
best2
,x
best3
,x
best4
}即是最终选星结果。
[0086]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献