一种基于实数编码自适应遗传算法的整周模糊度快速获取方法与流程

文档序号:13511601阅读:281来源:国知局
一种基于实数编码自适应遗传算法的整周模糊度快速获取方法与流程

本发明涉及利用最优化算法求解载波相位整周模糊度的技术领域,具体涉及一种基于实数编码自适应遗传算法的整周模糊度快速获取方法。



背景技术:

随着卫星导航技术的发展,全球各领域的应用不仅对它的依赖度越来越高,而且对定位精度和时效性也有着更高的要求。由于卫星载波相位的原始观测值中含有整周模糊度,所以,直接由观测值所确定的卫星与接收机间的距离并不等于真实距离。但是,一旦整周模糊度被准确的计算出来,就可以得到卫星与接收机间cm甚至mm级精度的距离,从而可以进行cm甚至mm级的定位。因此,整周模糊度固定是高精度定位的关键问题,也一直是卫星导航领域中热点问题。从1981年counselman提出利用载波相位观测值进行高精度定位以来,国内外众多学者一直在研究载波相位定位技术中的整周模糊度解算问题,先后提出了众多整周模糊度解算方法。

按照处理方式不同,整周模糊度的解算方法一般分为基于非搜索(non-search)的解算方法和基于搜索(search-based)的解算方法。基于非搜索的解算方法主要包括基于运动(motion-based)的方法和基于特殊操作的方法。基于运动的模糊度解算方法充分利用了观测设备的移动和观测卫星的变化所带来的有效信息,所以其对卫星和接收机的几何关系有很强的依赖,而基于搜索的解算方法并不依赖于二者的几何关系,因此可以进行快速整周模糊度解算。基于搜索的模糊度解算方法又分为在坐标域内的模糊度搜索方法、在观测域内的模糊度搜索方法和在模糊度域内的模糊度搜索方法。根据解算结果的类型,在模糊度域内的搜索方法又可进一步分为bayesian估计方法和non-bayesian估计方法。模糊度解算方法的具体分类如表1所示。

表1.模糊度解算方法分类表

目前应用最为广泛的就是teunissen提出的利用整数高斯变换对模糊度方差阵进行变换的lambda(least-squaresambiguitydecorrelationadjustment)方法,对方差阵进行变换,缩小模糊度搜索空间,降低各模糊度分量之间的相关性,同时利用条件最小二乘平差逐步递推,最终搜索得到整周模糊度。

遗传算法由美国jholland教授提出,具有内在并行性,全局优化性和稳健性的特点。由于简单遗传算法运行参数交叉概率和变异概率都是恒定不变的,这样容易使得初始设置的交叉概率和变异概率无法满足运算初期和后期的搜索,影响到搜索的速度和效率。iaga算法(improvedadaptivegeneticalgorithm,简称iaga)是在简单遗传算法(simplegeneticalgorithm)的基础上提出的一种改进算法。iaga算法中的运行参数交叉概率和变异概率能够随适应度自动改变,且能在平均适应度和最大适应度之间随sigmoid曲线进行非线性调整,当种群中的大部分个体拥有相近的适应度且平均适应度与最大适应度接近时,大多数个体的交叉率和变异率被提高,且提高的幅度要高于按余弦函数变化的交叉率和变异率;同时,最大适应度附近的个体的模式得到了尽可能多地保留,压低了它们的交叉率和变异率,为这类模式的个体参与交叉配对的概率变大,使算法力求跳出局部收敛。对于很多优化问题,在种群个体处于相当的状况下,拉开靠近平均适应度周围的多数个体,带动演化的前进,这对于摆脱局部收敛,防止算法停滞不前是有积极意义的。



技术实现要素:

本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于实数编码自适应遗传算法的整周模糊度快速获取方法。

本发明的目的可以通过采取如下技术方案达到:

一种基于实数编码自适应遗传算法的整周模糊度快速获取方法,所述的整周模糊度快速获取方法包括下列步骤:

s1、由载波相位观测数据,建立载波相位双差观测方程;

设t时刻,k,i两接收机观测了j,o两颗卫星,则载波相位双差观测方程为:

式中为双差载波相位观测量,为双差整周模糊度,λ为载波波长,r(t)为卫星到接收机的距离,v(t)为残差向量;

s2、将上述载波相位双差观测方程线性化,利用卡尔曼滤波获取整周模糊度的浮点解和相应的协方差阵;

建立常加速度模型下的卡尔曼滤波器,其状态方程和量测方程分别为:

xk=φk,k-1xk-1+γk-1wk-1(2)

zk=hkxk+vk(3)

式中,xk为包含接收机位置参数和双差模糊度的状态向量,φk,k-1为状态转移矩阵,гk为系统噪声矩阵,zk为双差模式下的观测值向量,hk为量测矩阵,vk为观测噪声;

当有t个历元j+1颗卫星时,估计参数的协方差矩阵为:

q=σ2(htm-1h)-1(4)

式中,σ为估计参数的单位权均方差,m为载波相位双差观测量的权矩阵;

在求得的模糊度浮点解的基础上,通过搜索使下面的目标函数最小来求得整周模糊度的固定解n:

s3、利用已知基线长度作为约束条件,确定整周模糊度的搜索范围;

对于长度为l的基线,每个双差整周模糊度nn(n=1,2,...,j)的取值范围都在以浮点解为中心的l米基线范围内,即:

-l/λ≤nn≤l/λ(6)

其中λ为l1载波波长;

s4、利用改进cholesky分解法对步骤s2得出的浮点解及协方差阵进行降相关处理;

通过多次连续执行改进的上三角cholesky分解和下三角cholesky分解实现连续降相关的目的,在进行cholesky分解之前,先对模糊度协方差矩阵的对角线元素进行排序,由最终的转换矩阵z,可以得到变换后的模糊度协方差阵qz和模糊度浮点解

(7)

由式(5)和式(7)可以得到降相关后的目标函数式(8):

s5、根据目标函数确定适应度函数,确定iaga算法中的各个运行参数,将问题进行实数编码,最后利用iaga算法搜索得到整周模糊度的最优解。

进一步地,所述的步骤s5具体包括:

s501、进行实数编码;

s502、选择适应度函数,并引入惩罚函数;

对于目标函数式(8),iaga算法选用下式作为适应度函数:

f(n)=b-lg(g(n))(9)

式中,b为一足够大的正数,保证f(n)>0;

引入惩罚函数,降低违背约束条件个体的适应度,使该个体遗传到下一代群体中的概率减小,在式(9)中引入惩罚函数得到下式:

式中:f′(n)为新的适应度函数,a为惩罚系数;

s503、预先设定iaga算法的运行参数,其中,iaga算法的运行参数包括:种群大小m、遗传算法的终止进化代数t、交叉概率pc、变异概率pm;

s504、将iaga算法应用到对整周模糊度的快速解算,搜索整周模糊度的最优解。

进一步地,所述的交叉概率pc和变异概率pm是随种群中个体的适应度自动改变的,并且能按照个体的适应度在平均适应度和最大适应度之间随sigmoid曲线进行非线性调整,pc和pm如下所示的公式(11),(12)进行自适应调整:

式中,fmax为每代群体中最大的适应度,favg为每代群体的平均适应值,f′为要交叉的两个个体中较大的适应度值,f为要变异个体的适应度。

进一步地,所述步骤s3中l1载波波长λ为19cm。

进一步地,所述步骤s5中惩罚系数a取0.4。

进一步地,所述步骤s5中种群大小m取20。

进一步地,所述步骤s5中终止进化代数t取200。

本发明相对于现有技术具有如下的优点及效果:

(1)本发明采用卡尔曼滤波求解整周模糊度的浮点解具有更高的初始解精度;

(2)本发明采用改进的cholesky分解对整周模糊度的协方差阵进行降相关处理,改善了矩阵的分解效果,有效降低了各整周模糊度分量之间的相关性,提高了模糊度离散搜索效率和质量;

(3)本发明将iaga算法引入到整周模糊度的搜索中,避免了lambda算法求解过程中的复杂计算量,与简单遗传算法相比,也具有更强的收敛能力;

(4)iaga算法编码采用实数编码,避开了二进制编码固有的汉明悬崖问题,简化了所求参数。

附图说明

图1是本发明公开的基于实数编码自适应遗传算法的整周模糊度快速获取方法的流程步骤图;

图2为iaga算法中交叉概率的变化图;

图3为iaga算法中变异概率的变化图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

如图2、图3所示,在iaga算法中,变异概率和交叉概率是随种群中个体的适应度自动改变的,且能按照个体的适应度在平均适应度和最大适应度之间随sigmoid曲线进行非线性调整。当种群中的大部分个体拥有相近的适应度且平均适应度与最大适应度接近时,大多数个体的交叉率和变异率被提高,且提高的幅度要高于按余弦函数变化的交叉率和变异率;同时,最大适应度附近的个体的模式得到了尽可能多地保留,压低了它们的交叉率和变异率,为这类模式的个体参与交叉配对的概率变大,使算法力求跳出局部收敛。iaga算法拥有比余弦改进算法更接近最佳适应度的平均适应度,表明iaga的种群拥有更多的优良解,体现出了较强的自适应性能。

图2和图3中,fmax为每代群体中最大的适应度;favg为每代群体的平均适应度值;f′为要交叉的两个个体中较大的适应度值;f为要变异个体的适应度;pcmax=0.9,pcmin=0.6,pmmax=0.1,pmmin=0.001,a=9.903438。

本实施例具体公开了一种基于实数编码自适应遗传算法的整周模糊度快速获取方法,流程图如图1所示,包括以下步骤:

步骤s1、由载波相位观测数据,建立载波相位双差观测方程;

为了消除载波相位中电离层误差、对流层误差、卫星钟差、接收机钟差等大部分误差,在卫星精密定位中,常采用载波相位双差观察值进行处理。设t时刻,k,i两接收机观测了j,o两颗卫星,则载波相位双差观测方程为:

式中为双差载波相位观测量,为双差整周模糊度,λ为载波波长,r(t)为卫星到接收机的距离,v(t)为残差向量。

步骤s2、将步骤s1得到的观测方程线性化后,利用卡尔曼滤波获取整周模糊度的浮点解和相应的协方差阵;

为方便计算机建模与仿真,将步骤s1的观测方程线性化后,建立常加速度模型下的卡尔曼滤波器。其状态方程和量测方程分别为:

xk=φk,k-1xk-1+γk-1wk-1(2)

zk=hkxk+vk(3)

式中,xk为包含接收机位置参数和双差模糊度的状态向量,φk,k-1为状态转移矩阵,гk为系统噪声矩阵;zk为双差模式下的观测值向量,hk为量测矩阵,vk为观测噪声。根据平差测量原理,当有t个历元j+1颗卫星时,估计参数的协方差矩阵为:

q=σ2(htm-1h)-1(4)

式中,σ为估计参数的单位权均方差,m为载波相位双差观测量的权矩阵。

由于并未加上整周模糊度为整数的约束条件,故由卡尔曼方程得到的整周模糊度是实数,即为无整数约束时模糊度的浮点解在求得的模糊度浮点解的基础上,通过搜索使下面的目标函数最小来求得整周模糊度的固定解n:

其中n为j个双差整周模糊度组成的向量。

步骤s3、利用已知基线长度作为约束条件,确定整周模糊度的搜索范围;

对于长度为l的基线,每个双差整周模糊度nn(n=1,2,...,j)的取值范围都在以浮点解为中心的l米基线范围内,即:

-l/λ≤nn≤l/λ(6)

其中λ=19.03cm,为gps的l1载波。

步骤s4、利用改进cholesky分解法对步骤s2得出的浮点解及协方差阵进行降相关处理;

为了保证遗传算法中各染色体所具有的优良模式不被破坏,在进行搜索求解之前,先对浮点解及其协方差阵进行降相关处理。针对高斯分解去相关存在数值计算不稳定,且运算量是乔里斯基分解的两倍的缺点,发明采用改进的cholesky分解的方法。通过多次连续执行改进的上三角cholesky(udut)分解和下三角cholesky(ldlt)分解实现连续降相关的目的。在进行cholesky分解之前,先对模糊度协方差矩阵的对角线元素进行排序(升序或降序),以减小矩阵的条件数,有效改善矩阵的分解效果,提高模糊度离散搜索效率和质量,由最终的转换矩阵z,可以得到变换后的模糊度协方差阵qz和模糊度浮点解

(7)

由式(5)和式(7)可以得到降相关后的目标函数式(8):

步骤s5、根据目标函数确定适应度函数,确定iaga算法中的各个运行参数,将问题进行实数编码,最后利用iaga算法搜索得到整周模糊度的最优解;

实数编码的iaga算法是一种高效稳健、并行全局的搜索算法,它能简化所求参数,并在搜索过程中自适应地调整遗传算法的交叉概率和变异概率,以求得全局最优解。在求得整周模糊度浮点解及式(6)搜索空间的基础上,通过设计本文的iaga算法,包括编码,设定适应度函数和遗传算子等操作,对式(8)的目标函数进行搜索寻优。

步骤s501、编码;

遗传算法的编码是把问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法。其编码方式主要是二进制编码,而整周模糊度搜索是寻找整数最优解和非线性优化问题,因此实数编码更能反映问题固有的结构特征,且个体长度短,占用计算机内存少,不存在二进制编码中的hamming悬崖问题。在获得整周模糊度的浮点解及其精度后,根据实验,整周模糊度的搜索范围为±10周,整周模糊度的实数编码直接以j个整周模糊度来编码,每个整周模糊度nn(n=1,2,…,j)的实数编码为一个码,整周模糊度的编码串长为j位。由组成初始种群,m为种群大小。

步骤s502、适应度函数;

对于式(8)的目标函数,iaga算法选用下式作为适应度函数:

f(n)=b-lg(g(n))(9)

式中,b为一足够大的正数,保证f(n)>0,对目标函数取对数是为了缩小各整周数组合之间的差值,避免遗传算法早熟,陷入局部最优。

由于整周模糊度的搜索是整数寻优问题,因此在编码过程中会存在个体违背约束条件的情况,即解空间中无对应可行解的个体,考虑到这种群体中个体违背约束条件的情况,引入惩罚函数,降低违背约束条件个体的适应度,使该个体遗传到下一代群体中的概率减小,在式(9)中引入惩罚函数得到下式:

式中:f′(n)为新的适应度函数;a为惩罚系数,本发明取a=0.4。

步骤s503、iaga算法的运行参数;

iaga算法有4个运行参数需要预先设定,即:种群大小m,遗传算法的终止进化代数t,交叉概率pc,变异概率pm;

(1)种群大小m;

种群大小m,即群体中所含个体的数量。如果选择较大的群体规模,可以获得更多的极值点,更易寻到全局最优解,但是降低了搜索的效率。因此,本发明取种群大小m为20。

(2)终止进化代数t;

遗传算法的终止进化代数t根据实际情况选择,不宜过小或过大,t过小时搜索不到全局最优解,t过大时增加了搜索时间,降低了搜索效率。因此,本发明取t=200。

(3)交叉概率pc和变异概率pm;

遗传算法的参数中交叉概率和变异概率直接影响着算法的收敛性和搜索效率。交叉概率pc越大,子代中产生新个体的速度就越快。当pc过大时,种群中的优良模式被破坏的几率也就越大;当pc过小时,子代中产生新个体的速度就会降低,搜索过程就会变得缓慢。变异运算本身是一种随机搜索算法,它决定了遗传算法的局部搜索能力,当pm过大时,遗传算法就变成了纯粹的随机搜索算法,当pm过小时,局部搜索能力降低,容易出现早熟收敛现象。

而在本发明所采用的iaga算法中,变异概率和交叉概率是随种群中个体的适应度自动改变的,且能按照个体的适应度在平均适应度和最大适应度之间进行非线性调整,iaga算法中pc和pm如下所示的公式(11)、(12)和图2、图3进行自适应调整:

式中,fmax为每代群体中最大的适应度,favg为每代群体的平均适应值,f′为要交叉的两个个体中较大的适应度值,f为要变异个体的适应度,pcmax=0.9,pcmin=0.6,pmmax=0.1,pmmin=0.001,a=9.903438。

采用了上述自适应调整方法后,变异概率和交叉概率是随种群中个体的适应度自动改变的,且交叉率和变异率能按照个体的适应度在平均适应度和最大适应度之间随sigmoid曲线进行非线性调整。当种群中的大部分个体拥有相近的适应度且平均适应度与最大适应度接近时,大多数个体的交叉率和变异率被提高,且提高的幅度要高于按余弦函数变化的交叉率和变异率;同时,最大适应度附近的个体的模式得到了尽可能多地保留,压低了它们的交叉率和变异率,为这类模式的个体参与交叉配对的概率变大,使算法力求跳出局部收敛。iaga算法拥有比余弦改进算法更接近最佳适应度的平均适应度,表明iaga的种群拥有更多的优良解,体现出了较强的自适应性能。对于很多优化问题,在种群个体处于相当的状况下,拉开靠近平均适应度周围的多数个体,带动演化的前进,这对于摆脱局部收敛,防止算法停滞不前是有积极意义的。

步骤s504、将iaga算法应用到对整周模糊度的快速解算,搜索整周模糊度的最优解。

综上所述,目前求解整周模糊度的方法中理论体系最完备、应用最广的是lambda算法。但在实际应用中还存在搜索空间较大、计算相对复杂等问题;遗传算法是由美国jholland教授提出,具有内在并行性、全局优化性和稳健性的特点,但在实际的搜索过程中,由于其交叉概率和变异概率保持不变,使得算法容易陷入局部最优。本实施例提出的一种基于实数编码自适应遗传算法的整周模糊度快速解算方法,很好的解决了以上的问题。该方法利用卡尔曼滤波求得初始精度更高的浮点解,利用基于排序的cholesky分解对模糊度空间进行降相关,最后基于实数编码,将iaga自适应算法应用到整周模糊度的搜索求解中,不仅能按个体适应度非线性地调整对应的交叉变异概率,还能利用实数编码解决汉明悬崖问题,对提高整周模糊度的解算效率具有十分积极的现实意义。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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