本發(fā)明屬于通信信號(hào)檢測(cè)領(lǐng)域,具體的涉及一種基于人工魚(yú)群算法的自適應(yīng)隨機(jī)共振系統(tǒng)和方法。
背景技術(shù):
噪聲背景下的微弱信號(hào)檢測(cè)技術(shù)在通信、機(jī)械、醫(yī)學(xué)、物理測(cè)量等領(lǐng)域得到了廣泛研究和發(fā)展。與傳統(tǒng)信號(hào)檢測(cè)方法相比,隨機(jī)共振能夠有效利用噪聲能量增強(qiáng)周期信號(hào),同時(shí)噪聲能量得到抑制,這將為低信噪比信號(hào)檢測(cè)技術(shù)帶來(lái)很大的幫助。因此隨機(jī)共振的概念得以在信號(hào)處理領(lǐng)域研究中得到重視。然而隨機(jī)共振的發(fā)生并不是無(wú)條件的,需要信號(hào)、噪聲、非線性系統(tǒng)達(dá)到一定的匹配條件才能夠增強(qiáng)隨機(jī)共振效應(yīng),提高系統(tǒng)輸出響應(yīng)信噪比。因此,為了使隨機(jī)共振能夠更加方便快捷的應(yīng)用于信號(hào)檢測(cè),有效控制系統(tǒng)參數(shù)和信號(hào)噪聲的匹配獲得最佳系統(tǒng)輸出便是其中關(guān)鍵。一般情況下,輸入信號(hào)無(wú)法改變,必須通過(guò)調(diào)節(jié)噪聲和非線性系統(tǒng)參數(shù)使系統(tǒng)、信號(hào)、噪聲匹配達(dá)到隨機(jī)共振。針對(duì)參數(shù)的調(diào)節(jié),形成了不同經(jīng)典自適應(yīng)隨機(jī)共振方法,旨在自適應(yīng)調(diào)整系統(tǒng)參數(shù)以加強(qiáng)隨機(jī)共振,提高信號(hào)檢測(cè)能力。一類是以單個(gè)參數(shù)為優(yōu)化對(duì)象的自適應(yīng)隨機(jī)共振,分別對(duì)單個(gè)參數(shù)進(jìn)行尋優(yōu),缺點(diǎn)是會(huì)忽略參數(shù)的相互作用,復(fù)雜度很高;一種是以遺傳算法為代表的隨機(jī)搜索算法,對(duì)于結(jié)構(gòu)復(fù)雜的組合優(yōu)化問(wèn)題,搜索空間大,數(shù)據(jù)適用有效性高,易于實(shí)現(xiàn),但涉及繁瑣的編碼過(guò)程,搜索時(shí)間長(zhǎng)。隨著人工智能研究的深入,不同群智能優(yōu)化算法被提出,包括蟻群算法、粒子群算法、人工魚(yú)群算法等。蟻群算法存在尋優(yōu)時(shí)間久、收斂速度慢、易獲得局部最優(yōu),參數(shù)選取對(duì)全局搜索能力影響巨大等缺陷;粒子群算法應(yīng)用于隨機(jī)共振在duffing陣子系統(tǒng)上有良好性能提升,在雙穩(wěn)langevin系統(tǒng)上僅有運(yùn)算量的減小,輸出信噪比提升微弱。而人工魚(yú)群算法魯棒性強(qiáng)、對(duì)初值敏感性相比其他群智能算法小,易于實(shí)現(xiàn)并且易于取得全局最優(yōu),被本文選擇用于處理隨機(jī)共振問(wèn)題。初步將人工魚(yú)群算法和隨機(jī)共振相結(jié)合(artificial-fishswarmstochasticresonance,assr),存在運(yùn)算量大、初值范圍要求高、收斂慢和收斂精度低等問(wèn)題,但驗(yàn)證了隨機(jī)共振和群智能算法結(jié)合的可能性。而改進(jìn)的人工魚(yú)群算法,主要針對(duì)視野和步長(zhǎng)進(jìn)行優(yōu)化,一定程度上提高了全局收斂性和算法運(yùn)行效率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)現(xiàn)有蟻群算法存在尋優(yōu)時(shí)間久、收斂速度慢、參數(shù)選取對(duì)全局搜索能力影響巨大等缺陷,粒子群算法存在輸出信噪比提升微弱等問(wèn)題,提出一種基于人工魚(yú)群算法的自適應(yīng)隨機(jī)共振系統(tǒng)和方法。
本發(fā)明的技術(shù)方案是:一種基于人工魚(yú)群算法的自適應(yīng)隨機(jī)共振系統(tǒng),包括歸一化隨機(jī)共振模塊、人工魚(yú)群自適應(yīng)模塊、步長(zhǎng)調(diào)整模塊、噪聲調(diào)節(jié)模塊和迭代控制模塊,其中,
所述歸一化隨機(jī)共振模塊:將原始信號(hào)結(jié)合隨機(jī)共振歸一化處理,發(fā)送到人工魚(yú)群自適應(yīng)模塊;
所述人工魚(yú)群模塊:根據(jù)步長(zhǎng)調(diào)整模塊和噪聲調(diào)節(jié)模塊的反饋結(jié)果對(duì)隨機(jī)共振參數(shù)行魚(yú)群繁衍迭代,并將結(jié)果反饋至迭代控制模塊;
所述步長(zhǎng)調(diào)整模塊:根據(jù)自適應(yīng)參數(shù)尋優(yōu)收斂狀況調(diào)整魚(yú)群迭代步長(zhǎng)控制收斂速度,并將步長(zhǎng)調(diào)整結(jié)果反饋至人工魚(yú)群自適應(yīng)模塊加速自適應(yīng)過(guò)程;
所述噪聲調(diào)節(jié)模塊:根據(jù)魚(yú)群繁衍過(guò)程中隨機(jī)共振輸入需求以添加噪聲的形式調(diào)節(jié)原始信號(hào)信噪比,提升信號(hào)檢測(cè)性能,并將結(jié)果反饋至人工魚(yú)群自適應(yīng)模塊;
迭代控制模塊:通過(guò)跟蹤人工魚(yú)群自適應(yīng)模塊中目標(biāo)參數(shù)最優(yōu)值增長(zhǎng)情況自適應(yīng)判定迭代停止條件。
所述的基于人工魚(yú)群算法的自適應(yīng)隨機(jī)共振系統(tǒng),所述歸一化隨機(jī)共振模塊包括信號(hào)尺度處理單元和隨機(jī)共振單元,其中,
信號(hào)尺度處理單元:用于將周期信號(hào)進(jìn)行尺度歸一化變換以滿足隨機(jī)共振單元的小參數(shù)條件限制;
隨機(jī)共振單元:用于將周期信號(hào)進(jìn)行隨機(jī)共振處理得到結(jié)果作為人工魚(yú)群模塊中的魚(yú)群食物濃度衡量指標(biāo)(原始周期信號(hào)的系統(tǒng)信噪比增益,對(duì)應(yīng)的人工魚(yú)當(dāng)前位置即尋優(yōu)目標(biāo)參數(shù))。所述的基于人工魚(yú)群算法的自適應(yīng)隨機(jī)共振系統(tǒng),所述人工魚(yú)群模塊包括魚(yú)群聚群覓食單元、魚(yú)群追尾覓食單元和特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù),其中,
魚(yú)群聚群覓食單元:用于使人工魚(yú)向所述食物濃度較大并且同伴較小的地方移動(dòng),未找到位置則隨機(jī)移動(dòng)一步執(zhí)行覓食行為;
魚(yú)群追尾覓單元:用于使人工魚(yú)向擁有最大食物濃度的同伴移動(dòng)一步,未找到位置則隨機(jī)移動(dòng)一步執(zhí)行覓食行為;
特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù):用于存放所述人工魚(yú)每一代繁衍之后的食物濃度最大值及對(duì)應(yīng)人工魚(yú)資源數(shù)據(jù)。
所述的基于人工魚(yú)群算法的自適應(yīng)隨機(jī)共振系統(tǒng),所述步長(zhǎng)調(diào)整模塊包括策略決策單元和步長(zhǎng)計(jì)算單元,其中,
策略決策單元:用于根據(jù)特征譜峰值分布情況選定不同的步長(zhǎng)調(diào)整策略,反饋至步長(zhǎng)計(jì)算單元;
步長(zhǎng)計(jì)算單元:用于在特定步長(zhǎng)策略前提下對(duì)當(dāng)前人工魚(yú)移動(dòng)步長(zhǎng)進(jìn)行計(jì)算,反饋至人工魚(yú)群模塊。
一種基于人工魚(yú)群算法的自適應(yīng)隨機(jī)共振方法,所述該方法包括:
步驟a:對(duì)輸入周期信號(hào)進(jìn)行小波變換預(yù)處理,初步得到信號(hào)頻點(diǎn)所處范圍,作為歸一化隨機(jī)共振模塊的輸入?yún)?shù);
步驟b:確定歸一化隨機(jī)共振模塊中隨機(jī)共振的非線性系統(tǒng)參數(shù)的自適應(yīng)尋優(yōu)范圍,將發(fā)生隨機(jī)共振現(xiàn)象作為人工魚(yú)群模塊的輸入?yún)?shù);
步驟c:初始化人工魚(yú)群,包括魚(yú)群規(guī)模、視野、步長(zhǎng)、擁擠度因子以及缺省行為發(fā)生的條件參量、最大重復(fù)嘗試次數(shù)參量,根據(jù)歸一化隨機(jī)共振模塊輸出的結(jié)果確定視野步長(zhǎng),生成第一代人工魚(yú)群體;
步驟d:進(jìn)行人工魚(yú)群繁衍,初始化特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù),將系統(tǒng)信噪比增益反饋至噪聲調(diào)節(jié)模塊,將食物濃度反饋至步長(zhǎng)調(diào)整模塊;
步驟e:根據(jù)當(dāng)代人工魚(yú)食物濃度對(duì)應(yīng)的輸出信號(hào)譜峰值進(jìn)行步長(zhǎng)調(diào)整,當(dāng)共振譜峰值一致的人工魚(yú)數(shù)量占全體數(shù)量比例小于一定門(mén)限值時(shí),所有人工魚(yú)按照步長(zhǎng)調(diào)整策略調(diào)整,當(dāng)不小于門(mén)限值時(shí),共振譜峰值一致的人工魚(yú)步長(zhǎng)按照調(diào)整策略調(diào)整,其余人工魚(yú)群步長(zhǎng)轉(zhuǎn)為固定值,將每條人工魚(yú)步長(zhǎng)反饋至步驟d的魚(yú)群繁衍過(guò)程;
步驟f:取步驟d經(jīng)過(guò)兩種魚(yú)群行為后食物濃度較大值更新特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù),并判斷繁衍一代的人工魚(yú)是否滿足:
①連續(xù)兩次特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)數(shù)據(jù)沒(méi)有更新,②兩次前特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)數(shù)據(jù)更新量大小小于一定歷史最優(yōu)增長(zhǎng)量均值的1/2;若是,進(jìn)入步驟g,若否,進(jìn)入步驟d;
步驟g:停止魚(yú)群繁衍,取特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)最優(yōu)食物濃度,將對(duì)應(yīng)的非線性系統(tǒng)參數(shù)帶入非線性系統(tǒng)對(duì)原始信號(hào)隨機(jī)共振,即得到處理恢復(fù)后的信號(hào)。
所述的基于人工魚(yú)群算法的自適應(yīng)隨機(jī)共振方法,所述步驟b包括:
步驟b1:考慮小參數(shù)條件限制,基于最大最小方法將輸入變量樣本進(jìn)行線性歸一化處理,將其規(guī)整到一個(gè)范圍區(qū)間,使得各變量之間具有相同地位,避免隨機(jī)共振的輸出發(fā)生震蕩或是發(fā)生過(guò)共振和欠共振;
步驟b2:判斷共振輸出值均方誤差是否達(dá)到要求精度范圍內(nèi),如是,進(jìn)入步驟c,如否,進(jìn)入步驟b3;
步驟b3:利用基于標(biāo)準(zhǔn)差的歸一化方法進(jìn)一步歸一化處理。
所述的基于人工魚(yú)群的自適應(yīng)隨機(jī)共振方法,所述步驟d包括:
步驟d1:計(jì)算每條人工魚(yú)的食物濃度,即當(dāng)前確定的非線性系統(tǒng)參數(shù)帶入非線性系統(tǒng),得到輸出信號(hào)的信噪比即食物濃度,結(jié)果反饋至魚(yú)群聚群覓食單元即步驟d2和魚(yú)群追尾覓食單元即步驟d3;
步驟d2:每條人工魚(yú)進(jìn)行聚群行為,即若滿足視野范圍內(nèi)所有人工魚(yú)平均食物濃度值大于當(dāng)前食物濃度和擁擠度因子的乘積,則向此目標(biāo)移動(dòng)一步,步長(zhǎng)值為步驟e的輸出結(jié)果,若不,則隨機(jī)移動(dòng)一步;
步驟d3:每條人工魚(yú)進(jìn)行追尾行為,即若滿足視野范圍內(nèi)人工魚(yú)的最大食物濃度與人工魚(yú)數(shù)量的比大于當(dāng)前食物濃度和擁擠度因子的乘積,則向此目標(biāo)移動(dòng)一步,步長(zhǎng)值為步驟e的輸出結(jié)果,若不,則隨機(jī)移動(dòng)一步;
步驟d4:給人工魚(yú)代表的周期信號(hào)添加噪聲,當(dāng)食物濃度能夠提升的人工魚(yú)比例達(dá)到門(mén)限值時(shí),取此時(shí)添加的噪聲強(qiáng)度值,給輸入信號(hào)恒定添加此大小噪聲。
本發(fā)明的有益效果是:在本發(fā)明所提供的基于人工魚(yú)群的自適應(yīng)隨機(jī)共振系統(tǒng)和方法中,不僅通過(guò)歸一化隨機(jī)共振解決了自適應(yīng)系統(tǒng)尋優(yōu)初值設(shè)定困難的問(wèn)題,提高了適應(yīng)性,并且考慮了由于參數(shù)選取造成的隨機(jī)共振未發(fā)生、隨機(jī)過(guò)共振和欠共振等情況,通過(guò)根據(jù)共振收斂情況調(diào)整的步長(zhǎng)函數(shù)時(shí)刻保持較強(qiáng)的搜索能力,并且能夠適當(dāng)發(fā)現(xiàn)并跳出局部最優(yōu),加快最優(yōu)值的收斂效率。通過(guò)噪聲調(diào)節(jié)模塊優(yōu)化了輸入信噪比,顯著提升了系統(tǒng)信噪比增益。通過(guò)迭代控制降低了系統(tǒng)復(fù)雜度,為隨機(jī)共振直接處理各種通信信號(hào)提供了良好基礎(chǔ)。
附圖說(shuō)明
圖1為本發(fā)明所提供的系統(tǒng)結(jié)構(gòu)示意圖;
圖2為本發(fā)明所提供的歸一化隨機(jī)共振模塊功能結(jié)構(gòu)示意圖;
圖3為本發(fā)明所提供的人工魚(yú)群模塊功能結(jié)構(gòu)示意圖;
圖4為本發(fā)明所提供的步長(zhǎng)調(diào)整模塊結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例所提供的方法流程圖;
具體實(shí)施方式
實(shí)施例1:結(jié)合圖1-圖5,一種基于人工魚(yú)群算法的自適應(yīng)隨機(jī)共振系統(tǒng),包括歸一化隨機(jī)共振模塊、人工魚(yú)群自適應(yīng)模塊、步長(zhǎng)調(diào)整模塊、噪聲調(diào)節(jié)模塊和迭代控制模塊,其中,
歸一化隨機(jī)共振模塊:將原始信號(hào)結(jié)合隨機(jī)共振歸一化處理,發(fā)送到人工魚(yú)群自適應(yīng)模塊;
人工魚(yú)群模塊:根據(jù)步長(zhǎng)調(diào)整模塊和噪聲調(diào)節(jié)模塊的反饋結(jié)果對(duì)隨機(jī)共振參數(shù)行魚(yú)群繁衍迭代,并將結(jié)果反饋至迭代控制模塊;
所述步長(zhǎng)調(diào)整模塊:根據(jù)自適應(yīng)參數(shù)尋優(yōu)收斂狀況調(diào)整魚(yú)群迭代步長(zhǎng)控制收斂速度,并將步長(zhǎng)調(diào)整結(jié)果反饋至人工魚(yú)群自適應(yīng)模塊加速自適應(yīng)過(guò)程;
所述噪聲調(diào)節(jié)模塊:根據(jù)魚(yú)群繁衍過(guò)程中隨機(jī)共振輸入需求以添加噪聲的形式調(diào)節(jié)原始信號(hào)信噪比,提升信號(hào)檢測(cè)性能,并將結(jié)果反饋至人工魚(yú)群自適應(yīng)模塊;
迭代控制模塊:通過(guò)跟蹤人工魚(yú)群自適應(yīng)模塊中目標(biāo)參數(shù)最優(yōu)值增長(zhǎng)情況自適應(yīng)判定迭代停止條件。
歸一化隨機(jī)共振模塊包括信號(hào)尺度處理單元和隨機(jī)共振單元,其中,
信號(hào)尺度處理單元:用于將周期信號(hào)進(jìn)行尺度歸一化變換以滿足隨機(jī)共振單元的小參數(shù)條件限制;
隨機(jī)共振單元:用于將周期信號(hào)進(jìn)行隨機(jī)共振處理得到結(jié)果作為人工魚(yú)群模塊中的魚(yú)群食物濃度衡量指標(biāo)。
人工魚(yú)群模塊包括魚(yú)群聚群覓食單元、魚(yú)群追尾覓食單元和特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù),其中,
魚(yú)群聚群覓食單元:用于使人工魚(yú)向所述食物濃度較大并且同伴較小的地方移動(dòng),未找到位置則隨機(jī)移動(dòng)一步執(zhí)行覓食行為;
魚(yú)群追尾覓單元:用于使人工魚(yú)向擁有最大食物濃度的同伴移動(dòng)一步,未找到位置則隨機(jī)移動(dòng)一步執(zhí)行覓食行為;
特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù):用于存放所述人工魚(yú)每一代繁衍之后的食物濃度最大值及對(duì)應(yīng)人工魚(yú)資源數(shù)據(jù)。
步長(zhǎng)調(diào)整模塊包括策略決策單元和步長(zhǎng)計(jì)算單元,其中,
策略決策單元:用于根據(jù)特征譜峰值分布情況選定不同的步長(zhǎng)調(diào)整策略,反饋至步長(zhǎng)計(jì)算單元;
步長(zhǎng)計(jì)算單元:用于在特定步長(zhǎng)策略前提下對(duì)當(dāng)前人工魚(yú)移動(dòng)步長(zhǎng)進(jìn)行計(jì)算,反饋至人工魚(yú)群模塊。
一種基于人工魚(yú)群算法的自適應(yīng)隨機(jī)共振方法,所述該方法包括:
步驟a:對(duì)輸入周期信號(hào)進(jìn)行小波變換預(yù)處理,初步得到信號(hào)頻點(diǎn)所處范圍,作為歸一化隨機(jī)共振模塊的輸入?yún)?shù);
步驟b:確定歸一化隨機(jī)共振模塊中隨機(jī)共振的非線性系統(tǒng)參數(shù)的自適應(yīng)尋優(yōu)范圍,將發(fā)生隨機(jī)共振現(xiàn)象作為人工魚(yú)群模塊的輸入?yún)?shù);步驟b包括:
步驟b1:考慮小參數(shù)條件限制,基于最大最小方法將輸入變量樣本進(jìn)行線性歸一化處理,將其規(guī)整到一個(gè)范圍區(qū)間,使得各變量之間具有相同地位,避免隨機(jī)共振的輸出發(fā)生震蕩或是發(fā)生過(guò)共振和欠共振;
步驟b2:判斷共振輸出值均方誤差是否達(dá)到要求精度范圍內(nèi),如是,進(jìn)入步驟c,如否,進(jìn)入步驟b3;
步驟b3:利用基于標(biāo)準(zhǔn)差的歸一化方法進(jìn)一步歸一化處理。
步驟c:初始化人工魚(yú)群,包括魚(yú)群規(guī)模、視野、步長(zhǎng)、擁擠度因子以及缺省行為發(fā)生的條件參量、最大重復(fù)嘗試次數(shù)參量,根據(jù)歸一化隨機(jī)共振模塊輸出的結(jié)果確定視野步長(zhǎng),生成第一代人工魚(yú)群體;
步驟d:進(jìn)行人工魚(yú)群繁衍,初始化特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù),將系統(tǒng)信噪比增益反饋至噪聲調(diào)節(jié)模塊,將食物濃度反饋至步長(zhǎng)調(diào)整模塊;步驟d包括:
步驟d1:計(jì)算每條人工魚(yú)的食物濃度,即當(dāng)前確定的非線性系統(tǒng)參數(shù)帶入非線性系統(tǒng),得到輸出信號(hào)的信噪比即食物濃度,結(jié)果反饋至魚(yú)群聚群覓食單元即步驟d2和魚(yú)群追尾覓食單元即步驟d3;
步驟d2:每條人工魚(yú)進(jìn)行聚群行為,即若滿足視野范圍內(nèi)所有人工魚(yú)平均食物濃度值大于當(dāng)前食物濃度和擁擠度因子的乘積,則向此目標(biāo)移動(dòng)一步,步長(zhǎng)值為步驟e的輸出結(jié)果,若不,則隨機(jī)移動(dòng)一步;
步驟d3:每條人工魚(yú)進(jìn)行追尾行為,即若滿足視野范圍內(nèi)人工魚(yú)的最大食物濃度與人工魚(yú)數(shù)量的比大于當(dāng)前食物濃度和擁擠度因子的乘積,則向此目標(biāo)移動(dòng)一步,步長(zhǎng)值為步驟e的輸出結(jié)果,若不,則隨機(jī)移動(dòng)一步;
步驟d4:給人工魚(yú)代表的周期信號(hào)添加噪聲,當(dāng)食物濃度能夠提升的人工魚(yú)比例達(dá)到門(mén)限值時(shí),取此時(shí)添加的噪聲強(qiáng)度值,給輸入信號(hào)恒定添加此大小噪聲。
步驟e:根據(jù)當(dāng)代人工魚(yú)食物濃度對(duì)應(yīng)的輸出信號(hào)譜峰值進(jìn)行步長(zhǎng)調(diào)整,當(dāng)共振譜峰值一致的人工魚(yú)數(shù)量占全體數(shù)量比例小于一定門(mén)限值時(shí),所有人工魚(yú)按照步長(zhǎng)調(diào)整策略調(diào)整,當(dāng)不小于門(mén)限值時(shí),共振譜峰值一致的人工魚(yú)步長(zhǎng)按照調(diào)整策略調(diào)整,其余人工魚(yú)群步長(zhǎng)轉(zhuǎn)為固定值,將每條人工魚(yú)步長(zhǎng)反饋至步驟d的魚(yú)群繁衍過(guò)程;
步驟f:取步驟d經(jīng)過(guò)兩種魚(yú)群行為后食物濃度較大值更新特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù),并判斷繁衍一代的人工魚(yú)是否滿足:
①連續(xù)兩次特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)數(shù)據(jù)沒(méi)有更新,②兩次前特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)數(shù)據(jù)更新量大小小于一定歷史最優(yōu)增長(zhǎng)量均值的1/2;若是,進(jìn)入步驟g,若否,進(jìn)入步驟d;
步驟g:停止魚(yú)群繁衍,取特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)最優(yōu)食物濃度,即原始周期信號(hào)系統(tǒng)信噪比增益,將對(duì)應(yīng)的非線性系統(tǒng)參數(shù)帶入非線性系統(tǒng)對(duì)原始信號(hào)隨機(jī)共振,即得到處理恢復(fù)后的信號(hào)。
實(shí)施例2:結(jié)合圖1-圖5,一種基于人工魚(yú)群算法的自適應(yīng)隨機(jī)共振系統(tǒng),包括歸一化隨機(jī)共振模塊101、人工魚(yú)群模塊102、步長(zhǎng)調(diào)整模塊103、噪聲調(diào)節(jié)模塊104以及迭代控制模塊105。其中,歸一化隨機(jī)共振模塊101將原始周期信號(hào)結(jié)合隨機(jī)共振歸一化處理,發(fā)送到人工魚(yú)群模塊102;人工魚(yú)群模塊102根據(jù)步長(zhǎng)調(diào)整模塊103和噪聲調(diào)節(jié)模塊104的反饋結(jié)果對(duì)隨機(jī)共振輸出結(jié)果進(jìn)行魚(yú)群繁衍迭代,結(jié)果反饋至迭代控制模塊105進(jìn)行迭代控制;步長(zhǎng)調(diào)整模塊103根據(jù)自適應(yīng)參數(shù)尋優(yōu)收斂狀況調(diào)整魚(yú)群迭代步長(zhǎng)控制收斂速度,并將步長(zhǎng)調(diào)整結(jié)果反饋至人工魚(yú)群模塊102加速自適應(yīng)過(guò)程;噪聲調(diào)節(jié)模塊104根據(jù)魚(yú)群繁衍過(guò)程中隨機(jī)共振輸入需求通過(guò)添加噪聲的形式調(diào)節(jié)原始信號(hào)信噪比,提升信號(hào)檢測(cè)性能,并將結(jié)果反饋至人工魚(yú)群模塊102;迭代控制模塊105通過(guò)跟蹤人工魚(yú)群模塊102中目標(biāo)參數(shù)最優(yōu)值增長(zhǎng)情況自適應(yīng)判定迭代停止條件。
歸一化隨機(jī)共振模塊101包括信號(hào)尺度處理單元201和隨機(jī)共振單元202。
信號(hào)尺度處理單元201用于將所述周期信號(hào)進(jìn)行尺度歸一化變換以滿足隨機(jī)共振單元202的小參數(shù)條件限制。
隨機(jī)共振單元202用于將所述周期信號(hào)進(jìn)行隨機(jī)共振處理得到結(jié)果作為人工魚(yú)群模塊102中的魚(yú)群食物濃度衡量指標(biāo)。
信號(hào)尺度處理單元201實(shí)現(xiàn)非線性系統(tǒng)參數(shù)、噪聲方差以及信號(hào)幅度大小的同時(shí)調(diào)整。以非線性系統(tǒng)為雙穩(wěn)態(tài)系統(tǒng)為例,。由于輸入信號(hào)頻率未知,需要對(duì)信號(hào)所處頻段進(jìn)行初步估計(jì)以確定系統(tǒng)參數(shù)a、b的初始范圍。當(dāng)參數(shù)尋優(yōu)范圍確定后,范圍選取過(guò)大則其內(nèi)參數(shù)有可能產(chǎn)生非線性系統(tǒng)溢出,隨機(jī)共振單元202無(wú)法計(jì)算出結(jié)果,即無(wú)法計(jì)算食物濃度。這時(shí)須采取合適的策略減小參數(shù)尋優(yōu)范圍,防止出現(xiàn)系統(tǒng)溢出狀況。
人工魚(yú)群模塊102用于對(duì)隨機(jī)共振單元202處理后的輸出結(jié)果進(jìn)行人工魚(yú)群迭代繁衍尋優(yōu),獲取最佳系統(tǒng)參數(shù)和非線性系統(tǒng)輸出信號(hào)。包括魚(yú)群聚群覓食單元301、魚(yú)群追尾覓食單元302和特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)303。
魚(yú)群聚群覓食單元301和魚(yú)群追尾覓食單元302的輸入數(shù)據(jù)均為上一代人工魚(yú)群,同時(shí)進(jìn)行聚群覓食以及追尾覓食行為,其中的步長(zhǎng)參數(shù)由人工魚(yú)群模塊102反饋至步長(zhǎng)調(diào)整模塊103后得到的自適應(yīng)優(yōu)化步長(zhǎng),而求解每個(gè)行為中食物濃度值時(shí)的周期信號(hào)信噪比為人工魚(yú)群模塊102輸出值經(jīng)過(guò)噪聲調(diào)節(jié)模塊104反饋調(diào)節(jié)后的信噪比。特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)303用于存放每代人工魚(yú)繁衍后的最優(yōu)值資源信息,其中包括短每代人工魚(yú)繁衍后的最優(yōu)人工魚(yú)的食物濃度大小和對(duì)應(yīng)位置信息(即最優(yōu)系統(tǒng)參數(shù))。
步長(zhǎng)調(diào)整模塊103用于根據(jù)特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)303更新值進(jìn)行步長(zhǎng)調(diào)整,反饋至魚(yú)群聚群覓食單元301和魚(yú)群追尾覓食單元302中的步長(zhǎng)參數(shù)。該模塊包括策略決策單元401和步長(zhǎng)計(jì)算單元402。
策略決策單元401根據(jù)特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)303反饋的最佳人工魚(yú)食物濃度進(jìn)行步長(zhǎng)策略選擇。即根據(jù)食物濃度所對(duì)應(yīng)譜峰峰值判斷迭代收斂狀態(tài),相當(dāng)于根據(jù)實(shí)際收斂狀況判斷收斂程度,不依賴與其他變量(如時(shí)間、繁衍代數(shù)等)。設(shè)定門(mén)限值的根據(jù)為:當(dāng)大部分隨機(jī)共振收斂于一個(gè)頻點(diǎn)時(shí),剩余的頻點(diǎn)判定不一致的人工魚(yú)以最大步長(zhǎng)迭代一次,防止出現(xiàn)局部最優(yōu),并且此部分人工魚(yú)食物濃度不參與特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)303的更新,收斂一致的人工魚(yú)結(jié)果輸出至步長(zhǎng)計(jì)算單元402計(jì)算步長(zhǎng);否則,所有人工魚(yú)輸出至步長(zhǎng)計(jì)算單元402計(jì)算步長(zhǎng)。
一種基于人工魚(yú)群算法的自適應(yīng)隨機(jī)共振方法,該方法包括以下步驟:
步驟s501:采用harr小波變換對(duì)輸入信號(hào)進(jìn)行初步處理:
ψ(τ)是harr小波母函數(shù)。
步驟s502:由歸一化原理確定雙穩(wěn)態(tài)系統(tǒng)參數(shù)a、b的自適應(yīng)尋優(yōu)范圍。受白噪聲和微弱周期信號(hào)作用的雙穩(wěn)態(tài)系統(tǒng)是產(chǎn)生隨機(jī)共振最為常用的一種非線性系統(tǒng),因此隨機(jī)共振單元以雙穩(wěn)態(tài)非線性系統(tǒng)為例,可表示為langevin方程:
a和b為雙穩(wěn)態(tài)系統(tǒng)參數(shù)。雙穩(wěn)系統(tǒng)在信號(hào)和噪聲的共同作用下產(chǎn)生隨機(jī)共振輸出x(t)。當(dāng)雙穩(wěn)系統(tǒng)參數(shù)、信號(hào)參數(shù)、噪聲強(qiáng)度達(dá)到匹配時(shí),噪聲的能量會(huì)增強(qiáng)信號(hào),使非線性系統(tǒng)輸出信噪比增加,輸出功率譜在信號(hào)頻率f0處出現(xiàn)被放大的峰值。
(2)中參數(shù)a、b均為大于0的實(shí)數(shù)時(shí),可通過(guò)引入以下變量替換對(duì)雙穩(wěn)態(tài)系統(tǒng)模型進(jìn)行歸一化處理:
其中γ(t)變換為
歸一化目標(biāo)值為a=1,b=1,f=0.01hz,歸一化后的信號(hào)頻率壓縮為之前的1/a,并且噪聲和信號(hào)幅度同比例進(jìn)行了縮放,解決了隨機(jī)共振的小參數(shù)條件限制,可應(yīng)用于任意大參數(shù)周期信號(hào)處理。
步驟s503:當(dāng)參數(shù)尋優(yōu)范圍確定后,范圍選取過(guò)大則其內(nèi)參數(shù)就有可能造成非線性系統(tǒng)的溢出,無(wú)法得出隨機(jī)共振結(jié)果,即無(wú)法計(jì)算食物濃度。這時(shí)須采取合適的策略減小參數(shù)尋優(yōu)范圍,防止出現(xiàn)系統(tǒng)溢出狀況。調(diào)整策略:通過(guò)預(yù)處理確定信號(hào)所處頻段,設(shè)信號(hào)頻率f=t×10m,t∈(0.1,10),m=0,1,2,3...,根據(jù)(4)式,歸一化頻率是0.01hz,最佳a(bǔ)處于t×10m+2,t∈(0.1,10)附近,因此取系統(tǒng)參數(shù)a、b的尋優(yōu)范圍[1×10m+1,1×10m+3]。langevin方程是高次偏微分方程,當(dāng)a取值較大時(shí),易發(fā)生溢出現(xiàn)象,b值大小不作為范圍修正參考,尋優(yōu)范圍保持和a一致。設(shè)某代中nspill條人工魚(yú)參數(shù)(a,b)為(ta,i×10m+2,tb,i×10m+2),ta,i,tb,i∈[0.1,10],i=1,2...nspill時(shí)發(fā)生了溢出現(xiàn)象,則將參數(shù)a、b的取值范圍均修正為[[1×10m+1,min(ta,i)×10m+2]],ta,i∈[0.1,10],即取發(fā)生溢出現(xiàn)象的人工魚(yú)的最小a值作為尋優(yōu)范圍上限。在下一代人工魚(yú)中,對(duì)所有不在尋優(yōu)范圍內(nèi)的人工魚(yú)進(jìn)行重新播種操作。
定義播種操作:在某些狀態(tài)下若無(wú)法計(jì)算食物濃度,說(shuō)明人工魚(yú)喂養(yǎng)范圍不當(dāng),淘汰此人工魚(yú),在更小的可喂養(yǎng)人工魚(yú)的范圍內(nèi)重新產(chǎn)生人工魚(yú),隨機(jī)獲取坐標(biāo)并計(jì)算食物濃度,得到新人工魚(yú)個(gè)體,而非繁殖的下一代。
步驟s504:對(duì)人工魚(yú)群進(jìn)行初始化,包括魚(yú)群規(guī)模n,視野visual0、步長(zhǎng)step0、stepmin0,擁擠度因子δ,最大重復(fù)嘗試次數(shù)try_number,確定視野visual=visual0×10m、步長(zhǎng)stepc=step0×10m、stepmin=stepmin0×10m(通過(guò)步驟503中頻點(diǎn)所處范圍確定量級(jí)),生成第一代人工魚(yú)群體;
步驟s505:進(jìn)行人工魚(yú)群繁衍,初始化特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)。xi=(x1,i,x2,i,x3,i,…,xn,i)表示第i代n條人工魚(yú)的當(dāng)前狀態(tài)。xk,i,k∈[1,n]表示第i次迭代中所需尋優(yōu)的目標(biāo)參數(shù)在規(guī)定范圍內(nèi)的n個(gè)取值。每條魚(yú)當(dāng)前坐標(biāo)的食物濃度f(wàn)c,即輸出信號(hào)的信噪比,找到擁有最大的fc的人工魚(yú)就是所需結(jié)果,擁有最大fc的人工魚(yú)坐標(biāo)xfinal為參數(shù)尋優(yōu)結(jié)果。
步驟s506:每條人工魚(yú)進(jìn)行聚群行為,人工魚(yú)當(dāng)前坐標(biāo)為xk,i,視野內(nèi)同伴數(shù)目為nf,求出視野內(nèi)所有同伴的坐標(biāo)中心點(diǎn)x″k,i,此坐標(biāo)食物濃度f(wàn)c″k,i。若滿足條件:
步驟s507:每條人工魚(yú)進(jìn)行追尾行為,人工魚(yú)當(dāng)前坐標(biāo)xk,i,尋找視野內(nèi)的食物濃度最高的同伴,若存在x″'k,i滿足fc″'k,inf>δfck,i,則擁有更高食物濃度且不太擁擠,向此坐標(biāo)移動(dòng)一步,轉(zhuǎn)入步驟s509,獲得步長(zhǎng)調(diào)整值stepk,i,移動(dòng)距離為
步驟s508:給人工魚(yú)代表的周期信號(hào)添加噪聲,添加高斯白噪聲使信號(hào)信噪比降低0-5db(不添加5db以上的噪聲,防止添加過(guò)多噪聲對(duì)隨機(jī)共振或信號(hào)帶來(lái)其他負(fù)面影響),結(jié)果反饋至步驟s505用于計(jì)算當(dāng)前人工魚(yú)食物濃度。設(shè)定當(dāng)食物濃度能夠提升的人工魚(yú)比例達(dá)到門(mén)限值th1時(shí),取此時(shí)添加的噪聲強(qiáng)度值,給輸入信號(hào)恒定添加此大小噪聲,以便噪聲能量更大程度匯聚到隨機(jī)共振的譜峰。對(duì)同一批人工魚(yú)反復(fù)試驗(yàn),可驗(yàn)證在0-5db范圍內(nèi)添加噪聲,能夠提升食物濃度的人工魚(yú)數(shù)量比例一般0.9±0.04,因此比例門(mén)限設(shè)定為th1=0.9,若添加噪聲達(dá)到上限時(shí)比例值仍未達(dá)到th1,則取獲得最大優(yōu)化人工魚(yú)數(shù)量的對(duì)應(yīng)噪聲。
步驟s509:以特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù)中最優(yōu)食物濃度對(duì)應(yīng)的輸出信號(hào)頻譜譜峰值作為參考值,進(jìn)行步長(zhǎng)調(diào)整(若首次進(jìn)行步長(zhǎng)調(diào)整,譜峰值為原始信號(hào)頻譜譜峰值)。通過(guò)歸一化處理和添加噪聲操作能夠快速使信號(hào)發(fā)生隨機(jī)共振,但對(duì)于條人工魚(yú),不同人工魚(yú)發(fā)生隨機(jī)共振的代數(shù)不同,因此為使全體人工魚(yú)快速收斂,通過(guò)設(shè)定人工魚(yú)數(shù)量比例門(mén)限th2,使隨機(jī)共振譜峰位置判斷不一致(隨機(jī)共振未發(fā)生或發(fā)生過(guò)共振或欠共振)的人工魚(yú)xother不參與公告板更新,并且采用區(qū)別于其他人工魚(yú)的步長(zhǎng)調(diào)整策略。
在魚(yú)群繁衍初期,采用較大步長(zhǎng),方便快速收斂,以隨機(jī)共振譜峰變化程度為衡量標(biāo)準(zhǔn),隨著譜峰變化程度減小,步長(zhǎng)相應(yīng)減小,直到最終收斂??紤]部分人工魚(yú)隨機(jī)共振頻點(diǎn)判斷出錯(cuò)的情況,此時(shí)采用最大步長(zhǎng)進(jìn)行移動(dòng),以便跳出局部最優(yōu)。
設(shè)人工魚(yú)隨機(jī)共振譜峰橫坐標(biāo)一致的人工魚(yú)坐標(biāo)集合為nr,總數(shù)為nr。當(dāng)
當(dāng)
其中stepk,i表示第i代中第k條人工魚(yú)的步長(zhǎng),結(jié)果反饋至步驟s506和s507,stepc為步長(zhǎng)固定值,stepmin是為了防止最后收斂過(guò)慢設(shè)定的步長(zhǎng)下限。參數(shù)w,q根據(jù)曲線仿真確定(令
步驟s510:比較步驟s506和步驟s507,取相較最優(yōu)值更新特征峰值檢測(cè)資源管理數(shù)據(jù)庫(kù),進(jìn)行繁衍結(jié)束條件判定,設(shè)定連續(xù)兩代公告板最優(yōu)值增長(zhǎng)量為