1.一种基于自适应混沌粒子群算法的随机共振微弱信号检测方法,其特征在于,包括以下步骤:步骤1)ACPSO算法参数初始化;
步骤2)混沌初始化粒子速度、位置及最优适应度值计算;
步骤3)进行粒子位置、速度和最优适应度值更新;
步骤4)输出最优随机共振。
2.根据权利要求1所述的基于自适应混沌粒子群算法的随机共振微弱信号检测方法,其特征在于,所述步骤1)中,初始化ACPSO算法具体为,设置ACPSO算法的预设适应度精度、维度D与粒子种群规模N,学习因子c1、c2;在搜索空间内随机产生初始的粒子位置向量和速度向量:xi=(xi1,xi2,...,xiD)(i=1,2,...,N) (1)vi=(vi1,vi2,...,viD)(i=1,2,...,N) (2)式(1)中:xi是萤火虫种群内第i只萤火虫所在的位置。
3.根据权利要求1所述的基于自适应混沌粒子群算法的随机共振微弱信号检测方法,其特征在于,所述步骤2)中,选用二维混沌方程(3)作为混沌系统;对方程(1)(2)中产生的各个粒子位置与速度按照二维混沌公式:zn+1=tan(aZn)exp(-βZn) (3)
xi+1=tan(αxi)exp(-βxi) (4)
vi+1=tan(αvi)exp(-βvi) (5)
完成混沌初始化,可得到初始质量较优和分布均匀的粒子,此时所处位置和速度为xi+1与vi+1;使用方程(6)获得混沌优化后粒子的适应度值,将混沌优化后粒子的适应度值赋值为每个粒子的局部最佳适应度值Pbesti(0)(i=1,2,...,m),把pbesti(0)中的最大值赋值为粒子的全局最佳适应度值gbesti(0):F(a,b,k)=SNRout(sr(a,b,k)) (6)
式(6)中:sr(a,b,k)是ACPSO的随机共振输出结果,SNRout(sr(a,b,k))是SR的输出信噪比,也为适应度函数;
式(8)中:X(f0)是输出信号的功率谱;N是背景的噪声谱,即ω0频率周围段内的平均值。
4.根据权利要求1所述的基于自适应混沌粒子群算法的随机共振微弱信号检测方法,其特征在于,所述步骤3)中,运用方程(9)(10)更新混沌初始化后的粒子速度与位置,让粒子位于新的速度与位置;利用方程(7)计算出更新后的粒子适应度值;如果获得的单个粒子局部最佳适应度值Pbesti(t+1)或全局最佳适应度值gbesti(t+1)好于上一代粒子的Pbesti(t)和gbesti(t),更新Pbesti(t)和gbesti(t);在ACPSO算法中,粒子群的种群数N=20,假设farg是将目前全部粒子适应度求平均,即:vi(t+1)=ω(t).vi(t)+c1γ1(pbesti(t)-xi(t))+c2γ2(gbesti(t)-xi(t)) (9)xi(t+1)=xi(t)+vi(t+1) (10)方程(11)中fi是粒子在目前迭代次数时所取适应值;假如最佳粒子适应值是farg,对适应值好于farg的粒子求平均值,可得farg’。
5.根据权利要求1所述的基于自适应混沌粒子群算法的随机共振微弱信号检测方法,其特征在于,所述步骤4)中,当两代之间的适应度差值比预设精度小的时候,即max|Hz-Hz-1|<0.01时,迭代停止,此时输出的全局最佳适应度值gbesti(t)所对应的粒子为最终的SR系统参数k、a和b的最优结果,利用所获得的参数实现原始信号的SR输出,完成噪声背景下的微弱信号检测;当两代之间的适应度的差值比预设精度大的时候,则更新粒子速度与位置,返回步骤3)进行下一次迭代。
6.根据权利要求4所述的基于自适应混沌粒子群算法的随机共振微弱信号检测方法,其特征在于,所述步骤3)中,调节适应值为fi粒子的惯性权重ω方法具体为:
1)fi优于farg’,满足这个要求的粒子是种群内寻优性能较好的粒子,非常靠近全局最优,惯性权重赋一个略小的值,调节ω的惯性权重,快速达到全局最优值;其中ωmin=0.5,其关系式如下:
2)fi好于farg但差于farg’,达到这个要求的粒子拥有较好的局部寻优与全局寻优能力,当ω随着搜索进行按余弦规律减小,开始搜索时ω能较长时间维持较大值来增强搜索效率,在搜索的后期ω又较长时间维持较小值增加搜索精度;
方程(13)中ωmax为搜索开始时最大ω,ωmin是搜索结束时最小ω,t是迭代进行的步数,Maxstep是允许的最大迭代步数,此处ωmin=0.05,ωmax=1,Maxstep=20;
3)fi次于farg,达到这个要求的粒子是种群内较差粒子,调节它的惯性权重方法为:进行调节Δ是对粒子早熟收敛水平的判断量,Δ=|fg-farg’|,其中fg为最优粒子适应度;当算法停止时,如果粒子比较离散,Δ变大,减小粒子的ω值,增强局部寻优能力,从而让种群趋向收敛;如果粒子比较集中,那么Δ减小,增大ω,让粒子拥有较强的探寻能力,能够有能力跳出局部最优,其中k1=1.5,k2=1。