宋文生 王琨 曹偉軍 付傳寶
摘要:針對(duì)海洋探測(cè)、安防、監(jiān)控等領(lǐng)域多節(jié)點(diǎn)水聲信號(hào)采集及同步傳輸需求,使用XilinxSpartan6FPGA采用偽隨機(jī)序列和數(shù)字相關(guān)技術(shù)對(duì)各個(gè)節(jié)點(diǎn)的傳輸時(shí)延精確測(cè)量,在岸上信號(hào)處理單元對(duì)測(cè)量結(jié)果匯總、分析,并根據(jù)測(cè)量結(jié)果對(duì)信號(hào)進(jìn)行時(shí)延調(diào)整,實(shí)現(xiàn)所有節(jié)點(diǎn)信號(hào)水下采集信號(hào)的同步輸出。根據(jù)FPGA的處理能力,其測(cè)量及調(diào)整精度可達(dá)3ns,經(jīng)調(diào)整后的多個(gè)節(jié)點(diǎn)之間的信號(hào)輸出時(shí)延誤差滿足系統(tǒng)后續(xù)信號(hào)處理要求。
關(guān)鍵詞:級(jí)聯(lián)組網(wǎng);m序列;數(shù)字相關(guān)技術(shù);環(huán)形組網(wǎng);時(shí)延測(cè)量;時(shí)延調(diào)整
隨著水下探測(cè)、監(jiān)控、安防需求的進(jìn)一步擴(kuò)大,各國(guó)水下探測(cè)的距離、分辨率要求不斷提升,對(duì)水聲信號(hào)采集的可靠性、實(shí)時(shí)性、一致性要求也越來(lái)越高,本文針對(duì)水下信號(hào)采集的新需求,提出采用雙環(huán)自愈環(huán)形組網(wǎng)方式提高系統(tǒng)可靠性,同時(shí)通過(guò)采用m序列、數(shù)字相關(guān)技術(shù)及先進(jìn)先出(FIFO)存儲(chǔ)器實(shí)現(xiàn)系統(tǒng)時(shí)延參數(shù)的實(shí)時(shí)調(diào)整,解決了環(huán)形網(wǎng)絡(luò)中由于可變傳輸路由引起的信號(hào)傳輸時(shí)延不固定的問(wèn)題,實(shí)現(xiàn)了系統(tǒng)中所有節(jié)點(diǎn)信號(hào)的同步輸出。
1系統(tǒng)架設(shè)
根據(jù)探測(cè)精度及系統(tǒng)實(shí)時(shí)性的要求,水下監(jiān)測(cè)、采集系統(tǒng)一般由1個(gè)岸上數(shù)據(jù)處理中心加n個(gè)水下信號(hào)監(jiān)測(cè)、采集節(jié)點(diǎn)組成。水下采集節(jié)點(diǎn)的數(shù)量與水下監(jiān)測(cè)系統(tǒng)的范圍及精度要求有關(guān);水下采集節(jié)點(diǎn)與岸上信號(hào)處理單元的組網(wǎng)方式通常有如下三種:點(diǎn)對(duì)點(diǎn)星形/并聯(lián)組網(wǎng)[1]、級(jí)聯(lián)組網(wǎng)和環(huán)形組網(wǎng)。各種組網(wǎng)方式如圖1所示。
在點(diǎn)對(duì)點(diǎn)星形組網(wǎng)模式下,水下節(jié)點(diǎn)與岸上節(jié)點(diǎn)之間采用點(diǎn)對(duì)點(diǎn)的直接連接方式,其數(shù)據(jù)通過(guò)水下與岸上節(jié)點(diǎn)之間獨(dú)立、專用的數(shù)據(jù)通道傳輸,系統(tǒng)架設(shè)完成后其傳輸時(shí)延為1個(gè)固定值;級(jí)聯(lián)組網(wǎng)模式下,各個(gè)水下節(jié)點(diǎn)采用數(shù)據(jù)逐級(jí)級(jí)聯(lián)上傳的方式傳輸,在系統(tǒng)架設(shè)完成后其信傳輸鏈路固定,因此其傳輸時(shí)延也為1個(gè)固定值。在這2種組網(wǎng)方式下,信號(hào)路徑、時(shí)延固定,但是點(diǎn)對(duì)點(diǎn)組網(wǎng)方式一旦監(jiān)測(cè)范圍擴(kuò)大、節(jié)點(diǎn)增加,其架設(shè)成本成線性增加;而級(jí)聯(lián)組網(wǎng)形式由于采用逐級(jí)上傳,水下任意1個(gè)節(jié)點(diǎn)故障都會(huì)導(dǎo)致后續(xù)所有節(jié)點(diǎn)數(shù)據(jù)無(wú)法正常上傳。
環(huán)形組網(wǎng)也是采用水下節(jié)點(diǎn)逐級(jí)上傳的方式,與級(jí)聯(lián)組網(wǎng)方式的不同之處在于:級(jí)聯(lián)組網(wǎng)水下末端節(jié)點(diǎn)N只與N-1個(gè)水下節(jié)點(diǎn)相連,而環(huán)形組網(wǎng)方式末端節(jié)點(diǎn)N一端與N-1個(gè)水下節(jié)點(diǎn)相連,另一端與岸上節(jié)點(diǎn)相連,岸上節(jié)點(diǎn)、N個(gè)水下節(jié)點(diǎn)逐級(jí)首尾相連形成1個(gè)閉合的數(shù)據(jù)傳輸環(huán)路,只需要1芯首尾互相連接光纖,在采用波分復(fù)用的情況下就可以搭建順時(shí)針和逆時(shí)針?lè)较騼蓚€(gè)完整的雙環(huán)自愈數(shù)據(jù)傳輸環(huán)路[2],如圖2所示。
由于數(shù)據(jù)可以沿順時(shí)針、逆時(shí)針2個(gè)方式傳輸,采用環(huán)形組網(wǎng)的方式時(shí),1個(gè)節(jié)點(diǎn)故障其后續(xù)節(jié)點(diǎn)數(shù)據(jù)還能正常逐級(jí)上傳。圖3給出了集中光纖鏈路故障、節(jié)點(diǎn)故障時(shí)數(shù)據(jù)傳輸鏈路圖。
如圖3所示,當(dāng)水下節(jié)點(diǎn)3和水下節(jié)點(diǎn)4之間的光纖出現(xiàn)故障,如果采用的是單純的級(jí)聯(lián)組網(wǎng)方式,此時(shí)節(jié)點(diǎn)3之后的所有節(jié)點(diǎn)數(shù)據(jù)都無(wú)法正常傳輸,但是在環(huán)形組網(wǎng)方式下,由于具有順時(shí)針和逆時(shí)針2個(gè)環(huán)路,此時(shí)節(jié)點(diǎn)3之前(含節(jié)點(diǎn)3)的所有節(jié)點(diǎn)數(shù)據(jù)可以通過(guò)順時(shí)針(虛線)方向?qū)?shù)據(jù)上傳到岸上節(jié)點(diǎn)。其可靠性較單級(jí)聯(lián)方式有很大的高,但是在這種方式下,由于每次路徑不一致,從而導(dǎo)致每次數(shù)據(jù)傳輸?shù)臅r(shí)延不一致,此時(shí)為了使各個(gè)數(shù)據(jù)通道的輸出時(shí)延保持一致,勢(shì)必需要在岸上數(shù)據(jù)處理中心增加時(shí)延調(diào)整模塊,實(shí)現(xiàn)對(duì)各通道數(shù)據(jù)時(shí)延的實(shí)時(shí)調(diào)整。
2時(shí)延調(diào)整實(shí)現(xiàn)方案
系統(tǒng)時(shí)延調(diào)整實(shí)現(xiàn)的功能框圖如圖4所示。
時(shí)延調(diào)整系統(tǒng)由時(shí)延測(cè)試脈沖發(fā)射模塊、時(shí)延測(cè)試脈沖轉(zhuǎn)發(fā)模塊、時(shí)延測(cè)試脈沖接收模塊、時(shí)延測(cè)量模塊、時(shí)延調(diào)整模塊及數(shù)據(jù)輸出模塊組成,各功能模塊功能描述如下。
●時(shí)延測(cè)試脈沖發(fā)送模塊:根據(jù)實(shí)際需要產(chǎn)生時(shí)延測(cè)試脈沖信號(hào),經(jīng)岸上與水下節(jié)點(diǎn)的信號(hào)傳輸通道傳輸?shù)剿碌腘個(gè)節(jié)點(diǎn),該信號(hào)也作為時(shí)延測(cè)量模塊進(jìn)行時(shí)延測(cè)量的基準(zhǔn)信號(hào)。
●時(shí)延測(cè)試脈沖轉(zhuǎn)發(fā)模塊:
該模位于各個(gè)水下節(jié)點(diǎn),主要功能是完成岸上傳來(lái)的時(shí)延測(cè)試脈沖的轉(zhuǎn)發(fā),經(jīng)由與下發(fā)路徑相同的鏈路回傳給岸上信號(hào)處理單元。
●時(shí)延測(cè)試脈沖接收模塊:接收各個(gè)水下節(jié)點(diǎn)回傳的時(shí)延測(cè)試脈沖信號(hào),輸出給時(shí)延測(cè)量模塊進(jìn)行時(shí)延測(cè)量。
●時(shí)延測(cè)量模塊:以時(shí)延測(cè)試脈沖發(fā)送模塊產(chǎn)生的時(shí)延測(cè)試脈沖信號(hào)作為基準(zhǔn)信號(hào),測(cè)試時(shí)延脈沖接收模塊輸入的脈沖信號(hào)與該信號(hào)的時(shí)延差,作為時(shí)延測(cè)試脈沖信號(hào)過(guò)1個(gè)下發(fā)及上傳數(shù)據(jù)回路的傳輸時(shí)延。
●時(shí)延調(diào)整模塊:根據(jù)時(shí)延測(cè)量模式的各個(gè)水下節(jié)點(diǎn)的傳輸時(shí)延,對(duì)該時(shí)延數(shù)據(jù)進(jìn)行分析處理、延時(shí)調(diào)整,將各個(gè)水下節(jié)點(diǎn)調(diào)整為同步輸出。
3節(jié)點(diǎn)時(shí)延分析及測(cè)量
3.1水下節(jié)點(diǎn)時(shí)延分析
水下各個(gè)節(jié)點(diǎn)線路傳輸遲延時(shí)間成如圖5所示,每個(gè)節(jié)點(diǎn)模擬信號(hào)線路傳輸遲延間包括由D/A轉(zhuǎn)換遲延、輸出接口電路遲ΔT1、光環(huán)網(wǎng)傳輸線路遲ΔT2、輸入接口路遲延、和A/D轉(zhuǎn)換遲延ΔT。系統(tǒng)中每個(gè)子站信號(hào)3的ΔT、ΔT均固定且相同,各子站的傳輸遲延差由ΔT132不同產(chǎn)生。只要測(cè)試出每個(gè)子站點(diǎn)的路由遲延ΔT2,即可計(jì)算出各子站點(diǎn)的傳輸遲延時(shí)間差,由傳輸遲延時(shí)間差計(jì)算出各子站點(diǎn)的傳輸延周期,并依據(jù)傳輸遲延周期對(duì)各子站點(diǎn)信號(hào)進(jìn)行同步處理。
3.2基于偽隨機(jī)序列的環(huán)路傳輸遲延測(cè)試
水下各節(jié)點(diǎn)到岸上信號(hào)處理單元不同路由遲延測(cè)試實(shí)現(xiàn)原框圖如圖6所示。在岸上信號(hào)處元產(chǎn)生1個(gè)長(zhǎng)周期偽隨機(jī)序列時(shí)延測(cè)試脈沖信號(hào),在進(jìn)行節(jié)點(diǎn)時(shí)延測(cè)試時(shí),用該脈沖信號(hào)替代岸上信號(hào)處理單元的空閑數(shù)據(jù)進(jìn)行輸至子站點(diǎn)在信號(hào)處理后經(jīng)所選測(cè)試路由傳輸至子站點(diǎn),子站點(diǎn)解出時(shí)延測(cè)試脈沖信號(hào)后回環(huán),替代子站點(diǎn)的A/D數(shù)據(jù)進(jìn)行數(shù)據(jù)打包,在信號(hào)處理后經(jīng)過(guò)所選測(cè)試路由傳輸至岸上信號(hào)處理單元。在岸上信號(hào)處理單元恢復(fù)出回環(huán)的時(shí)延測(cè)試脈沖信號(hào),并與岸上信號(hào)處理單元提供的時(shí)延測(cè)試脈沖信號(hào)基號(hào)進(jìn)行比較,計(jì)算出子站點(diǎn)到岸上信號(hào)處理單元的傳輸遲延時(shí)間(回環(huán)遲延時(shí)間除2),保存測(cè)試結(jié)果。根據(jù)各自的路由遲延測(cè)試結(jié)果,各站點(diǎn)的信號(hào)傳輸給岸上信號(hào)處理單元。
在進(jìn)行時(shí)延測(cè)試時(shí),產(chǎn)生的時(shí)延測(cè)試脈沖信號(hào)采用偽隨機(jī)序列(即m序列[3])。構(gòu)成m序列產(chǎn)生器的本原多項(xiàng)式選擇對(duì)測(cè)量的距離有關(guān)鍵影響。如果路徑的遲延時(shí)間超過(guò)序列的1個(gè)循環(huán)周期時(shí)間,則可能出現(xiàn)測(cè)試結(jié)果小于實(shí)際遲延時(shí)間,得出錯(cuò)誤結(jié)論。m序列的1個(gè)循環(huán)周期時(shí)間太長(zhǎng),則m序列產(chǎn)生器和數(shù)字相關(guān)器設(shè)計(jì)復(fù)雜。因此選擇合適的本原多項(xiàng)式是光傳輸路徑遲延測(cè)試成功的重要保證。
反饋位寄存器產(chǎn)生m序列的充要條件是反饋移位寄存器的特征多項(xiàng)式為本原多項(xiàng)式。其本原多項(xiàng)式為:
本原多項(xiàng)式f(x)構(gòu)成m序列產(chǎn)生器的m序列周期為:T=(2n1)△?t,T為m序列周期,△t為m序列的1個(gè)脈沖寬度時(shí)間。
假設(shè)環(huán)網(wǎng)最長(zhǎng)路由為20個(gè)節(jié)點(diǎn),環(huán)網(wǎng)光傳輸路徑小于等于50km,則m序列從本端傳輸?shù)竭h(yuǎn)端再回傳至本端最長(zhǎng)傳輸遲延時(shí)間約為:
站點(diǎn)信號(hào)處理時(shí)間×20+光路傳輸遲延時(shí)間
每個(gè)子站點(diǎn)信號(hào)處理時(shí)間為5個(gè)A/D采樣周期(fs=2Mbit/s),即2.5μs。光纖傳輸遲延5ns/m。
環(huán)網(wǎng)最長(zhǎng)路由遲延時(shí)間為:
△T=2.5×20+(5ns/m×50000m)/1000=300μs
m序列周期T應(yīng)大于300μs。依據(jù)T>△T(T為序列周期,△T為環(huán)路延遲時(shí)間),T=(2n-1)△t(n為m序列長(zhǎng)度,△t為m序列脈沖寬度),△t=0.1μ(s水聲信號(hào)采集頻率為2Mbit/s,隨機(jī)碼寬度為0.1μs,換算到頻域?yàn)?0Mbit/s,遠(yuǎn)大于信號(hào)采樣頻率,滿足使用要求),n取整,計(jì)算出n=12(T=409μs),即m序列的1個(gè)脈沖寬度為0.1μs,系統(tǒng)遲延測(cè)試精度為1個(gè)偽隨機(jī)碼脈沖寬度,測(cè)試環(huán)網(wǎng)傳輸遲延時(shí),選用f(x)=x12+x6+x4+x+1本原多項(xiàng)式構(gòu)成m序列產(chǎn)生器。
本原多項(xiàng)式選定后可利用FPGA豐富的可編程資源,依據(jù)反饋函數(shù)和連接形式構(gòu)建12位移位寄存器加異或反饋網(wǎng)絡(luò)的m序列產(chǎn)生器其結(jié)構(gòu)如圖7所示。
將水下節(jié)點(diǎn)回傳測(cè)試沖信號(hào)輸入到時(shí)延量模塊,對(duì)時(shí)延測(cè)量模塊內(nèi)部與測(cè)試脈沖基準(zhǔn)信號(hào)采用數(shù)字相關(guān)技術(shù)進(jìn)行時(shí)延測(cè)量。
多位數(shù)字相關(guān)器[5]可以由一位相關(guān)器級(jí)聯(lián)構(gòu)成。N位數(shù)字相關(guān)器的運(yùn)算通??梢苑纸鉃橐韵?個(gè)步驟:1對(duì)應(yīng)位進(jìn)行異或運(yùn)算,得到N個(gè)1位相關(guān)運(yùn)算結(jié)果;2統(tǒng)計(jì)N位相關(guān)運(yùn)算結(jié)果中0或1的數(shù)目,得到N位數(shù)字中相同位和不同位的數(shù)目。
數(shù)字相關(guān)器[5]的設(shè)計(jì)一般考慮采用串行輸入檢測(cè)方式,即在N(N為m序列的長(zhǎng)度)個(gè)時(shí)鐘周期內(nèi)依次對(duì)兩路串行輸入信號(hào)A、B進(jìn)行異或運(yùn)算,并統(tǒng)計(jì)數(shù)據(jù)位相同個(gè)數(shù)。
采用系統(tǒng)時(shí)鐘對(duì)時(shí)延測(cè)試脈沖信號(hào)基準(zhǔn)信號(hào)與回傳的信號(hào)進(jìn)行數(shù)字相關(guān)運(yùn)算,當(dāng)不同時(shí)在同1個(gè)時(shí)鐘下對(duì)時(shí)延測(cè)試脈沖基準(zhǔn)信號(hào)移位,移位后再次運(yùn)算,直至兩個(gè)信號(hào)完全相關(guān),此時(shí)的移位時(shí)延即為鏈路時(shí)延時(shí)間,計(jì)算方法如下:
△τ=ty×ny
△τ為鏈路時(shí)延時(shí)間,ty為移位時(shí)鐘,ny為移位次數(shù)。ty的選擇與系統(tǒng)的同步精度要求有關(guān),一般選擇與m序列碼元寬度一致。
4時(shí)延調(diào)整
通過(guò)采用m序列及數(shù)字相關(guān)技術(shù),得到每個(gè)水下節(jié)點(diǎn)的實(shí)時(shí)傳輸時(shí)延,需要統(tǒng)計(jì)分析所有節(jié)點(diǎn)的時(shí)延參數(shù),綜合該參數(shù)從系統(tǒng)上考慮,調(diào)整時(shí)延使所有節(jié)信號(hào)同步輸出。時(shí)延調(diào)整在岸上中心理單元內(nèi)部用FPGA完成。
時(shí)延調(diào)實(shí)的實(shí)現(xiàn)原理如圖8所示。
所有水下節(jié)點(diǎn)的時(shí)延參數(shù)td傳遞到岸上時(shí)延數(shù)據(jù)分析單元,在該單元內(nèi)部通過(guò)分析處理計(jì)算出在當(dāng)前路徑下所有水下節(jié)點(diǎn)數(shù)據(jù)上傳的最大時(shí)延tmax,選取這個(gè)節(jié)點(diǎn)的時(shí)延數(shù)據(jù)作為基準(zhǔn),計(jì)算出其他節(jié)點(diǎn)時(shí)延調(diào)整量τ,τ=tmax-td,并根據(jù)該參數(shù)輸出各個(gè)通道的數(shù)據(jù)緩存FIFO的讀使能。先將水下節(jié)點(diǎn)上傳的有數(shù)據(jù)先輸入到節(jié)點(diǎn)數(shù)據(jù)緩存,數(shù)據(jù)緩存采用FPGA內(nèi)部的IP核,使用先進(jìn)先出(FIFO)存儲(chǔ)模式實(shí)時(shí)寫(xiě)入,按照各個(gè)通道的時(shí)延調(diào)整值進(jìn)行控制,讀出由岸上時(shí)延數(shù)據(jù)分析單元。時(shí)延控制的精度與數(shù)據(jù)讀出的時(shí)鐘頻率有關(guān)。采用XilinxSpartan6FPGA時(shí),其信號(hào)處理時(shí)鐘最高能到350Hz,此時(shí)1個(gè)時(shí)鐘周期的脈寬/調(diào)整周期可達(dá)3ns,大大高于水聲信號(hào)采樣周期2MHz,滿足系統(tǒng)的使用要求。
5結(jié)束語(yǔ)
在水下信息網(wǎng)絡(luò)中采用首尾相連的環(huán)形組網(wǎng)形式,大大提高了網(wǎng)絡(luò)的可靠性;通過(guò)采用FPGA生成m序列及數(shù)字相關(guān)技術(shù)實(shí)現(xiàn)了傳輸鏈路時(shí)延參數(shù)的精確測(cè)量;利用FPGA的高速信號(hào)處理能力及內(nèi)部自帶FIFOIP,對(duì)各個(gè)水下節(jié)點(diǎn)信號(hào)時(shí)延進(jìn)行精準(zhǔn)調(diào)整,實(shí)現(xiàn)了系統(tǒng)中所有水下節(jié)點(diǎn)信號(hào)的同步輸出。通過(guò)實(shí)際應(yīng)用驗(yàn)證,上述技術(shù)水下信號(hào)的輸出時(shí)延一致性能達(dá)到1個(gè)時(shí)鐘周期以內(nèi),大大減小了后續(xù)信號(hào)處理的壓力,在水下信號(hào)的采集、監(jiān)控、處理方面具有廣闊應(yīng)用前景。
參考文獻(xiàn):
[1]段文海,李震.雙環(huán)自愈型水下光纖通信傳輸系統(tǒng)[J].光纖通信技術(shù),2013,37(2):53-55.
[2]聶寶棟,黃敏,張勇.并聯(lián)型水下光纖網(wǎng)絡(luò)系統(tǒng)[J].光纖通信技術(shù),2013,36(1):19-21.
[3]徐德余,唐再良.近世代數(shù)[M].成都:四川大學(xué)出版社,2006.
[4]孫鵬,葉萌華,張輝.數(shù)字相關(guān)器的FPGA實(shí)現(xiàn)[J].北京電子科技學(xué)院學(xué)報(bào),2008,16(2):10-11.