唐偉杰(中國船舶重工集團公司第七一五研究所,浙江 杭州 310012)
基于 FPGA 的水聲信號數字下變頻的實現
唐偉杰
(中國船舶重工集團公司第七一五研究所,浙江杭州 310012)
隨著聲吶信號處理技術的發(fā)展,其對系統(tǒng)的軟、硬件資源要求越來越高。利用數字下變頻技術,可極大地降低其信號處理資源要求。結合 Matlab,仿真研究整個下變頻過程,驗證分析水聲信號數字下變頻的正確性。在此基礎上,應用 Verilog 語言移植算法到 FPGA 內部,在 Signaltap II 下觀察過程變量及結果,并導入 Matlab 進行數據分析。該技術對于聲吶信號處理具有實用價值,并已成功應用于某聲吶設備。
聲吶;水聲信號;濾波;降采樣;FPGA
在數字采集系統(tǒng)中,一方面希望信號采樣時用盡可能高的采樣率;另一方面在信號處理時又希望盡可能降低信號速率,以降低對信號處理器件的性能要求[1]。這兩者看似矛盾的需求,在數字下變頻技術的支持下,成為一個有機整體。在水聲聲吶系統(tǒng)的接收機中,也正不斷借鑒其技術,對水聲信號的數字下變頻技術實現有實際應用價值。
數字變頻的概念是指把信號搬移到更高或者更低的載頻上,可通過信號 x(t)與 1 個旋轉向量相乘得到,即,其中 fc為載波頻率。把基帶信號搬移到該頻點上就是上變頻,將該信號從該頻點搬移到基帶則稱為下變頻。
1.1數字下變頻
數字下變頻器(DDC)主要由數控振蕩器(NCO)、混頻器、低通濾波器及抽取器等組成[2 - 3]。DDC 的核心部分是將 A/D 采樣得到的信號與 DDC 中的數控振蕩器(NCO)產生的本振信號混頻,進行頻譜搬移,得到零中頻的基帶復信號,分別為同相分量和正交分量。經過數字混頻之后,此時信號的采樣率仍然是ADC 采樣頻率,數據率可能較高,信號的帶寬遠小于采樣頻率,所以需要經過低通抽取濾波器降低信號采樣率,完成了下變頻的過程。DDC 的原理如圖 1所示。
1.2數控振蕩
數字控制振蕩器(NCO)是產生一個給定頻率信號的信號發(fā)生器,更確切的說是產生一個頻率可變的正弦或余弦樣本。
圖 1 DDC 的原理框圖Fig. 1 Schematic diagram of DDC
產生正弦或余弦信號樣本最直接、最簡便的方法是查表法[4],即事先根據正弦或余弦波的各個相位計算好相應的值,并按相位角度作為地址存儲各相位的正、余弦樣本值。
1.3混頻器
數字混頻器是將原始采樣信號與本振信號正、余弦量分別相乘,最終得到正交的信號[5]。自然界中物理可實現的信號都是實信號,其頻譜具有共軛對稱性。因此,對于一個實信號,只需正頻或者負頻部分就能完全加于描述。對于一個實的窄帶信號:
其解析信號可表示為:
基帶信號為解析信號的復包絡,是復信號,既有正頻分量又有復頻分量。在數字信號處理中,常常采用數字混頻正交變換來進行數字信號的正交分解,即將原始信號分別與正交本振信號和相乘,再通過低通濾波器實現。
1.4FIR 低通濾波
在數字下變頻器中,關鍵的問題是數據抽取后的數字濾波。對于基帶數據抽取,數字濾波器為低通濾波。數字濾波器的輸入為,輸出為,沖擊響應為,有:
數字濾波器可以用,有限沖激響應(FIR)和無限沖擊響應(IIR)濾波器 2 種形式[6]。FIR 濾波器是指沖激響應為有限個值的的數字濾波器,其頻率響應為:
相比于 IIR 濾波器,FIR 濾波器具有線性相位、穩(wěn)定性等特點,適于聲吶中信號處理的要求,并且其設計相對成熟。常用的設計方法有窗函數設計法、頻率采樣設計法和等同紋波設計法等,其中窗函數設計法是最簡單,也是最常用的設計方法。該方法是用一個FIR 濾波器的頻率響應來逼近所要求的理想濾波器的頻率響應:
常見的窗函數有矩形窗、三角窗、漢寧窗、布拉克曼和凱塞窗函數等。
1.5多速率信號抽取
在完成信號的基帶搬移后,還需要降低數據率,以滿足基帶信號處理的要求,此為多速率信號處理過程要解決的問題。其最基本 2 個過程為抽取和內插,抽取就是降低數據率而內插為提高數據率[7]。
上述各功能模塊級聯(lián)起來,形成一個下變頻系統(tǒng)。在水聲聲吶系統(tǒng)中,信號頻率較軟件無線電中低很多,其高頻聲吶也只有千赫茲級,信號形式多為線性調頻、單頻等信號。
下變頻中主要包括部分:混頻和濾波。將輸入信號與 NCO 產生的本振信號做乘法運算,輸出運算結果,構成混頻部分。而濾波部分是為濾除雜散的頻率成分,得到預期信號。
2.1NCO 產生和混頻器
圖 2 頻率為 30 kHz 的正弦信號時頻圖Fig. 2 30 kHz Sine signal in time and frequency domain
NCO 本振信號頻率為 24 kHz,采樣率為 192 kHz,產生正交的正、余弦分量,與輸入信號混頻,進行頻譜搬移。圖 3 為正余弦分量信號時域波形,截取一定時間。圖 4 為混頻后的輸出信號。
2.2FIR 濾波器
以漢寧窗函數作為 FIR 濾波器的滑動窗口,n = 50階,混頻后的數據通過 FIR 濾波器,得到的波形如 5圖所示,可以看出其 I 和 Q 路信號的時域波形,并且分析得到頻譜,符合理論計算。
2.3數據抽取
經數字 FIR 濾波濾除雜散頻率,進一步以 6:1 抽取數據,以降低數據率,原采樣率為 192 kHz,抽取后為32 kHz。在 Matlab 中,以該比例抽取數據,重組數據得到新的數據序列,如圖 6 所示,可以看出其 I 和 Q路信號的時域波形,采樣率明顯降低,但其頻譜成分不會改變。
圖 3 本振信號 24 kHzFig. 3 24 kHz Sine and cosine signal
圖 4 混頻后的 I、Q 時域信號Fig. 4 I and Q singal after frequency mixing
圖 5 FIR 濾波后的時頻圖Fig. 5 I and Q signal in time and frequency domain after FIR filter
FPGA 芯片選擇為 Altera 公司的 CycloneIII 的 EP3C120型號,芯片內部具有 119 k 的 LE 單元,288 個 18bit×18bit的乘法器,片內 RAM 有 3.88 kbits,系統(tǒng)的主時鐘為50 MHz,應用 Verilog 語言編程 + IP 核的設計的設計方法。
圖 6 數據抽取的時頻信號圖Fig. 6 I and Q signal in time and frequency domain after data decimation
3.1NCO 模塊的實現
NCO 主要產生正交的正余弦分量,其實質是實現頻率的合成,而直接數字頻率合成(DDS)技術是一種全新的頻率合成技術,具有頻率分辨率高、轉換速度快和相位連續(xù)等特點。在 EP3C120 的 IP 核庫中,具有 DDS 模塊,可以配置參數生成特定的輸出信號。其模塊如圖 7 所示。
圖 7 DDS 的配置參數示意圖Fig. 7 DDS configuration diagram
其中 clk 為輸入時鐘 192 kHz,phi_inc_i 為參數值,決定輸出信號的頻率,字長為 16 bit。圖 8 中dsine 和 dcosine 是在 signaltap II 中 DDS 的輸出信號本振信號。
3.2混頻器的實現
混頻的實質是將中頻信號的采樣值與本振信號進行乘法運算,因此混頻器可用乘法器代替。在EP3C120 中,內部有一定的乘法器資源,在 Quartus 編程設計時例化乘法器宏模塊。
設 data_in1 為輸入信號 30 kHz,作為乘法器的輸入變量,dsine 為 24 kHz 的本振正弦信號,作為乘法器的另一變量。在 FPGA 內部嵌入式邏輯分析儀 signaltap中,各變量如圖 9 所示,其中的 data_out4 即為乘法器的輸出結果,把相應的變量值保存為 tbl 數據格式,導入 Matlab 中,分析其混頻后變量 data_out4 的頻譜,如圖 10 所示。
圖 8 Signaltap 中 DDS 輸出信號Fig. 8 DDS outputs in signaltap II
圖 9 混頻后的 signaltap 中的信號量Fig. 9 Signals in signaltap after multiplication
圖 10 混頻后的頻譜圖Fig. 10 The frequency spectrum after multiplication
3.3FIR 低通濾波的實現
在混頻器完成頻帶的搬移之后,從頻譜圖 13 可看出存在著其他頻率成分。Cyclone 系列 FPGA 支持 FIRII 型濾波器 IP 核,設置低通濾波為 50 階,選擇Hanning 窗函數,截止頻率為 7 kHz。圖 11 是經過 FIP濾波和數據抽取后相關信號量的示意圖,其中 dataI 和dataQ 是濾波器的輸出。圖 12 是經濾波后的信號頻譜示意圖,比較圖 10 和圖 12,能很好地濾除帶外的分量。
圖 11 濾波及數據抽取后的信號量Fig. 11 Signals in signaltap after filter and decimation
圖 12 濾波后的信號頻譜圖Fig. 12 The frequency spectrum after filter
圖 13 數據抽取后的頻譜圖Fig. 13 The frequency spectrum after data decimation
3.4數據的抽取
設計數據抽取器,以 6:1 的系數抽取,原始數據采樣率為 192 kHz,抽取后數據率為 32 kHz,基帶信號為 6 kHz,仍滿足采樣定理。在 FPGA 中,將數據信號進行同步時鐘的 6 分頻,然后利用該時鐘去采樣得到的新序列數據即為抽取后的信號。如圖 11 所示,其中data_out_I1 和 data_out_Q1 為抽取前數據,dataI 和dataQ 為抽取后正交、同相分量??梢钥闯銎洳ㄐ蔚恼_性。在 Matlab 中頻譜分析如圖 13 所示,分析其頻譜為 6 kHz,與理論上的數字下變頻仿真一致。
水聲信號數字下變頻的實現,實現了信號的基帶頻譜搬移、系統(tǒng)處理數據率的降低,因此大大降低了對信號處理機處理能力的要求。本文所設計的模塊已經應用到某水聲聲納設備的前置預處理分機中,假設原始信號頻率為 30 kHz,采樣率為 192 kHz,數據 16位,50 個通道,則數據率為 16 bit×50×192 kHz = 150 Mb/s,下變頻后的基帶信號頻率為 6 kHz,采樣率為 32 kHz,則數據率為 16 bit×50×32 kHz = 25 Mb/s,經整機聯(lián)調測試,以及湖試等驗證功能的正確性。
[1]曹李秋. 軟件無線電數字下變頻 FPGA 實現的研究[D]. 武漢:武漢理工大學,2006.
[2]高亞軍. 基于 FPGA 的數字信號處理[M]. 北京:電子工業(yè)出版社,2012:121-130.
[3]陳東坡. 數字下變頻電路的 FPGA 實現[D]. 西安:西安電子科技大學,2009.
[4]周俊峰,陳濤. 基于 FPGA 的直接數字頻率合成器的設計和實現[J]. 電子技術應用,2002,28(8):34-36.
[5]胡躍,張正鴻. 基于 FPGA 的數字正交混頻變換算法的實現[J]. 國外電子測量技術,2007,26(5):9-11,14.
[6]奧本海默 A V,謝費 R W,巴克 J R. 離散時間信號處理[M].劉樹棠,黃建國,譯. 西安:西安交通大學出版社,2007:352-412.
[7]西瑞克斯(北京)通信設備有限公司. 無線通信的 MATLAB 和FPGA 實現[M]. 北京:人民郵電出版社,2009:90-97.
[8]胡廣書. 數字信號處理理論、算法與實現第3版[M]. 北京:清華大學,2012:355-363.
The implementation of digtal down conversion of underwater acoustic signal with FPGA
TANG Wei-jie
(The 715 Research Institute of CSIC,Hangzhou 310012,China)
With the development of sonar signal process,more and more software or hardware resources are required. It can greatly reduced just use Digtal Down Conversion(DDC). In the paper,simulation was done to study the DDC of Underwater Acoustic Signal in Matlab,and results were given and analyzed. Then the digtal signal processing was programmed by Verilog in FPGA. Variables and results were checked in Signaltap II and analyzed in Matlab. This technology have practical value to signal processing of Sonarand have been sucessed applied in the Sonar system.
sonar;underwater acoustic signal;filter;down sample;FPGA
U666.7
A
1672 - 7619(2016)08 - 0090 - 05
10.3404/j.issn.1672 - 7619.2016.08.019
2015 - 12 - 12;
2016 - 01 - 06
國家“863”計劃 資助項目(2011AA09A107)
唐偉杰(1982 - ),男,碩士研究生,工程師,主要從事水聲信號預處理。