本发明属于通信信号检测领域,具体的涉及一种基于人工鱼群算法的自适应随机共振系统和方法。
背景技术:
噪声背景下的微弱信号检测技术在通信、机械、医学、物理测量等领域得到了广泛研究和发展。与传统信号检测方法相比,随机共振能够有效利用噪声能量增强周期信号,同时噪声能量得到抑制,这将为低信噪比信号检测技术带来很大的帮助。因此随机共振的概念得以在信号处理领域研究中得到重视。然而随机共振的发生并不是无条件的,需要信号、噪声、非线性系统达到一定的匹配条件才能够增强随机共振效应,提高系统输出响应信噪比。因此,为了使随机共振能够更加方便快捷的应用于信号检测,有效控制系统参数和信号噪声的匹配获得最佳系统输出便是其中关键。一般情况下,输入信号无法改变,必须通过调节噪声和非线性系统参数使系统、信号、噪声匹配达到随机共振。针对参数的调节,形成了不同经典自适应随机共振方法,旨在自适应调整系统参数以加强随机共振,提高信号检测能力。一类是以单个参数为优化对象的自适应随机共振,分别对单个参数进行寻优,缺点是会忽略参数的相互作用,复杂度很高;一种是以遗传算法为代表的随机搜索算法,对于结构复杂的组合优化问题,搜索空间大,数据适用有效性高,易于实现,但涉及繁琐的编码过程,搜索时间长。随着人工智能研究的深入,不同群智能优化算法被提出,包括蚁群算法、粒子群算法、人工鱼群算法等。蚁群算法存在寻优时间久、收敛速度慢、易获得局部最优,参数选取对全局搜索能力影响巨大等缺陷;粒子群算法应用于随机共振在duffing阵子系统上有良好性能提升,在双稳langevin系统上仅有运算量的减小,输出信噪比提升微弱。而人工鱼群算法鲁棒性强、对初值敏感性相比其他群智能算法小,易于实现并且易于取得全局最优,被本文选择用于处理随机共振问题。初步将人工鱼群算法和随机共振相结合(artificial-fishswarmstochasticresonance,assr),存在运算量大、初值范围要求高、收敛慢和收敛精度低等问题,但验证了随机共振和群智能算法结合的可能性。而改进的人工鱼群算法,主要针对视野和步长进行优化,一定程度上提高了全局收敛性和算法运行效率。
技术实现要素:
本发明针对现有蚁群算法存在寻优时间久、收敛速度慢、参数选取对全局搜索能力影响巨大等缺陷,粒子群算法存在输出信噪比提升微弱等问题,提出一种基于人工鱼群算法的自适应随机共振系统和方法。
本发明的技术方案是:一种基于人工鱼群算法的自适应随机共振系统,包括归一化随机共振模块、人工鱼群自适应模块、步长调整模块、噪声调节模块和迭代控制模块,其中,
所述归一化随机共振模块:将原始信号结合随机共振归一化处理,发送到人工鱼群自适应模块;
所述人工鱼群模块:根据步长调整模块和噪声调节模块的反馈结果对随机共振参数行鱼群繁衍迭代,并将结果反馈至迭代控制模块;
所述步长调整模块:根据自适应参数寻优收敛状况调整鱼群迭代步长控制收敛速度,并将步长调整结果反馈至人工鱼群自适应模块加速自适应过程;
所述噪声调节模块:根据鱼群繁衍过程中随机共振输入需求以添加噪声的形式调节原始信号信噪比,提升信号检测性能,并将结果反馈至人工鱼群自适应模块;
迭代控制模块:通过跟踪人工鱼群自适应模块中目标参数最优值增长情况自适应判定迭代停止条件。
所述的基于人工鱼群算法的自适应随机共振系统,所述归一化随机共振模块包括信号尺度处理单元和随机共振单元,其中,
信号尺度处理单元:用于将周期信号进行尺度归一化变换以满足随机共振单元的小参数条件限制;
随机共振单元:用于将周期信号进行随机共振处理得到结果作为人工鱼群模块中的鱼群食物浓度衡量指标(原始周期信号的系统信噪比增益,对应的人工鱼当前位置即寻优目标参数)。所述的基于人工鱼群算法的自适应随机共振系统,所述人工鱼群模块包括鱼群聚群觅食单元、鱼群追尾觅食单元和特征峰值检测资源管理数据库,其中,
鱼群聚群觅食单元:用于使人工鱼向所述食物浓度较大并且同伴较小的地方移动,未找到位置则随机移动一步执行觅食行为;
鱼群追尾觅单元:用于使人工鱼向拥有最大食物浓度的同伴移动一步,未找到位置则随机移动一步执行觅食行为;
特征峰值检测资源管理数据库:用于存放所述人工鱼每一代繁衍之后的食物浓度最大值及对应人工鱼资源数据。
所述的基于人工鱼群算法的自适应随机共振系统,所述步长调整模块包括策略决策单元和步长计算单元,其中,
策略决策单元:用于根据特征谱峰值分布情况选定不同的步长调整策略,反馈至步长计算单元;
步长计算单元:用于在特定步长策略前提下对当前人工鱼移动步长进行计算,反馈至人工鱼群模块。
一种基于人工鱼群算法的自适应随机共振方法,所述该方法包括:
步骤a:对输入周期信号进行小波变换预处理,初步得到信号频点所处范围,作为归一化随机共振模块的输入参数;
步骤b:确定归一化随机共振模块中随机共振的非线性系统参数的自适应寻优范围,将发生随机共振现象作为人工鱼群模块的输入参数;
步骤c:初始化人工鱼群,包括鱼群规模、视野、步长、拥挤度因子以及缺省行为发生的条件参量、最大重复尝试次数参量,根据归一化随机共振模块输出的结果确定视野步长,生成第一代人工鱼群体;
步骤d:进行人工鱼群繁衍,初始化特征峰值检测资源管理数据库,将系统信噪比增益反馈至噪声调节模块,将食物浓度反馈至步长调整模块;
步骤e:根据当代人工鱼食物浓度对应的输出信号谱峰值进行步长调整,当共振谱峰值一致的人工鱼数量占全体数量比例小于一定门限值时,所有人工鱼按照步长调整策略调整,当不小于门限值时,共振谱峰值一致的人工鱼步长按照调整策略调整,其余人工鱼群步长转为固定值,将每条人工鱼步长反馈至步骤d的鱼群繁衍过程;
步骤f:取步骤d经过两种鱼群行为后食物浓度较大值更新特征峰值检测资源管理数据库,并判断繁衍一代的人工鱼是否满足:
①连续两次特征峰值检测资源管理数据库数据没有更新,②两次前特征峰值检测资源管理数据库数据更新量大小小于一定历史最优增长量均值的1/2;若是,进入步骤g,若否,进入步骤d;
步骤g:停止鱼群繁衍,取特征峰值检测资源管理数据库最优食物浓度,将对应的非线性系统参数带入非线性系统对原始信号随机共振,即得到处理恢复后的信号。
所述的基于人工鱼群算法的自适应随机共振方法,所述步骤b包括:
步骤b1:考虑小参数条件限制,基于最大最小方法将输入变量样本进行线性归一化处理,将其规整到一个范围区间,使得各变量之间具有相同地位,避免随机共振的输出发生震荡或是发生过共振和欠共振;
步骤b2:判断共振输出值均方误差是否达到要求精度范围内,如是,进入步骤c,如否,进入步骤b3;
步骤b3:利用基于标准差的归一化方法进一步归一化处理。
所述的基于人工鱼群的自适应随机共振方法,所述步骤d包括:
步骤d1:计算每条人工鱼的食物浓度,即当前确定的非线性系统参数带入非线性系统,得到输出信号的信噪比即食物浓度,结果反馈至鱼群聚群觅食单元即步骤d2和鱼群追尾觅食单元即步骤d3;
步骤d2:每条人工鱼进行聚群行为,即若满足视野范围内所有人工鱼平均食物浓度值大于当前食物浓度和拥挤度因子的乘积,则向此目标移动一步,步长值为步骤e的输出结果,若不,则随机移动一步;
步骤d3:每条人工鱼进行追尾行为,即若满足视野范围内人工鱼的最大食物浓度与人工鱼数量的比大于当前食物浓度和拥挤度因子的乘积,则向此目标移动一步,步长值为步骤e的输出结果,若不,则随机移动一步;
步骤d4:给人工鱼代表的周期信号添加噪声,当食物浓度能够提升的人工鱼比例达到门限值时,取此时添加的噪声强度值,给输入信号恒定添加此大小噪声。
本发明的有益效果是:在本发明所提供的基于人工鱼群的自适应随机共振系统和方法中,不仅通过归一化随机共振解决了自适应系统寻优初值设定困难的问题,提高了适应性,并且考虑了由于参数选取造成的随机共振未发生、随机过共振和欠共振等情况,通过根据共振收敛情况调整的步长函数时刻保持较强的搜索能力,并且能够适当发现并跳出局部最优,加快最优值的收敛效率。通过噪声调节模块优化了输入信噪比,显著提升了系统信噪比增益。通过迭代控制降低了系统复杂度,为随机共振直接处理各种通信信号提供了良好基础。
附图说明
图1为本发明所提供的系统结构示意图;
图2为本发明所提供的归一化随机共振模块功能结构示意图;
图3为本发明所提供的人工鱼群模块功能结构示意图;
图4为本发明所提供的步长调整模块结构示意图;
图5为本发明实施例所提供的方法流程图;
具体实施方式
实施例1:结合图1-图5,一种基于人工鱼群算法的自适应随机共振系统,包括归一化随机共振模块、人工鱼群自适应模块、步长调整模块、噪声调节模块和迭代控制模块,其中,
归一化随机共振模块:将原始信号结合随机共振归一化处理,发送到人工鱼群自适应模块;
人工鱼群模块:根据步长调整模块和噪声调节模块的反馈结果对随机共振参数行鱼群繁衍迭代,并将结果反馈至迭代控制模块;
所述步长调整模块:根据自适应参数寻优收敛状况调整鱼群迭代步长控制收敛速度,并将步长调整结果反馈至人工鱼群自适应模块加速自适应过程;
所述噪声调节模块:根据鱼群繁衍过程中随机共振输入需求以添加噪声的形式调节原始信号信噪比,提升信号检测性能,并将结果反馈至人工鱼群自适应模块;
迭代控制模块:通过跟踪人工鱼群自适应模块中目标参数最优值增长情况自适应判定迭代停止条件。
归一化随机共振模块包括信号尺度处理单元和随机共振单元,其中,
信号尺度处理单元:用于将周期信号进行尺度归一化变换以满足随机共振单元的小参数条件限制;
随机共振单元:用于将周期信号进行随机共振处理得到结果作为人工鱼群模块中的鱼群食物浓度衡量指标。
人工鱼群模块包括鱼群聚群觅食单元、鱼群追尾觅食单元和特征峰值检测资源管理数据库,其中,
鱼群聚群觅食单元:用于使人工鱼向所述食物浓度较大并且同伴较小的地方移动,未找到位置则随机移动一步执行觅食行为;
鱼群追尾觅单元:用于使人工鱼向拥有最大食物浓度的同伴移动一步,未找到位置则随机移动一步执行觅食行为;
特征峰值检测资源管理数据库:用于存放所述人工鱼每一代繁衍之后的食物浓度最大值及对应人工鱼资源数据。
步长调整模块包括策略决策单元和步长计算单元,其中,
策略决策单元:用于根据特征谱峰值分布情况选定不同的步长调整策略,反馈至步长计算单元;
步长计算单元:用于在特定步长策略前提下对当前人工鱼移动步长进行计算,反馈至人工鱼群模块。
一种基于人工鱼群算法的自适应随机共振方法,所述该方法包括:
步骤a:对输入周期信号进行小波变换预处理,初步得到信号频点所处范围,作为归一化随机共振模块的输入参数;
步骤b:确定归一化随机共振模块中随机共振的非线性系统参数的自适应寻优范围,将发生随机共振现象作为人工鱼群模块的输入参数;步骤b包括:
步骤b1:考虑小参数条件限制,基于最大最小方法将输入变量样本进行线性归一化处理,将其规整到一个范围区间,使得各变量之间具有相同地位,避免随机共振的输出发生震荡或是发生过共振和欠共振;
步骤b2:判断共振输出值均方误差是否达到要求精度范围内,如是,进入步骤c,如否,进入步骤b3;
步骤b3:利用基于标准差的归一化方法进一步归一化处理。
步骤c:初始化人工鱼群,包括鱼群规模、视野、步长、拥挤度因子以及缺省行为发生的条件参量、最大重复尝试次数参量,根据归一化随机共振模块输出的结果确定视野步长,生成第一代人工鱼群体;
步骤d:进行人工鱼群繁衍,初始化特征峰值检测资源管理数据库,将系统信噪比增益反馈至噪声调节模块,将食物浓度反馈至步长调整模块;步骤d包括:
步骤d1:计算每条人工鱼的食物浓度,即当前确定的非线性系统参数带入非线性系统,得到输出信号的信噪比即食物浓度,结果反馈至鱼群聚群觅食单元即步骤d2和鱼群追尾觅食单元即步骤d3;
步骤d2:每条人工鱼进行聚群行为,即若满足视野范围内所有人工鱼平均食物浓度值大于当前食物浓度和拥挤度因子的乘积,则向此目标移动一步,步长值为步骤e的输出结果,若不,则随机移动一步;
步骤d3:每条人工鱼进行追尾行为,即若满足视野范围内人工鱼的最大食物浓度与人工鱼数量的比大于当前食物浓度和拥挤度因子的乘积,则向此目标移动一步,步长值为步骤e的输出结果,若不,则随机移动一步;
步骤d4:给人工鱼代表的周期信号添加噪声,当食物浓度能够提升的人工鱼比例达到门限值时,取此时添加的噪声强度值,给输入信号恒定添加此大小噪声。
步骤e:根据当代人工鱼食物浓度对应的输出信号谱峰值进行步长调整,当共振谱峰值一致的人工鱼数量占全体数量比例小于一定门限值时,所有人工鱼按照步长调整策略调整,当不小于门限值时,共振谱峰值一致的人工鱼步长按照调整策略调整,其余人工鱼群步长转为固定值,将每条人工鱼步长反馈至步骤d的鱼群繁衍过程;
步骤f:取步骤d经过两种鱼群行为后食物浓度较大值更新特征峰值检测资源管理数据库,并判断繁衍一代的人工鱼是否满足:
①连续两次特征峰值检测资源管理数据库数据没有更新,②两次前特征峰值检测资源管理数据库数据更新量大小小于一定历史最优增长量均值的1/2;若是,进入步骤g,若否,进入步骤d;
步骤g:停止鱼群繁衍,取特征峰值检测资源管理数据库最优食物浓度,即原始周期信号系统信噪比增益,将对应的非线性系统参数带入非线性系统对原始信号随机共振,即得到处理恢复后的信号。
实施例2:结合图1-图5,一种基于人工鱼群算法的自适应随机共振系统,包括归一化随机共振模块101、人工鱼群模块102、步长调整模块103、噪声调节模块104以及迭代控制模块105。其中,归一化随机共振模块101将原始周期信号结合随机共振归一化处理,发送到人工鱼群模块102;人工鱼群模块102根据步长调整模块103和噪声调节模块104的反馈结果对随机共振输出结果进行鱼群繁衍迭代,结果反馈至迭代控制模块105进行迭代控制;步长调整模块103根据自适应参数寻优收敛状况调整鱼群迭代步长控制收敛速度,并将步长调整结果反馈至人工鱼群模块102加速自适应过程;噪声调节模块104根据鱼群繁衍过程中随机共振输入需求通过添加噪声的形式调节原始信号信噪比,提升信号检测性能,并将结果反馈至人工鱼群模块102;迭代控制模块105通过跟踪人工鱼群模块102中目标参数最优值增长情况自适应判定迭代停止条件。
归一化随机共振模块101包括信号尺度处理单元201和随机共振单元202。
信号尺度处理单元201用于将所述周期信号进行尺度归一化变换以满足随机共振单元202的小参数条件限制。
随机共振单元202用于将所述周期信号进行随机共振处理得到结果作为人工鱼群模块102中的鱼群食物浓度衡量指标。
信号尺度处理单元201实现非线性系统参数、噪声方差以及信号幅度大小的同时调整。以非线性系统为双稳态系统为例,。由于输入信号频率未知,需要对信号所处频段进行初步估计以确定系统参数a、b的初始范围。当参数寻优范围确定后,范围选取过大则其内参数有可能产生非线性系统溢出,随机共振单元202无法计算出结果,即无法计算食物浓度。这时须采取合适的策略减小参数寻优范围,防止出现系统溢出状况。
人工鱼群模块102用于对随机共振单元202处理后的输出结果进行人工鱼群迭代繁衍寻优,获取最佳系统参数和非线性系统输出信号。包括鱼群聚群觅食单元301、鱼群追尾觅食单元302和特征峰值检测资源管理数据库303。
鱼群聚群觅食单元301和鱼群追尾觅食单元302的输入数据均为上一代人工鱼群,同时进行聚群觅食以及追尾觅食行为,其中的步长参数由人工鱼群模块102反馈至步长调整模块103后得到的自适应优化步长,而求解每个行为中食物浓度值时的周期信号信噪比为人工鱼群模块102输出值经过噪声调节模块104反馈调节后的信噪比。特征峰值检测资源管理数据库303用于存放每代人工鱼繁衍后的最优值资源信息,其中包括短每代人工鱼繁衍后的最优人工鱼的食物浓度大小和对应位置信息(即最优系统参数)。
步长调整模块103用于根据特征峰值检测资源管理数据库303更新值进行步长调整,反馈至鱼群聚群觅食单元301和鱼群追尾觅食单元302中的步长参数。该模块包括策略决策单元401和步长计算单元402。
策略决策单元401根据特征峰值检测资源管理数据库303反馈的最佳人工鱼食物浓度进行步长策略选择。即根据食物浓度所对应谱峰峰值判断迭代收敛状态,相当于根据实际收敛状况判断收敛程度,不依赖与其他变量(如时间、繁衍代数等)。设定门限值的根据为:当大部分随机共振收敛于一个频点时,剩余的频点判定不一致的人工鱼以最大步长迭代一次,防止出现局部最优,并且此部分人工鱼食物浓度不参与特征峰值检测资源管理数据库303的更新,收敛一致的人工鱼结果输出至步长计算单元402计算步长;否则,所有人工鱼输出至步长计算单元402计算步长。
一种基于人工鱼群算法的自适应随机共振方法,该方法包括以下步骤:
步骤s501:采用harr小波变换对输入信号进行初步处理:
ψ(τ)是harr小波母函数。
步骤s502:由归一化原理确定双稳态系统参数a、b的自适应寻优范围。受白噪声和微弱周期信号作用的双稳态系统是产生随机共振最为常用的一种非线性系统,因此随机共振单元以双稳态非线性系统为例,可表示为langevin方程:
a和b为双稳态系统参数。双稳系统在信号和噪声的共同作用下产生随机共振输出x(t)。当双稳系统参数、信号参数、噪声强度达到匹配时,噪声的能量会增强信号,使非线性系统输出信噪比增加,输出功率谱在信号频率f0处出现被放大的峰值。
(2)中参数a、b均为大于0的实数时,可通过引入以下变量替换对双稳态系统模型进行归一化处理:
其中γ(t)变换为
归一化目标值为a=1,b=1,f=0.01hz,归一化后的信号频率压缩为之前的1/a,并且噪声和信号幅度同比例进行了缩放,解决了随机共振的小参数条件限制,可应用于任意大参数周期信号处理。
步骤s503:当参数寻优范围确定后,范围选取过大则其内参数就有可能造成非线性系统的溢出,无法得出随机共振结果,即无法计算食物浓度。这时须采取合适的策略减小参数寻优范围,防止出现系统溢出状况。调整策略:通过预处理确定信号所处频段,设信号频率f=t×10m,t∈(0.1,10),m=0,1,2,3...,根据(4)式,归一化频率是0.01hz,最佳a处于t×10m+2,t∈(0.1,10)附近,因此取系统参数a、b的寻优范围[1×10m+1,1×10m+3]。langevin方程是高次偏微分方程,当a取值较大时,易发生溢出现象,b值大小不作为范围修正参考,寻优范围保持和a一致。设某代中nspill条人工鱼参数(a,b)为(ta,i×10m+2,tb,i×10m+2),ta,i,tb,i∈[0.1,10],i=1,2...nspill时发生了溢出现象,则将参数a、b的取值范围均修正为[[1×10m+1,min(ta,i)×10m+2]],ta,i∈[0.1,10],即取发生溢出现象的人工鱼的最小a值作为寻优范围上限。在下一代人工鱼中,对所有不在寻优范围内的人工鱼进行重新播种操作。
定义播种操作:在某些状态下若无法计算食物浓度,说明人工鱼喂养范围不当,淘汰此人工鱼,在更小的可喂养人工鱼的范围内重新产生人工鱼,随机获取坐标并计算食物浓度,得到新人工鱼个体,而非繁殖的下一代。
步骤s504:对人工鱼群进行初始化,包括鱼群规模n,视野visual0、步长step0、stepmin0,拥挤度因子δ,最大重复尝试次数try_number,确定视野visual=visual0×10m、步长stepc=step0×10m、stepmin=stepmin0×10m(通过步骤503中频点所处范围确定量级),生成第一代人工鱼群体;
步骤s505:进行人工鱼群繁衍,初始化特征峰值检测资源管理数据库。xi=(x1,i,x2,i,x3,i,…,xn,i)表示第i代n条人工鱼的当前状态。xk,i,k∈[1,n]表示第i次迭代中所需寻优的目标参数在规定范围内的n个取值。每条鱼当前坐标的食物浓度fc,即输出信号的信噪比,找到拥有最大的fc的人工鱼就是所需结果,拥有最大fc的人工鱼坐标xfinal为参数寻优结果。
步骤s506:每条人工鱼进行聚群行为,人工鱼当前坐标为xk,i,视野内同伴数目为nf,求出视野内所有同伴的坐标中心点x″k,i,此坐标食物浓度fc″k,i。若满足条件:
步骤s507:每条人工鱼进行追尾行为,人工鱼当前坐标xk,i,寻找视野内的食物浓度最高的同伴,若存在x″'k,i满足fc″'k,inf>δfck,i,则拥有更高食物浓度且不太拥挤,向此坐标移动一步,转入步骤s509,获得步长调整值stepk,i,移动距离为
步骤s508:给人工鱼代表的周期信号添加噪声,添加高斯白噪声使信号信噪比降低0-5db(不添加5db以上的噪声,防止添加过多噪声对随机共振或信号带来其他负面影响),结果反馈至步骤s505用于计算当前人工鱼食物浓度。设定当食物浓度能够提升的人工鱼比例达到门限值th1时,取此时添加的噪声强度值,给输入信号恒定添加此大小噪声,以便噪声能量更大程度汇聚到随机共振的谱峰。对同一批人工鱼反复试验,可验证在0-5db范围内添加噪声,能够提升食物浓度的人工鱼数量比例一般0.9±0.04,因此比例门限设定为th1=0.9,若添加噪声达到上限时比例值仍未达到th1,则取获得最大优化人工鱼数量的对应噪声。
步骤s509:以特征峰值检测资源管理数据库中最优食物浓度对应的输出信号频谱谱峰值作为参考值,进行步长调整(若首次进行步长调整,谱峰值为原始信号频谱谱峰值)。通过归一化处理和添加噪声操作能够快速使信号发生随机共振,但对于条人工鱼,不同人工鱼发生随机共振的代数不同,因此为使全体人工鱼快速收敛,通过设定人工鱼数量比例门限th2,使随机共振谱峰位置判断不一致(随机共振未发生或发生过共振或欠共振)的人工鱼xother不参与公告板更新,并且采用区别于其他人工鱼的步长调整策略。
在鱼群繁衍初期,采用较大步长,方便快速收敛,以随机共振谱峰变化程度为衡量标准,随着谱峰变化程度减小,步长相应减小,直到最终收敛。考虑部分人工鱼随机共振频点判断出错的情况,此时采用最大步长进行移动,以便跳出局部最优。
设人工鱼随机共振谱峰横坐标一致的人工鱼坐标集合为nr,总数为nr。当
当
其中stepk,i表示第i代中第k条人工鱼的步长,结果反馈至步骤s506和s507,stepc为步长固定值,stepmin是为了防止最后收敛过慢设定的步长下限。参数w,q根据曲线仿真确定(令
步骤s510:比较步骤s506和步骤s507,取相较最优值更新特征峰值检测资源管理数据库,进行繁衍结束条件判定,设定连续两代公告板最优值增长量为