基于混沌理論的微弱信號檢測的DSP實(shí)現
引言
在實(shí)際的數據采集和信號處理系統中,由于信號的幅值較小,測量時(shí)又受到信號端、傳輸器件及變換器件等本身存在的本底噪聲的影響,表現出的總體效果是有用信號被大量的噪聲和干擾所淹沒(méi)。如何檢測這種強噪聲干擾情況下的微弱信號,是信號處理中的重要研究?jì)热?。許多科研工作者已提出了一些有效的處理方法,如基于高增益的寬帶波束形成的微弱信號檢測方法及微弱信號的相干檢測法等,但都存在靈敏度不高或適應性不強的問(wèn)題。混沌系統對小信號的敏感性及對噪聲的強免疫力,使它在微弱信號檢測中的應用潛力很大。
DSP以其高度的集成度,極快的處理速度,較低的功耗,能滿(mǎn)足實(shí)時(shí)性的要求等在信號處理中占據了重要的地位。本文構建了一優(yōu)化的DSP實(shí)驗系統,把基于混沌理論的微弱信號檢測真正應用于實(shí)際的系統中。實(shí)驗表明,此系統能很好地實(shí)現微弱信號的檢測及其特性的測量,具有較高的精度和廣泛的應用前景。
1 基于混沌理論檢測微弱信號的原理
改進(jìn)Duffing方程的具體形式為:
其中fcos(wτ)為周期策動(dòng)力,k為阻尼比,-x+x3為非線(xiàn)性恢復力。
理論研究表明,當k取某一固定值,f從0逐漸增加到臨界值Fd時(shí),系統狀態(tài)從周期1內軌運動(dòng)轉變?yōu)榛煦邕\動(dòng);進(jìn)一步增加超過(guò)閾值Fc,系統以外加周期力的頻率進(jìn)行大尺度的周期振蕩。取f=F0,F0稍大于Fc,當用小幅度的、與周期策動(dòng)力頻率相近的周期信號以及白噪聲對改進(jìn)的Duffing振子進(jìn)行攝動(dòng)時(shí),系統將時(shí)而處于大尺度周期運動(dòng)狀態(tài),時(shí)而處于混沌運動(dòng)狀態(tài),從而出現陣發(fā)性混沌現象。通過(guò)觀(guān)測混沌系統相軌跡變化,可知待檢信號中是否含有周期信號,調節周期策動(dòng)力的值改變系統的狀態(tài)可以求得信號的由于上述原因值。在陣發(fā)性混沌歷程中,當ωΔω(Δω為相對頻差)很小時(shí)系統對策動(dòng)力的緩慢變化能夠很好地響應,因此周期和混沌的出現是涇渭分明的。在微小頻差的影響下,系統以周期T=2π/ωωΔ進(jìn)行混沌運動(dòng)。根據系統處于周期運動(dòng)狀態(tài)時(shí)速度等間隔地通過(guò)零點(diǎn),而系統處于混沌狀態(tài)時(shí)速度過(guò)零點(diǎn)的時(shí)間間隔不定,可通過(guò)比較速度過(guò)零點(diǎn)的時(shí)間間隔有無(wú)規律,判斷系統是處于大尺度周期運動(dòng)狀態(tài)還是處于混沌狀態(tài)。若從某一時(shí)刻tx開(kāi)始速度值在某一容差δ范圍內過(guò)零點(diǎn)的時(shí)間間隔基本相同,可以認為系統從tx開(kāi)始進(jìn)入大尺度周期運動(dòng)狀態(tài),從而得到每個(gè)周期內系統進(jìn)行大尺度周期運動(dòng)狀態(tài)的起始時(shí)刻。相減取平均,得陣發(fā)混沌運動(dòng)的周期T,這樣即可求得弱信號的頻率值。
2 系統設計
系統由A/D轉換器、數據緩存單元(FIFO)、DSP和USP2.0接口電路以及相應的電源轉換電路、Flash程序保存單元等組成,基本框圖如圖1所示。
基于實(shí)際信號采樣時(shí)間的要求,為滿(mǎn)足數據的處理時(shí)間、系統數據傳輸的需要,并考慮到芯片的價(jià)格、供貨周期、應用情況等其它因素,系統中A/D、DSP、FIFO、USB分別選用TI公司的ADS5422、TMS320C6203B,IDT公司的IDT70V024以及Cypress公司的CY7C68013。
外界輸入信號經(jīng)A/D采樣后,采集到的數據先保存在FIFO中,數據采集結束后DSP從FIFO中讀取數據開(kāi)始信號處理。信號處理的算法已編成程序保存在外部的Flash芯片上,供DSP上電讀程序到其內部RAM單元,全速運行程序。信號處理后的數據通過(guò)USB2.0接口依次傳送到主機方,把數據數值存儲在PC機內,以便進(jìn)行相應的數值分析,實(shí)時(shí)顯示檢測結果并繪制相應的圖形,如顯示有無(wú)信號。若有,進(jìn)一步顯示所檢測到的微弱信號的幅值、頻率等。
3 信號處理算法程序流程
基于混沌理論檢測微弱信號的信號處理算法流程如圖2(a)所示。大致分為三個(gè)功能模塊,包括:判斷有無(wú)角頻率為ω的微弱信號,求微弱信號的幅值和信號的頻率。求微弱信號的具體流程如圖2(b)所示。
4 信號處理程序算法的優(yōu)化
按照CCS(Code composer Studio,代碼設計套件)環(huán)境下支持的優(yōu)化C的方法編程,實(shí)現任務(wù)的功能后,考慮到C編譯器產(chǎn)生的代碼不會(huì )使用到一些特殊、高效的DSP指令,而線(xiàn)性匯編則使用DSP的匯編指令。同時(shí)不必考慮指令的并進(jìn)運行情況、指令的延時(shí)和寄存器的使用,對代碼進(jìn)行多方面的優(yōu)化,包括:將能夠并行執行的指令并行執行;處理軟件流水線(xiàn)中的流水線(xiàn)等待問(wèn)題;分配寄存器的使用;為指令分配功能單元等。因此,對于程序中耗時(shí)比較大的部分可以利用線(xiàn)性匯編語(yǔ)言進(jìn)一步優(yōu)化。采用C語(yǔ)言和匯編語(yǔ)言的混合編程,既保證程序的結構化和可讀性,又保證應用的實(shí)時(shí)性,以滿(mǎn)足系統對實(shí)時(shí)性和代碼長(cháng)度的要求。例如,對于應用改進(jìn)的Euler方法求系統輸出的前三點(diǎn)值的C代碼(h,k,f,a為已知系統參數):
void Euler(float *x,float *y){
int i;
float t1,t2,t11,t22;
for(i=0;i3;i++){
t1=h*y[i]+x[i];
t11=h*((-k)*y[i]+x[i]-powf(x[i],3)+f*Xf[i]+a*s[i]+Zs[i]+y[i];
t2=h*t11+x[i];
t22=y[i]+h*((-k)*t11+t1-powf(t1,3)+f*Xf[i+1]+a*s[i+1]+Zs[i+1]);
x[i+1]=(t1+t2)/2;
y[i+1]=(t11+t22)/2;
}
}
相應的線(xiàn)性匯編程序見(jiàn)網(wǎng)站www.dpj.com.cn。
優(yōu)化前,在CCS上測得的C程序段消耗時(shí)鐘周期為39763個(gè),而優(yōu)化后的線(xiàn)性匯編所消耗時(shí)鐘周期為3879個(gè),效率顯著(zhù)提高。
5 結果分析與結論
設定系統參數使PC顯示系統相軌跡是臨界狀態(tài),然后依次加入外界輸入信號。
①加入純噪聲信號。當只有白噪聲Zs并入系統時(shí),不論怎么調節Duffing陣子的參數ω,從時(shí)間圖像上觀(guān)測發(fā)現系統始終處于混沌狀態(tài),如圖3所示??梢?jiàn)噪聲雖然強烈,但是吸引子仍能將相點(diǎn)束縛在軌道內。說(shuō)明混沌系統對噪聲具有強免疫力。
②加入混有噪聲的待測周期信號。將信號y(t)=Asin(ω0t)+randn并入系統,A、ω0分別為待測信號由于幅值及角頻率,取A=0.005, ω0=600.5rad/s,randn是均勻分布在(-1,1)之間的均值為0的白噪聲。由于混沌系統對周期信號非常敏感,當ω以公比0.03增大到ω0附近,即ω=ω1=597.03rad/s和ω=ω2=614.94rad/s時(shí),從時(shí)間圖像上可以觀(guān)測到有規律的陣發(fā)混沌現象,如圖4所示。根據系統陣發(fā)混沌運動(dòng)的周期T,可由ω(2π/T)求微弱信號的角頻率。求得微弱信號角頻率為601.737rad/s,與實(shí)際值600.5rad/s相比,誤差非常小,精度比較高。這證明了,運用此DSP系統可以較好地檢測出微弱信號及其相關(guān)特性,具有廣泛的應用前景。
評論