PSO学习笔记(1)

最近在整理定位快速算法的思路,看到有粒子群的算法,简单整理了一部分,后续会陆续把代码也贴上来。

参考文献:TDOA collaborative localization algorithm based on PSO and Newton iteration in WGS-84 coordinate system

摘要:

TDOA定位体制下,基于粒子群优化(Particle Swarm Optimization,PSO)和泰勒展式的协同定位不但可以避免粒子群易陷入局部最优的问题,而且还可以不合理的初始解导致牛顿迭代不收敛的问题。

II 问题描述

M个站以特定的形状分布于相同的平面上,基站的位置为,目标坐标为,目标到第i个基站的距离为,目标到基站1的距离为,根据目标和基站的关系

                                                          

其中表示到达测量差,是光速,是独立的且服从均值为0,方差为的高斯分布。

                                              

                                                                        

                                                                                        

                                                                                    

                                     

根据,利用渐近最大似然(Maximum Likelihood,ML)算法来估计目标的位置,似然函数是

                                      

从似然函数可知,其是一个非线性函数。用传统的方法来解似然函数是很困难的。

                                              

通过得到非线性函数的最小值来解出满足目标函数最小的坐标,解该问题是高计算复杂度和大量计算量。

基于以上分析,匹配函数定义为

                                                                    

III 直角坐标和WGS-84坐标系之间的转化

O-XYZ是WGS-84坐标系,P-XYZ是直角坐标系(P是原点),Q为另一个空间的改的。 和在O-XYZ坐标中,但在P-XYZ坐标中表示 和。

根据直角坐标系和WGS-84坐标系的转化[6]:

                                                  

                                                  

R为转化矩阵。是点大地坐标系的经纬度。如果和点的距离为,按照X轴的正方向旋转到在纬度的投影的方位角是,方向相对于与纬度垂直的面的角度是 ,

                                                                                 

代到

 

                                             

IV PSO

A 算法介绍

粒子群优化(PSO)算法[7]的灵感来源于鸟群和鱼类的学习行为。在太空中,只有一个地方存在食物,没有鸟类知道它的位置。他们依靠彼此交换信息,一步一步地接近食物。本文利用此方法寻找最优解。该方法可以描述为目标在搜索空间中的位置,PSO算法首先初始化一组随机粒子,每个粒子表示发送器位置的潜在解决方案。所有的粒子都有一个由优化函数决定的适应值。粒子根据适应值在搜索空间中跟踪当前的最优粒子,通过迭代找到最优解。

假设在D维空间上,第i个粒子的飞行速度为

                                                             

位置为

                                                            

在酶促迭代,粒子通过跟踪两个最优解来更新自己。当为迄今为止发现的个人最佳位置向量。是是整个群找到的最佳位置向量。通过遵循这两个最佳位置,根据下面公式更新每个粒子的速度和位置。

           

其中,其中是惯性权重。和是学习因子在0到4之间。和为在0和1之间随机分布的随机数。,和,表示第i个粒子在时刻和的速度和位置。此外,通过设定粒子的速度和位置范围,可以适当地限制粒子的运动。

本文,实验选择了线性递减权,较大的有利于在早期算法跳出局部最小值,较小的有利于提高算法的收敛性,提高了粒子群算法的全局搜索能力。下面的方程是线性递减权重。

                                                                        

表示最大的加权因子,表示最小的加权因子,是迭代次数,为整体迭代次数。

B。算法步骤

第一步:初始化粒子在总体中的速度和位置

第二步:评估每个粒子的适应度函数,将每个粒子的当前位置和适应度值存储在中,然后将单个位置的最佳值和整个群之间的适应度值存储到中。

第三步:按照式更新每个粒子的速度和位置

第四步:通过设置粒子的速度和位置,如果,;如果,;,;如果,。

第五步:根据适合度值,比较和t的所有当前值,更新。

第六步:当满足预期的准确性或达到迭代次数时,搜索将停止。

V。泰勒级数展开法

泰勒级数展开法[8,9]是一种需要初始位置的递推算法,在每次递推中,通过求解TDOA测量误差的局部最小二乘解,使初始位置逐渐收敛到估计位置。对于一组测量距离差的测量,该方法基于选定的目标初始位置在展开,并忽略二阶项,公式。可以表示为

                                                                                                           

                                                                                                

表示实测值与真值差的距离差。

                                                                                           

                                      

在,表示选择的初始目标点和观测站之间的距离,可以通过设置得到。WLS可以解位置偏差

                                                                       

为距离测量的方差矩阵。在下一个递归中,,重复该过程直到足够满足停止门限 

                                                                                            

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值