一种基于粒子群算法的光束抖动模型参数实时辨识方法与流程

文档序号:18620729发布日期:2019-09-06 22:27阅读:372来源:国知局
一种基于粒子群算法的光束抖动模型参数实时辨识方法与流程

本发明涉及光束抖动模型参数辨识技术领域,特别涉及一种基于粒子群算法的光束抖动模型参数实时辨识方法。



背景技术:

光束抖动是光束光轴发生偏摆,光束传播方向不断变化的现象。在自适应光学系统或高能激光系统中,由系统平台或振动器件引起的高频窄带光束抖动极大的限制了系统性能的提高。如何有效抑制高频窄带光束抖动,从而进一步提高系统性能已经成为亟待解决的问题。

国内外研究学者从多方面对高频窄带光束抖动的抑制进行了研究,其中线性二次高斯lqg(linearquadraticgaussian)控制算法对窄带扰动具有非常好的控制效果,但前提是需要对高频窄带光束抖动信号进行精确的建模。而模型参数的确定依赖于对模型参数的辨识。目前用于光束抖动模型参数辨识的方法主要有:广义kalman滤波法、极大似然法、阻尼高斯牛顿法和预报误差法等。这些方法中,广义kalman滤波法基于非线性观测器对高频信号拟合效果差;极大似然法受限于先验信息;阻尼高斯牛顿法和预报误差法对初值敏感,计算量较大且需要更多的人为参与调试,不利于模型参数的实时在线辨识。



技术实现要素:

本发明要解决的技术问题是:针对现有对光束抖动模型参数辨识技术不足而提供一种基于粒子群算法的光束抖动模型参数实时辨识方法,其特点是能够对光束抖动模型参数进行快速准确的实时辨识。

本发明解决上述技术问题采用的技术方案是:一种基于粒子群算法的光束抖动模型参数实时辨识方法,按照如下步骤实现:

步骤(1)、建立光束抖动模型,确定待辨识参数;光束抖动信号模型为自回归二阶模型(ar2):

其中,为自适应光学系统测量得到的光束抖动时序信号,为时域待辨识参数,为模型误差。为获得具有实际物理意义的模型参数可将时域待辨识参数通过公式转化为待辨识频域参数。转化公式为:

w0=2πf

其中,为光束抖动模型系数,亦为时域待辨识参数;f为振动频率,k为阻尼因子,σ2为驱动源方差,都为频域待辨识参数;t为采样周期。

步骤(2)、采集光束抖动时序信号;其中,采集到的光束抖动时序信号为由自适应光学系统开环测量斜率(或伪开环斜率)通过zernike模式复原法得到的基于zernike模式系数表示的波前畸变相位。其中,伪开环是指自适应光学系统中通过将已知的波前校正器校正量和校正残差信号的探测量求和得到初始光束抖动信号,其不需要系统开环。伪开环斜率的计算公式为:

gpol=gcol+g校正

其中,gpol为伪开环斜率,gcol为闭环测得的残余斜率,g校正为波前校正器产生的校正斜率。

步骤(3)、确定粒子群算法适应度函数;粒子群算法适应度函数即为误差准则函数,误差准则函数既可以是线性函数也可以是非线性函数,只要是实函数,并不局限于特定的表达式。

本发明采用的误差准则函数如下,但并不局限于此表达式。

其中,x为待辨识模型参数向量x=(f,k,σ2);pxx(2πfi)为由周期图法估计的实际信号功率谱密度,fi为离散频率,m为光束抖动信号序列长度。p(f)为计算ar2模型功率谱密度的理论公式,即:

其中,f为归一化频率,j为虚数单位,为光束抖动模型系数,σ2为驱动源方差。

步骤(4)、设置粒子群算法基本参数并确定待辨识参数搜索空间范围;其中,粒子群算法基本参数包括:粒子数n、搜索空间维数dim、学习因子c1和c2、惯性权重因子wmin和wmax和算法最大迭代次数itert,其中,粒子数影响算法的优化能力,粒子数越多得到的精度会越高,一般取20~40,对特定问题可以取到100~200;学习因子有保持收敛速度与搜索效果的均衡作用,一般取c1=c2∈[0,4];惯性权重因子控制速度对当前速度的影响,较大时全局搜索能力强,较小时局部搜索能力强,一般取0.4~1.2。

本发明将待辨识参数的可能解,作为搜索空间的一个粒子,待辨识参数个数作为搜索空间的维度,然后根据待辨识参数确定位置变化范围即待辨识参数取值范围并对粒子飞行速度进行限制,一般设为待辨识参数取值范围的10%~20%。其中,对于光束抖动信号,当抖动为窄带信号时阻尼系数k一般取值在0到1之间;当抖动为低频宽带信号时阻尼系数k取值应大于1。

步骤(5)、进行算法迭代:根据粒子群中粒子的适应度函数值更新粒子的个体极值和群体的全局极值,并更新粒子的速度与位置;粒子群算法的迭代过程为:先将粒子群初始化为一群随机粒子,然后在每一次迭代中,计算粒子群中粒子的适应度函数值并与本身找到的最优解即个体极值pbest进行对比,若比当前个体极值pbest好,则更新个体极值pbest;再将粒子的适应度函数值与整个群体目前找到的最优解即全局极值gbest进行对比,若比当前全局极值gbest好,则更新全局极值gbest,然后所述粒子根据以下公式来更新自己的速度与位置:

粒子i第d维速度更新公式:

vid(k+1)=wvid(k)+c1*rand*(pbestid(k)-xid(k))+c2*rand*(gbestd(k)-xid(k))

粒子i第d维位置更新公式:

xid(k+1)=xid(k)+vid(k+1)

其中,vid(k)为第k次迭代粒子i飞行的速度矢量的第d维分量;xid(k)为第k次迭代粒子i位置矢量的第d维分量;pbestid(k)为第k次迭代粒子i找到的最优解的第d维分量;gbestd(k)为第k次迭代所有粒子中的最优解的第d维分量;c1和c2为学习因子,调节学习最大步长;w为惯性因子,非负数,调节对参数空间的搜索范围;rand表示[0,1]间的随机数用来增加速度更新时的随机性。

步骤(6)、判断算法是否满足终止条件,若满足,则输出最优解,搜寻过程结束。算法的终止条件为:迭代次数k>itert或适应度函数值低于设定条件值。当满足终止条件时,则迭代终止,输出最优解,即辨识得到的最优的光束抖动模型参数;否则惯性因子w自适应变化,重新执行步骤(5)-步骤(6),并令k=k+1。惯性因子自适应变化公式:

其中,wmin和wmax分别为惯性因子最小值和最大值。

本发明与现有技术相比有如下优点:本发明提出的一种基于粒子群算法的光束抖动模型参数实时辨识方法,将采集到的光束抖动时序信号根据极小化误差准则函数原则利用粒子群算法通过惯性权重因子自适应变化进行全局随机搜索从而得到最优的模型参数,实现了模型参数的智能寻优。本发明提出的一种基于粒子群算法的光束抖动模型参数实时辨识方法,最显著的特点为初值随机,计算速度快,实时性强。而且,在迭代过程中通过惯性权重因子自适应变化,极大提高算法跳出局部收敛的能力,同时又可以提高算法效率。此外,本发明方法无需额外辅助系统及人为调试,实现成本低;并且可用于不同系统中光束抖动模型参数的辨识,移植能力强。

附图说明

图1为本发明提供的辨识算法原理图。

图2为基于粒子群算法的光束抖动模型参数实时辨识框架。

图3为600hz采样频率下测量的光束抖动时序信号(以zernike模式第3阶模式为例)。

图4为对测得的光束抖动时序信号通过周期图法估计得到的频域功率谱密度曲线(以zernike模式第3阶模式为例)。

图5为频域辨识结果。

图6为适应度函数随迭代次数变化曲线。

具体实施方式

下面结合附图对本发明的技术方案进行具体说明。

如图1为利用惯性权重因子自适应变化的粒子群算法对光束抖动模型参数进行辨识的原理图。通过建立光束抖动模型,将采集到的光束抖动时序信号根据极小化误差准则函数原则利用粒子群算法通过惯性权重因子自适应变化进行全局随机搜索从而得到最优的模型参数,使通过模型辨识得到的光束抖动信号与实测光束抖动信号间的偏差最小。

具体实施步骤如图2所示:

步骤s1、建立光束抖动模型,确定待辨识参数;光束抖动信号模型为自回归二阶模型(ar2):

其中,为自适应光学系统测量得到的光束抖动时序信号,为时域待辨识参数,为模型误差。为获得具有实际物理意义的模型参数可将时域待辨识参数通过公式转化为待辨识频域参数。转化公式为:

w0=2πf

其中,为光束抖动模型系数,亦为时域待辨识参数;f为振动频率,k为阻尼因子,σ2为驱动源方差,都为频域待辨识参数;t为采样周期。

测量光束抖动信号;如图3为实际自适应光学系统在600hz采样频率下测量的光束抖动时序信号;其中,采集到的光束抖动时序信号为由自适应光学系统开环测量斜率(或伪开环斜率)通过zernike模式复原法得到的基于zernike模式系数表示的波前畸变相位,本实施例以离焦即zernike模式第3阶模式为例。

确定粒子群算法适应度函数;粒子群算法适应度函数即为误差准则函数,本实施例采用的误差准则函数为:

其中,x为待辨识模型参数向量x=(f,k,σ2);pxx(2πfi)为由周期图法估计的实际信号功率谱密度,fi为离散频率,m为光束抖动信号序列长度。p(f)为计算ar2模型功率谱密度的理论公式,即:

其中,f为归一化频率,j为虚数单位,为光束抖动模型系数,σ2为驱动源方差。

步骤s2、设置粒子群算法基本参数;粒子群算法基本参数设置为:粒子数n为100、搜索空间维数dim为3、学习因子c1和c2都设为2、惯性权重因子wmin为0.4和wmax为1.1、算法最大迭代次数itert为1000。

步骤s3、设定搜索空间范围及最大限制速度并随机初始化速度与位置;搜索空间的范围取决于待辨识参数的受限范围。设置第d(1≤d≤dim)维的位置变化限定在[xmin,d,xmax,d]内,速度变化范围[vmin,d,vmax,d]设为在位置变化范围的10%。然后通过随机函数根据公式产生合理范围内的随机位置和随机速度;

随机初始化位置:x=xmin+(xmax-xmin)*rand(dim,n)

随机初始化速度:v=vmin+(vmax-vmin)*rand(dim,n);

其中,x,v为包含所有搜索方向的位置向量和速度向量;rand表示[0,1]间的随机数用来增加随机性。

步骤s4、计算各个粒子的适应度函数值,初始化各粒子的当前个体极值pbest为粒子的起始位置,全局极值gbest为初始群体中最佳粒子位置。然后在每一次迭代中,计算粒子群中粒子的适应度函数值并与本身找到的最优解即个体极值pbest进行对比,若比当前个体极值pbest好,则更新个体极值pbest;再将粒子的适应度函数值与整个群体目前找到的最优解即全局极值gbest进行对比,若比当前全局极值gbest好,则更新全局极值gbest。

步骤s5、粒子根据以下公式来更新自己的速度与位置:

粒子i第d维速度更新公式:

vid(k+1)=wvid(k)+c1*rand*(pbestid(k)-xid(k))+c2*rand*(gbestd(k)-xid(k))

粒子i第d维位置更新公式:

xid(k+1)=xid(k)+vid(k+1)

其中,vid(k)为第k次迭代粒子i飞行的速度矢量的第d维分量;xid(k)为第k次迭代粒子i位置矢量的第d维分量;pbestid(k)为第k次迭代粒子i找到的最优解的第d维分量;gbestd(k)为第k次迭代所有粒子中的最优解的第d维分量;c1和c2为学习因子,调节学习最大步长,一般设为2;w为惯性因子,非负数,调节对参数空间的搜索范围;rand表示[0,1]间的随机数用来增加速度更新时的随机性。

步骤s6、判断算法是否满足终止条件,即迭代次数k>itert或适应度函数值低于设定条件值,若满足,则执行步骤s7,输出最优解,搜寻过程结束。若不满足,则执行步骤s8,惯性因子w自适应变化,重新执行步骤s4-步骤s6,并令k=k+1。惯性因子自适应变化公式:

其中,wmin和wmax分别为惯性因子最小值和最大值。

步骤s7、输出最优的模型参数,搜寻过程结束,辨识结果如图5,适应度函数收敛曲线如图6。由图5及图6可知,本发明提出的一种基于粒子群算法的光束抖动模型参数实时辨识方法,可以快速有效的辨识得出光束抖动的模型参数,拟合误差小,辨识精度高且收敛速度快。

以上所述,仅为本发明的具体实施例,但本发明的保护范围并不局限于此,任何熟悉该技术的人员在本发明所揭示的技术范围内,可理解到的替换或增减,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。

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