蔣 磊,陳 朋,金 峰,韓禮波
(1.浙江工業大學信息工程學院,杭州 310023;2.杭州應用聲學研究所,杭州 310012)
基于FPGA的海底回波信號模擬器
蔣 磊1,陳 朋1,金 峰1,韓禮波2
(1.浙江工業大學信息工程學院,杭州 310023;2.杭州應用聲學研究所,杭州 310012)
以海上測試和水池測試為主的多普勒計程儀測試存在周期長、成本較高等缺點。為此,根據多普勒計程儀的測速原理,研究深度和速度模擬原理,在現場可編程門陣列(FPGA)的基礎上,設計一種新的海底回波信號模擬器。該模擬器模擬海底回波信號,在多普勒計程儀接收模擬的回波信號后進行計算,從而得到深度和速度值,對比設定值以達到檢驗多普勒計程儀的目的。實驗結果證明該模擬器的測量誤差較小。
多普勒計程儀;模擬器;現場可編程門陣列;Verilog語言;回波信號
DO I:10.3969/j.issn.1000-3428.2015.10.013
隨著海洋事業的發展,多普勒計程儀作為一種重要的導航設備有著廣泛的應用前景[1-3]。多普勒計程儀處于不斷更新換代中,對該設備的測試方式通常以海試和水池實驗為主。但航海實驗的成本高、周期長。水池實驗的空間有限、數據不精確。因此,需要開發相應的陸上模擬系統,用于陸地環境下檢測多普勒計程儀的性能。目前,已有的系統有海軍工程大學開發的基于PXI總線的半實物仿真系統[4],還有中國船舶重工集團公司研究的一種高精度、多功能回波模擬技術[5],哈爾濱工業大學設計的仿真系統[6]。 文獻[7]對回波速度和深度模擬的原理做了深入研究。這些系統大多用數字信號處理器(Digital Signal Processor,DSP)或復雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)作為控制核心?,F場可編程門陣列(Field Programmable Gate Array,FPGA)比CPLD的集成度高、功耗低、更靈活。和DSP相比,FPGA具有并行處理能力,內部有DSP資源,運算速率更高,更適合于要求高的系統,并且FPGA實現信號處理也是未來的發展方向。所以,本文設計一種基于FPGA的模擬器,模擬多普勒計程儀海底回波信號,用來檢驗多普勒計程儀的工作狀態。
啟動多普勒計程儀,模擬器接收多普勒計程儀發射的信號,然后以一定的采樣頻率對波形進行A/D采集,將采集到的數據存儲。在經過一定的延時后,以不同于采樣頻率的回放頻率對存儲的數據進行回放,經過D/A轉換后輸出相對于發射信號具有一定延時、頻移
的回波信號。海底回波模擬器信號處理系統如圖1所示。多普勒計程儀發射信號、接收回波模擬信號后傳給信號處理機解算出對應的參數,和設定值比較,檢驗多普勒計程儀的工作狀態是否正常。模擬器FPGA板模擬海底回波信號。FPGA通過RS232接口和上位機的顯示控制軟件通信,顯示控制軟件接收A/D采集的數據,檢驗多普勒計程儀發射信號的頻率、幅值等參數,并發送參數(Vχ,Vy,h)。

圖1 模擬器信號處理系統
與模擬器有關的主要技術指標:
(1)深度范圍:2 m~500 m。
(2)速度范圍:0 m/s~25 m/s。
模擬器主要實現不同速度和深度的海底回波模擬,這是在多普勒速度理論[8]的基礎上實現的,多普勒測速公式[9-10]如下:

其中,f0為發射信號的頻率;fr為回波信號的頻率;fd為頻率的偏移量;V為船舶行駛速度;φ為波束與船舶中垂線的夾角;C為海水中的聲速。
在信號發射后,從不同海底深度返回的信號的時間是不同的,海底深度 h和回波時間延遲T的關系式[11]如下:

多普勒計程儀發射的波束形成后的四波束結構配置圖如圖2所示。

圖2 多普勒計程儀四波束結構配置
這種四波束配置的方式稱為詹納斯配置,它可以消除船上下左右晃動產生的誤差[12]。海洋是一個不斷變化的環境,溫度和深度的變化等因素都會使海水中的聲速發生變化,多普勒計程儀中使用的相控陣可以有效地克服這些不良影響。待檢測的多普勒計程儀的換能器在X和Y方向各有4個陣元,在本文設計中,模擬的是四波束方向的回波,每個方向有4路回波分別對應4個陣元。設計的海底回波信號模擬器可以模擬不同環境下的回波。
模擬器主要實現不同速度和深度的海底回波模擬,因此,對海底回波的模擬主要是速度模擬和深度模擬。應答信號中多普勒頻移通過改變D/A的輸出頻率fh來實現,則多普勒頻移與回放頻率的關系如下:

不同方向回波的頻率是不同的,根據式(1)可計算4個方向回波的頻率,由下式表示:

其中,fs為多普勒計程儀發射信號的頻率,為1.2 MHz;fh+χ,fh-χ為船舶行駛方向對應的回波頻率;fh+y,fh-y為船舶垂直于行駛方向對應的回波頻率;φ為波束與船舶中垂線的夾角,是20.7°;C為海水中的聲速,是1 500 m/s;Vχ為船舶行駛方向的速度;Vy為船舶垂直于行駛方向的速度。
在信號發射后,從不同海底深度返回到換能器的時間是不同的,深度的模擬對應著回波信號相對于發射信號的延時時間。假定多普勒計程儀發射信號起始時刻為t0,4個方向波束的模擬信號應答起始時刻分別為t1,t2,t3,t4,平均值等于設定的深度求得
的延時時間。應答信號時間延遲T與海底深度h的關系滿足下式:

4.1 模擬器硬件結構
系統的硬件結構如圖3所示。

圖3 模擬器硬件結構
FPGA選用Xilinx公司的Spartan-6系列的XC6SLX9芯片,內部集成有豐富的可配置邏輯塊、大量的DSP單元、塊狀RAM等資源。1路A/D采集采用ADS7883芯片,12位分辨率,串行輸出。1路發射信號觸發通道、8路D/A輸出通道、RS232串口通信設計中使用了8片DAC7311芯片,DAC7311是12位分辨率、低功率、串行輸出的。其中,A/D采集和D/A轉換的時鐘由FPGA的直接數字頻率合成(Direct Digital Synthesis,DDS)IP核產生。
4.2 模擬器
回波模擬器設計為PCI板卡形式,可以插在工控機PCI卡槽里面,其實物圖如圖4所示,供電電壓由板卡上金手指接口供電。DSUB9接口用于RS232通信。DSUB25接口包含了1路A/D采樣通道,1路發射信號觸發通道,8路模擬回波信號輸出通道。

圖4 回波模擬器
4.3 FPGA設計
FPGA設計仿真環境為X ilinx的ISE13.4,采用模塊化設計程序,所有模塊用Verilog編程。FPGA的邏輯設計如圖5所示,FPGA為控制核心,它控制A/D采集、D/A轉換輸出、實現頻移、延時操作、產生模擬回波信號和上位機通信等任務。

圖5 FPGA內部框架
4.3.1 A/D控制模塊
在觸發電路產生的觸發信號為高電平時,控制AD芯片工作,以1.2 MHz的采樣頻率采集多普勒計程儀發射的150 kHz的模擬信號,將采集到的
12 bit數字信號存在雙口RAM里,以待后續處理。觸發信號為低電平時,停止采集。
4.3.2 串口控制模塊
FPGA通過RS232接口和上位機的顯示控制軟件通信。串口的發送端將存在RAM里的波形數據傳給上位機的顯示控制軟件以便檢測發射信號的頻率、幅值等參數并顯示波形信號,判斷多普勒計程儀發射機工作是否正常。
接收端接收上位機發送的參數(Vχ,Vy,h),并將參數緩存在先入先出(First Input First Output,FIFO)隊列。為了確定接收的參數是正確的,在位機發送參數時,在每個參數前都加了判斷數據。首先從FIFO中讀取4個8 bit的數據,每2個數據完成8 bit~16 bit的轉化,合成16 bit的十六進制數據,第一個16 bit數據為判斷數據,如果為 ff00,那么第2個16 bit數據就是Vχ。按照上述方法,再讀取2次,每次讀4個數據,如果判斷數據為ff01,那么接收的為Vy;如果判斷數據為ff02,那么接收的為h。判斷數據不正確,上位機重新發送參數,直到接收的參數正確為止。
4.3.3 回放控制模塊
模擬的回波信號的多普勒頻移通過改變D/A轉換的輸出頻率來實現,根據速度參數Vχ和Vy,由式(4)計算模擬信號的頻移,求取4個波束方向的回波頻率?;夭l率由DDS IP核產生,所以,根據回波頻率計算對應的D/A轉換時鐘,求出頻率控制字,傳遞給DDS求出D/A轉換時鐘。
信號應答采用循環方式分時應答,首先應答X方向的信號,然后依次為Y方向、-X方向、-Y方向。每個方向之間的應答信號間隔tm為0.1 m s,回波脈沖寬度為 tP?;夭ㄐ盘柕难訒r時序如圖 6所示。根據深度參數 h,由式(5)計算4個方向回波信號的延時,如式(6)所示。

圖6 四波束應答時序示意圖

4.3.4 A/D和D/A時鐘模塊
2個DDS IP核分別產生A/D采集和D/A轉換的時鐘。完成一次A/D采集用了20個時鐘周期,因此,1.2 MHz的采樣頻率對應的A/D采集時鐘為24 MHz,完成一次D/A轉換也用了20個時鐘周期。根據回放控制模塊求得的頻率控制字,傳遞給DDS求出D/A轉換的時鐘頻率。
4.3.5 D/A控制模塊
控制D/A芯片輸出模擬海底回波的信號,回波信號由存儲在雙口RAM里的波形數據作為來源。多普勒計程儀的換能器在X方向和Y方向分別有X1,X2,X3,X4和Y1,Y2,Y3,Y4共8個子陣,所以,要輸出8路模擬信號。多普勒計程儀的接收器接收的波形因為路程差會產生相位差,所以,模擬的回波信號之間要有相位差。對于 X方向、Y方向的4個通道的信號相位延遲都為(0°,90°,180°,270°)。-X,-Y方向的4個通道的信號相位延遲為(0°,-90°,-180°,-270°)。相位的延遲通過延時讀取存儲的數字信號進行D/A轉換的方法實現。因為采樣率是發射信號頻率的8倍,所以采集到的波形數據一個周期有8個。則 X,Y方向依次從χ(n),χ(n-2),χ(n-4),χ(n-6)開始讀取波形數據。則 -X,-Y方向依次從 χ(n-6),χ(n-4),χ(n-2),χ(n)開始讀取波形數據。分別從t1,t2,t3,t4時刻控制D/A轉換輸出4個方向的波束。前4路 D/A通道輸出的是 X方向的波束,后4路輸出的是Y方向的波束。
ISE13.4工具對設計模塊進行綜合、映射、布局和布線后,將生成的bit文件下載XC6SLX9-2FTG256中,FPGA芯片的資源利用情況如表1所示。

表1 XC6SLX9-2FTG 256的資源使用情況
在表1中,Slice用于實現時序邏輯,求應答時間用了一個DSP48A1做乘法器,求2個DDS的頻率控制字用了2個DSP48A1做乘法器。RAMB8BWER的大小為9 kb,采用一個配置為FIFO,用來緩存上位機發下來的參數。RAMB16BWER的大小為18 kb,采用27個組成雙口RAM來緩存A/D采集的數據。
為了驗證海底回波模擬器的性能,將模擬器和多普勒計程儀進行了聯機調試,搭建了如圖7所示的調試系統。

圖7 聯機調試系統
本文設計的回波模擬器插在工控機1的PCI插槽上。工控機1的顯示控制軟件接收A/D采集的數據,分析多普勒計程儀發射信號的頻率、幅值并顯示信號波形,并且發射指令參數(Vχ,Vy,h)。多普勒計程儀接收返回的海底回波模擬信號,經過處理計算得到速度和深度值,將得到的值通過串口傳到工控機2的顯示控制軟件以便比較測量值和設定值。對模擬器進行了多次測試,深度和速度分別取了5組測量值,和設定值的比較如表2和表3所示。

表2 深度測量值

表3 速度測量值
在速度誤差小于0.3%,深度誤差小于0.3%,結果有一定的誤差,這是由于公式計算過程中小數部分的舍去、多普勒計程儀接收電路的精度和噪聲的影響等原因,但數據均在誤差范圍之內,大量的測試證明了模擬方法的有效性,同時驗證了模擬系統的精度。
本文分析多普勒計程儀的海底回波信號模擬器原理并推導模擬公式,同時介紹模擬器的結構和工作流程,進行陸上模擬測試并分析了測試數據,證明了海底回波模擬器的有效性和準確性。下一步的研究方向為改進程序中算法的實現方法,從而進一步提高測量精度。
[1] 張福斌,徐德民,嚴衛生,等.水下航行器導航與控制一體化系統的半實物仿真實驗設計[J].系統仿真學報,2006,18(3):604-606.
[2] Morgado M,Batista P,Oliveira P.Position USBL/DVL Sensor-based Navigation Filter in the Presence of Unknown Ocean Currents[J].Automatic,2011,47(12):2604-2614.
[3] Snyder J.Doppler Velocity Log Navigationfor Observation-class ROVs[J].Sea Technology,2010,51(12):27-30.
[4] Yuan Bingcheng,Chen Xi,Huang Xiongfei.Solution to Hardware-in-loop Simulation Test System for Phased Array Doppler Sonar[C]//Proceedings of the 7th International Conference on System Simulation and Scientific Computing.Washington D.C.,USA:IEEE Press,2008:1549-1552.
[5] 李金明,趙俊渭,王明洲,等.一種高精度水下目標回波模擬技術的研究[J].儀器儀表學報,2006,27(6):560-563.
[6] 石 慧.相控陣多普勒計程儀半實物仿真系統的設計與實現[D].哈爾濱:哈爾濱工業大學,2012.
[7] 付志霞.多普勒計程儀海底回波信號模擬器設計[D].大連:大連海事大學,2012.
[8] 謝宜生,沈國江,吳琦燦.基于MSP430的車載雷達測速測距系統[J].計算機工程,2011,37(18):237-239.
[9] 齊本勝,范新南,王 森,等.寬帶聲學多普勒測流儀設計[J].儀器儀表學報,2003,24(4):233-234.
[10] Brumley B H,Cabrera R G,Deines K L.Performance of a Broad-band Acoustic Doppler Current Profiler[J]. Journal of Oceanic Engineering,1991,16(4):402-407.
[11] 黃雄飛,周徐昌,苑秉成.多普勒計程儀作用距離估計[J].應用聲學,2009,28(5):362-366.
[12] 田 坦.水下定位與導航技術[M].北京:國防工業出版社,2007.
編輯 劉 冰
FPGA-based Seabed Echo Signal Simulator
JIANG Lei1,CHEN Peng1,JIN Feng1,HAN Libo2
(1.College of Information Engineering,Zhejiang University of Technology,Hangzhou 310023,China;2.Hangzhou Applied Acoustics Research Institute,Hangzhou 310012,China)
Doppler log test has the disadvantage of long cycle and high cost which is given priority to sea and pool testing.According to the principle of Doppler log measuring,the principle of depth and speed simulation is studied.This paper designs a new signal simulator based on Field Programmable Gate Array(FPGA),it can simulate the seabed echo signal.The seabed echo signal is received by the Doppler log.The values of depth and speed are given by calculating.By comparing the set values,the measurement is accomplished.Experimental result indicates that the measuring error of this simulator is small.
Doppler log;simulator;Field Programmable Gate Array(FPGA);Verilog language;echo signal
蔣 磊,陳 朋,金 峰,等.基于FPGA的海底回波信號模擬器[J].計算機工程,2015,41(10):66-70.
英文引用格式:Jiang Lei,Chen Peng,Jin Feng,et al.FPGA-based Seabed Echo Signal Simulator[J].Computer Engineering,2015,41(10):66-70.
1000-3428(2015)10-0066-05
A
TP391
國家自然科學基金資助項目(61303139)。
蔣 磊(1988-),男,碩士研究生,主研方向:嵌入式系統;陳 朋,副教授、博士;金 峰,碩士研究生;韓禮波,工程師、碩士。
2014-09-30
2014-11-17E-mail:jianglei.074@163.com