楊緒峰 喬 斌 凌震瑩 張 雷
(中國船舶重工集團(tuán)公司第七一五研究所 杭州 310023)
?
基于GSL科學(xué)計(jì)算庫的主動(dòng)定向浮標(biāo)信號(hào)處理算法實(shí)現(xiàn)*
楊緒峰喬斌凌震瑩張雷
(中國船舶重工集團(tuán)公司第七一五研究所杭州310023)
摘要利用GSL開源科學(xué)計(jì)算庫的強(qiáng)大計(jì)算功能,實(shí)現(xiàn)了主動(dòng)定向浮標(biāo)信號(hào)處理的編碼。采用互譜法求CW回波信號(hào)目標(biāo)方位,依據(jù)目標(biāo)多普勒頻移來測(cè)速。并做了距離方位可視化顯示,使得目標(biāo)方位顯示直觀明了。
關(guān)鍵詞GSL科學(xué)計(jì)算庫; 聲納浮標(biāo); 矢量水聽器; 互譜法
Class NumberTN219
1引言
浮標(biāo)系統(tǒng)[1~3]按照作用功能,分為溫深浮標(biāo)、海洋環(huán)境噪聲浮標(biāo)、全向浮標(biāo)[4]、定向浮標(biāo)[5];按照工作方式,分為被動(dòng)浮標(biāo)[6]和主動(dòng)浮標(biāo)。其中,主動(dòng)全向浮標(biāo)的換能器只能得到質(zhì)點(diǎn)聲壓信息,一枚主動(dòng)全向浮標(biāo)只能確定一個(gè)目標(biāo)距離圓和一個(gè)徑向速度,單枚浮標(biāo)不具備測(cè)向功能。主動(dòng)定向浮標(biāo)采用矢量水聽器,單枚浮標(biāo)不僅能精確測(cè)定目標(biāo)距離和徑向速度,還實(shí)現(xiàn)了目標(biāo)方位測(cè)量,提高了單枚浮標(biāo)的使用效率。
2原理
2.1主動(dòng)定向浮標(biāo)[7]信號(hào)處理
主動(dòng)定向浮標(biāo)采用矢量水聽器,不僅能得到聲壓信息,還能測(cè)量質(zhì)點(diǎn)振速信息,這使得單枚主動(dòng)定向浮標(biāo)便具備測(cè)向功能。采用互譜法進(jìn)行方位計(jì)算,能抵抗各向同性噪聲干擾。互譜法由東西、南北互相垂直方向的互功率譜經(jīng)過反正切計(jì)算得到,而目標(biāo)速度信息則依靠目標(biāo)多普勒頻移來計(jì)算。
2.2距離-方位可視化原理
互譜法求得的是距離-頻率維下的振幅-方位值,直接用來顯示不能直觀明了地觀測(cè)到目標(biāo)方位。有必要轉(zhuǎn)化為距離-方位維下的振幅值可視化顯示。
如圖1所示,首先建立距離-角度(R-θ)坐標(biāo)系下的振幅(A)三維空間, 對(duì)距離-方位空間(R-B)上的每一點(diǎn)(ri,bk)∈[R,B],取最大振幅:
A(ri,bk)=max{Aj1(ri,bk,fj1),…,Aj2(ri,bk,fjN)}
(12)
A(ri,bk)映射到距離-角度(R,θ)空間
(13)
得到了距離-角度(R,θ)空間的振幅值A(chǔ)(ri,θk)顯示結(jié)果。
圖1 (R-F-B-A)四維空間到(R-θ-A)三維空間的變換
2.3GSL開源科學(xué)計(jì)算庫介紹
GNU科學(xué)計(jì)算庫(GNU Scientific Library)[8]是一個(gè)跨平臺(tái)的科學(xué)計(jì)算庫。它以C語言為底層開發(fā)語言,開發(fā)出向量、矩陣運(yùn)算、數(shù)值計(jì)算、傅里葉分析、小波分析、統(tǒng)計(jì)分析等科學(xué)計(jì)算庫,并封裝成API接口,方便編程人員直接調(diào)用并做進(jìn)一步的高層次開發(fā)。GSL開源庫節(jié)省了編程人員從最底層編寫科學(xué)計(jì)算代碼的過程,提高了編程效率。由于GSL科學(xué)計(jì)算庫是一個(gè)開源計(jì)算庫,可以方便編程人員直接使用,擴(kuò)大了編程用戶群體。
3算法設(shè)計(jì)與軟件實(shí)現(xiàn)
3.1三路信號(hào)預(yù)處理
經(jīng)矢量水聽器接收的全向信號(hào)是由矢量水聽器的聲壓信息得到,兩路正交的東西、南北信號(hào)由質(zhì)點(diǎn)振速信息得到。假設(shè)目標(biāo)方位為θ,全向、東西、南北三路CW時(shí)域信號(hào)分別為XOm、XEW和XNS,則三路信號(hào)有如下關(guān)系:
圖2 信號(hào)預(yù)處理流程
(1)
(2)
經(jīng)矢量水聽器接收的全向、東西、南北三路CW時(shí)域信號(hào),都要做預(yù)處理。首先經(jīng)過復(fù)解調(diào)將信號(hào)的中心頻率搬移到零頻;然后對(duì)時(shí)域信號(hào)做FFT得到信號(hào)的頻譜;經(jīng)過譜線選擇,得到了全向、東西、南北三路CW信號(hào)的譜數(shù)據(jù)。
全向、東西、南北三路CW時(shí)域信號(hào)經(jīng)FFT變換為頻譜數(shù)據(jù)的公式為
(3)
=YOm(k)·sin(θ)
(4)
=YOm(k)·cos(θ)
(5)
經(jīng)過3.1節(jié)的預(yù)處理,得到三路信號(hào)的頻譜,對(duì)全向頻譜數(shù)據(jù)進(jìn)行求模運(yùn)算,便得到距離-頻率維下的振幅值。公式為
YABS=abs|YOm(k)|
(6)
CW信號(hào)預(yù)處理程序代碼如下:
// inData輸入時(shí)域數(shù)據(jù)
//index numPerbich輸入數(shù)據(jù)批次與點(diǎn)數(shù)
//nfft ndft fft與dft點(diǎn)數(shù)
//sel_out selnum譜線選擇輸出結(jié)果與點(diǎn)數(shù)
_LOCAL_ void CWPreProc(double *inData, int index, gsl_complex *sel_out, int numPerbich, int ndft, int nfft, int selnum)
{
int i;
//復(fù)解調(diào)
// cwppReal復(fù)解調(diào)輸出實(shí)部
// cwppImag復(fù)解調(diào)輸出虛部
//FC FS 信號(hào)中心頻率與采樣率
for(i=0;i { cwppReal[i] = *(inData+i) *cos(2*pi*(index*numPerbich+i)*FC/FS); cwppImag[i] = *(inData+i) *sin(2*pi*(index*numPerbich+i)*FC/FS); } //重疊FFT //DFT舊矩陣右移 // cwppDFT_real cwppDFT_ imag DFT數(shù)據(jù)實(shí)虛部 GslVectorCpy(cwppDFT_real, 1, cwppDFT_real+numPerbich, 1, ndft-numPerbich, 1); GslVectorCpy(cwppDFT_imag, 1, cwppDFT_imag+numPerbich, 1, ndft-numPerbich, 1); //左邊添加新進(jìn)復(fù)解調(diào)點(diǎn) GslVectorCpy(cwppReal, 1, cwppDFT_real, 1, numPerbich, 1); GslVectorCpy(cwppImag, 1, cwppDFT_imag, 1, numPerbich, 1); //實(shí)數(shù)向量化復(fù)數(shù)向量 //cwppDFT_compx DFT復(fù)數(shù)數(shù)據(jù) GslVectorRect(cwppDFT_real, cwppDFT_imag, &cwppDFT_compx[0], nfft); //FFT GslVectorFFT((double *)cwppDFT_compx,cwppFFT_out,nfft); //譜線選擇 GslVectorCpy(cwppFFT_out+nfft-1-selnum, 1, sel_out,1, selnum, 1);//譜線選擇前半部分 GslVectorCpy(cwppFFT_out, 1,sel_out +selnum,1, selnum, 1);//譜線選擇后半部分 } 3.2互譜法計(jì)算目標(biāo)方位并顯示 利用互譜法[9~10]計(jì)算目標(biāo)方位的流程圖如圖3所示,東西、南北CW譜數(shù)據(jù)分別與全向譜數(shù)據(jù)共軛相乘,得到全向-東西互功率譜和全向-南北互功率譜,公式為 圖3 互譜法測(cè)向流程圖 IOm_EW(k)=YOm(k)YEW(k)* =YOm(k)YOm(k)*·sin(θ) (7) IOm_NS(k)=YOm(k)YNS(k)* =YOm(k)YOm(k)*·cos(θ) (8) (9) 4實(shí)驗(yàn)仿真 仿真實(shí)驗(yàn)中,設(shè)定目標(biāo)距離為3km,目標(biāo)方位為150°,速度為10節(jié)。在0dB、-20dB不同信噪比下,0.5s脈寬下的CW信號(hào)距離-速度、距離-方位探測(cè)結(jié)果見圖4~圖9。 4.1速度-振幅顯示 圖4 速度-振幅顯示(SNR=0dB) 圖5 速度-振幅顯示(SNR=-20dB) 4.2距離-速度顯示 圖6 距離-速度顯示(SNR=0dB) 圖7 距離-速度顯示(SNR=-20dB) 4.3距離-方位顯示 圖8 距離-方位顯示(SNR=0dB) 圖9 距離-方位顯示(SNR=-20dB) 5結(jié)語 本文基于GSL科學(xué)計(jì)算庫進(jìn)行主動(dòng)定向浮標(biāo)信號(hào)處理的軟件編碼。利用GSL科學(xué)計(jì)算庫中提供了大量的科學(xué)計(jì)算API接口,使得軟件編碼變得簡捷高效。同時(shí),給出了距離-方位可視化顯示,使得圖形界面顯示更加直觀。 參 考 文 獻(xiàn) [1] 潘勤升.聲吶浮標(biāo)最新進(jìn)展[J].聲學(xué)與電子工程,1991(24):45-48. [2] 尹曉東,劉清宇,徐江.國外航空聲學(xué)探潛裝備研究進(jìn)展[J].聲艦船科學(xué)技術(shù),2008(30):175-172. [3] 凌國民,王澤民.聲吶浮標(biāo)技術(shù)及其發(fā)展方向[J].聲學(xué)與電子工程,2007(87):1-5. [4] 潘勤升.主動(dòng)全向聲吶浮標(biāo)系統(tǒng)簡介[J].聲學(xué)與電子工程,1994(33):41-39. [5] 潘勤升.被動(dòng)定向聲吶浮標(biāo)系統(tǒng)[J].聲學(xué)技術(shù),1992(Z1):76-78. [6] 潘勤升.被動(dòng)聲納系統(tǒng)在多干擾源場(chǎng)景下的探測(cè)性能分析[J].艦船電子工程,2016(36):133-138. [7] 潘勤升.主動(dòng)定向的聲吶浮標(biāo)及系統(tǒng)[J].聲學(xué)與電子工程,1988(1):28-30. [8] Mark Galassi, Jim Davies,etal. GNU Scientific Library Reference Manual,2010(3):1-504. [9] 陳濤,韓強(qiáng)強(qiáng),劉魯濤等.改進(jìn)的基于互譜的寬帶信號(hào)測(cè)向算法[J].系統(tǒng)工程與電子技術(shù),2014(36):879-883. [10] 劉伯勝,田寶晶.矢量傳感器估計(jì)目標(biāo)方位的誤差的仿真研究[J].哈爾濱工程大學(xué)學(xué)報(bào),2003(24):491-494. 收稿日期:2016年1月7日,修回日期:2016年2月22日 作者簡介:楊緒峰,男,碩士,助理工程師,研究方向:水聲信號(hào)處理與編碼。喬斌,男,碩士,高級(jí)工程師,研究方向:水聲信號(hào)處理與編碼。凌震瑩,女,碩士,高級(jí)工程師,研究方向:軟件編碼與軟件體系。張雷,男,碩士,高級(jí)工程師,研究方向:顯示控制與編碼。 中圖分類號(hào)TN219 DOI:10.3969/j.issn.1672-9730.2016.07.011 Realization of Directional Sonobuoy Signal Process Algorithm Based on GNU Scientific Library YANG XufengQIAO BinLING ZhengyingZHANG Lei (No.715 Research Institute of CSIC, Hangzhou310023) AbstractUsing the strong computing ability of GSL, coding Directional Sonobuoy signal process is realized. In our algorithm, target bearing of CW signal is calculated by cross spectrum method and target speed is calculated by Doppler frequency shift. In order to make target display intuitire and clear, range to bearing display visualization is done in this paper. Key WordsGNU scientific library, sonobuoy, vector hydrophone, cross spectrum method