基于FPGA的成像聲納FFT波束形成器設(shè)計
摘 要: 針對成像聲納波束形成器的特點,設(shè)計了一種基于FPGA的FFT波束形成器。整個系統(tǒng)采用Altera公司的DSP Builder構(gòu)建,F(xiàn)FT波束形成器采用基2-512點DIT-FFT算法,并使用流水線技術(shù)、乒乓操作。在Altera StratixII FPGA EP2S90F784I4硬件平臺上測試,30 MHz系統(tǒng)時鐘,在17.07 ?滋s內(nèi)得到512點FFT運算結(jié)果,滿足成像聲納系統(tǒng)波束形成器要求。
關(guān)鍵詞: FPGA;成像聲納;FFT波束形成;DSP Builder
海洋面積占地球表面積的71%,海底蘊藏的石油、天然氣等礦產(chǎn)資源量也遠遠超過陸地。由于能源危機和資源短缺日益嚴重,世界各國對海洋的開發(fā)利用愈發(fā)重視。水聲成像技術(shù)不僅能夠探測海底結(jié)構(gòu),而且相比于傳統(tǒng)視頻設(shè)備,其優(yōu)點是呈現(xiàn)的圖像幾乎不受水文條件的影響,無論在軍用還是民用領(lǐng)域,聲成像技術(shù)都是未來船舶與海洋工程研究的主要技術(shù)之一[1]。
對要求實時成像的成像聲納來說,成像速度是衡量其性能優(yōu)劣的一個非常重要的標準。波束形成器是成像聲納數(shù)字系統(tǒng)的重要組成部分,其運算速度影響到整個系統(tǒng)的成像速度,因此提高波束形成運算速度是提升成像聲納成像速度的關(guān)鍵。相移波束形成中的FFT波束形成技術(shù)由于具有非常成熟的算法、實現(xiàn)結(jié)構(gòu)和快速的運算速度,成為成像聲納波束形成器首選。
1 FFT波束形成器原理
波束形成技術(shù)是指將按一定幾何形狀排列的多元基陣的各陣元輸出,經(jīng)過處理形成空間指向性的方法,目的是使多陣元構(gòu)成的基陣經(jīng)過適當(dāng)?shù)靥幚淼玫皆陬A(yù)定方向的指向性[2]。
本文采用等間隔直線陣FFT波束形成。一個N元等間隔直線陣陣元間隔為d,當(dāng)接收信號為單頻或窄帶信號時,基陣第i號陣元的輸出信號可用復(fù)數(shù)表示為:
式(2)實際上是離散傅里葉變換的形式,因此計算一個等間隔直線陣各波束輸出值就等價于計算各陣元的輸出信號xi的離散傅里葉變換,可以利用這一特點對基陣輸出信號作快速波束形成處理。
2 FFT波束形成器的DSP Builder實現(xiàn)與驗證
2.1 FFT波束形成器的DSP Builder實現(xiàn)
為了讓成像聲納達到較高的分辨率,需要對更多的數(shù)據(jù)進行實時性處理。因此本設(shè)計要求在20 ?滋s內(nèi)得到512點FFT運算結(jié)果,并且運算結(jié)果誤差在1%以內(nèi)。考慮參數(shù)要求,F(xiàn)FT波束形成器設(shè)計包括如下三部分:數(shù)據(jù)預(yù)處理部分(加權(quán)、聚焦),512點基2 DIT-FFT算法部分及數(shù)據(jù)整理部分(ABS計算)。總體框架如圖1所示。
2.1.1 流水線技術(shù)
為了提高數(shù)據(jù)處理能力,采用流水線設(shè)計方法提高系統(tǒng)的工作頻率。FFT 模塊9級運算單元(State0~State8)并行運行,這樣9級數(shù)據(jù)運算時間僅為1級的運算時間。圖2給出了9級處理單元(State0~State8)的DSP Builder實現(xiàn)結(jié)構(gòu)圖。
2.1.2 乒乓操作
為了不間斷處理數(shù)據(jù),本設(shè)計采用乒乓操作控制數(shù)據(jù)流。1 024點RAM劃分為PART A(addr:0~511)和PART B(addr:512~1023)兩部分。某一時刻T1,向A中寫入數(shù)據(jù),從B中讀取數(shù)據(jù);下一時刻T2,向B中寫入數(shù)據(jù),從A中讀取數(shù)據(jù),按照上述次序循環(huán)寫入讀取數(shù)據(jù)。這樣,在完成一次512點數(shù)據(jù)FFT運算后,不需要等待即可開始下一次512點的運算,實現(xiàn)不間斷處理數(shù)據(jù)。
2.2 FFT波束形成器的DSP Builder驗證
分析DSP Builder設(shè)計的FFT運算模型與理論之間的誤差,使用Simulink中函數(shù)Repeating Sequence Stair作為激勵輸入,實部、虛部循環(huán)輸入數(shù)據(jù)[0:1:511]。激勵如圖3所示。用DSP Builder HIL(Hardware In Loop)模塊將設(shè)計包裹在一套接口中間,編譯然后下載至Stratix II FPGA EP2S90F780I4芯片進行測試,得到512點FFT運算結(jié)果,如圖4所示。分析發(fā)現(xiàn)全部運算結(jié)果精度保持在1%以內(nèi),滿足設(shè)計要求。