基于fpga的聲學(xué)多普勒流速剖面儀信號處理方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種聲學(xué)測流的信號處理方法和系統(tǒng),屬于聲學(xué)測流領(lǐng)域和高速數(shù)字信號處理領(lǐng)域,尤其涉及一種基于FPGA的聲學(xué)多普勒流速剖面儀信號處理方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著經(jīng)濟社會的發(fā)展和新的水問題出現(xiàn),需要進一步創(chuàng)新水文資源理論和方法,服務(wù)于水資源的安全、高效與可持續(xù)利用。水流流速測量是水文測驗最主要的項目之一,快速、準確地開展水流流速測驗,已經(jīng)成為水資源保護、開發(fā)和利用以及防汛抗旱的基本要求。傳統(tǒng)的水流測流技術(shù)無法適應(yīng)現(xiàn)代水文監(jiān)測的需求,需要自動化技術(shù)促進水文監(jiān)測自動化的發(fā)展。
[0003]聲學(xué)多普勒流速剖面儀(AcousticDoppler Current Profiler,簡稱ADCP)是一種新型的聲吶測流技術(shù),近十年來得到迅速發(fā)展并得到廣泛的應(yīng)用。ADCP假定水體中泥沙、微生物等散射體與水體流速相同,且水體中每一層的流速是相同的。其配有一個或者多個聲波換能器,先向水體發(fā)射一定頻率的聲波信號,然后接受被水體中散射體反射回來的聲波。當水中散射體遠離換能器運動時,換能器接收到的回波信號頻率比發(fā)射信號頻率低,反之則高。這種回波頻率與發(fā)射頻率之間的差值,稱為多普勒頻偏。ADCP通過分析回波信號的多普勒頻偏,計算出水體的流速。其優(yōu)點主要是采用遙測的方式,對水體流場不產(chǎn)生擾動,能夠更加真實、準確地反映出流場的分布情況,而且節(jié)約了大量的人力和物力。
[0004]近年來,隨著嵌入式微處理器系統(tǒng)的發(fā)展,很多高速數(shù)字信號處理系統(tǒng)都是以DSP數(shù)字信號處理器或者ARM處理器作為主處理器,但是由于這些微處理器都是以順序指令執(zhí)行,且自身的接收傳輸接口帶寬比較小,很難滿足多路高速模擬采集系統(tǒng)的并行性、實時性和高帶寬的要求。單純的FPGA硬件邏輯架構(gòu)方案是能夠很好地滿足系統(tǒng)實時性的要求,但不適合較為復(fù)雜的運算,比如復(fù)雜的判斷結(jié)構(gòu)和順序流程控制等,系統(tǒng)后期如再需擴展功能或者升級修改算法,就可能會給設(shè)計者帶來非常重的任務(wù)量,不利于系統(tǒng)的維護與二次開發(fā)。現(xiàn)在很多FPGA廠商將一些常用的嵌入式處理器硬核MicroBlaZe、PowerPC、ARM等嵌入至IJFPGA芯片中。采用硬件與軟件協(xié)同的方式進行系統(tǒng)構(gòu)建,這是一種高效、快捷、靈活的解決方案,同時具有硬件結(jié)構(gòu)電路處理數(shù)據(jù)的高速、低延遲和實時性等優(yōu)點以及處理器實現(xiàn)軟件多樣性、易升級維護等特點。
【發(fā)明內(nèi)容】
[0005]為了克服現(xiàn)有ADCP信號處理系統(tǒng)的結(jié)構(gòu)復(fù)雜、功耗高、成本較高、體積大、實時性較差的不足,本發(fā)明提供了一種結(jié)構(gòu)簡單、功耗低、成本低、體積小、實時性良好的基于FPGA的聲學(xué)多普勒流速剖面儀信號處理方法及系統(tǒng)。
[0006]為了解決上述技術(shù)問題采用的技術(shù)方案為:
[0007]—種基于FPGA的聲學(xué)多普勒流速剖面儀信號處理方法,包括以下步驟:
[0008]步驟一,系統(tǒng)初始化,上位機設(shè)置參數(shù)并給出啟動信號,系統(tǒng)啟動后等待定時器中斷,定時時間到進入正式工作流程;
[0009]步驟二,F(xiàn)PGA給出一定長度的數(shù)字脈沖信號,等到信號發(fā)射完畢后開啟DA控制前端增益,高速AD電路采集4路波束輸出信號,將數(shù)字信號傳入FPGA內(nèi)部,數(shù)字信號緩存入DDR2存儲器;
[0010]步驟三,從DDR2存儲器中讀取波束數(shù)字信號數(shù)據(jù),做正交基帶調(diào)制處理,變?yōu)閺?fù)數(shù)形式,再做復(fù)降采樣濾波處理,將得到的復(fù)數(shù)結(jié)果存入DDR2存儲器中;
[0011]步驟四,從DDR2存儲器中讀取復(fù)降采樣濾波之后的數(shù)據(jù),計算每一層數(shù)據(jù)對應(yīng)的起始點以及層厚對應(yīng)的點數(shù),對每一層數(shù)據(jù)做復(fù)相關(guān)運算;
[0012]步驟五,低速AD電路采集縱搖、橫搖、溫度、壓力信號,計算出裝置的姿態(tài)以及當前環(huán)境的溫度和壓力值,進而計算出當前水體中的聲速,然后讀取復(fù)相關(guān)處理后的數(shù)據(jù)計算每一層的流速和回波能量;
[0013]步驟六,將參數(shù)、縱橫搖、溫度、壓力以及每一層的流速和回波能量儲存在TF卡中,并通過RS422或RS232發(fā)送給上位機顯示。
[0014]一種基于FPGA的聲學(xué)多普勒剖面儀信號處理系統(tǒng),所述系統(tǒng)包括數(shù)字脈沖信號發(fā)射模塊、DA輸出模塊、高速AD采集模塊、DDR2存儲模塊、正交調(diào)制模塊、濾波降采樣模塊、復(fù)相關(guān)計算模塊、低速AD采集模塊、TF卡控制模塊、網(wǎng)口控制模塊以及RS422\RS232通訊模塊;
[0015]所述數(shù)字脈沖信號發(fā)射模塊用于輸出兩路反向編碼脈沖信號,供外部電源板使用來驅(qū)動聲波換能器;
[0016]所述DA輸出模塊用于輸出兩路電壓信號,供外部模擬電路板使用來調(diào)節(jié)輸入信號的增益;
[0017]所述高速AD采集模塊用于采集波束輸出信號;
[0018]所述DDR2控制模塊用于存儲數(shù)字信號數(shù)據(jù)和計算的中間值;
[0019]所述正交調(diào)制模塊用于將時域數(shù)字信號轉(zhuǎn)換為復(fù)數(shù)形式;
[0020]所述濾波降采樣模塊用于信號濾波降采樣處理;
[0021 ]所述復(fù)相關(guān)計算模塊用于每一層數(shù)據(jù)復(fù)相關(guān)運算處理;
[0022]所述低速AD采集模塊用于采集縱搖、橫搖、溫度、壓力值;
[0023]所述TF卡控制模塊用于存儲參數(shù)、縱橫搖、溫度、壓力以及每一層的流速和回波能量等結(jié)果數(shù)據(jù);
[0024]所述網(wǎng)口控制模塊用于將信號數(shù)據(jù)通過網(wǎng)線上傳至上位機;
[0025]所述RS422\RS232通訊模塊用于系統(tǒng)跟上位機進行通訊。
[0026]進一步,所述高速AD采集模塊和低速AD采集模塊各為4路,所述DA控制模塊為2路。
[0027]再進一步,所述DDR2存儲模塊包括AD原始數(shù)據(jù)緩存區(qū)、濾波數(shù)據(jù)緩存區(qū)、復(fù)相關(guān)計算結(jié)果緩存區(qū)。
[0028]所述濾波降采樣模塊包括:低通濾波單元,用于信號256階低通濾波處理;降采樣單元,將濾波之后的信號數(shù)據(jù)進行8降I降采樣。
[0029]所述復(fù)相關(guān)計算模塊包括:浮點復(fù)數(shù)相乘單元,用于浮點復(fù)數(shù)相乘計算;浮點復(fù)數(shù)累加單元,用于浮點復(fù)數(shù)累加計算。
[0030]本發(fā)明的有益效果:本發(fā)明能夠發(fā)射數(shù)字脈沖信號,然后實時采集聲吶回波信號,快速、精確的計算出水流坡剖面的速度和回波能量,并將結(jié)果數(shù)據(jù)和參數(shù)存儲在TF卡,同時通過串口將數(shù)據(jù)傳輸?shù)缴衔粰C進行顯示,滿足ADCP流速計算實時性、精確性的要求。
【附圖說明】
[0031]圖1是一種基于FPGA的聲學(xué)多普勒流速剖面儀信號處理系統(tǒng)結(jié)構(gòu)示意圖。
[0032]圖2是一種基于FPGA的聲學(xué)多普勒流速剖面儀信號處理方法流程圖。
【具體實施方式】
[0033]為了使本發(fā)明的技術(shù)實現(xiàn)更加明了,下面結(jié)合具體示意圖,進一步闡述本發(fā)明。
[0034]參照圖1和圖2,一種基于FPGA的聲學(xué)多普勒流速剖面儀信號處理方法,所述方法包括以下步驟:
[0035]步驟一,系統(tǒng)初始化,上位機設(shè)置參數(shù)并給出啟動信號,系統(tǒng)啟動后等待定時器中斷,定時時間到進入正式工作流程;
[0036]步驟二,F(xiàn)PGA給出一定長度的數(shù)字脈沖信號,等到信號發(fā)射完畢后開啟DA控制前端增益,高速AD電路采集4路波束輸出信號,將數(shù)字信號傳入FPGA內(nèi)部,數(shù)字信號緩存入DDR2存儲器;
[0037]步驟三,從DDR2存儲器中讀取波束數(shù)字信號數(shù)據(jù),做正交基帶調(diào)制處理,變?yōu)閺?fù)數(shù)形式,再做復(fù)降采樣濾波處理,將得到的復(fù)數(shù)結(jié)果存入DDR2存儲器中;
[0038]步驟四,從DDR2存儲器中讀取復(fù)降采樣濾波之后的數(shù)據(jù),計算每一層數(shù)據(jù)對應(yīng)的起始點以及層厚對應(yīng)的點數(shù),對每一層數(shù)據(jù)做復(fù)相關(guān)運算;
[0039]步驟五,低速AD電路采集縱搖、橫搖、溫度、壓力信號,計算出裝置的姿態(tài)以及當前環(huán)境的溫度和壓力值,進而計算出當前水體中的聲速,然后讀取復(fù)相關(guān)處理后的數(shù)據(jù)計算每一層的流速和回波能量;
[0040]步驟六,將參數(shù)、縱橫搖、溫度、壓力以及每一層的流速和回波能量儲存在TF卡中,并通過RS422或RS232發(fā)送給上位機顯示。
[0041]一種基于FPGA的聲學(xué)多普勒剖面儀信號處理系統(tǒng),所述系統(tǒng)包括數(shù)字脈沖信號發(fā)射模塊、DA輸出模塊、高速AD采集模塊、DDR2存儲模塊、正交調(diào)制模塊、濾波降采樣模塊、復(fù)相關(guān)計算模塊、低速AD采集模塊、TF卡控制模塊、網(wǎng)口控制模塊以及RS422\RS232通訊模塊,其中,
[0042]所述數(shù)字脈沖信號發(fā)射模塊用于輸出兩路反向編碼脈沖信號,供外部電源板使用來驅(qū)動聲波換能器;所述DA輸出模塊用于輸出兩路電壓信號,供外部模擬電路板使用來調(diào)節(jié)輸入信號的增益;所述高速AD采集模塊用于采集波束輸出信號;所述DDR2控制模塊用于存儲數(shù)字信號數(shù)據(jù)和計算的中間值;所述正交調(diào)制模塊用于將時域數(shù)字信號轉(zhuǎn)換為復(fù)數(shù)形式;所述濾波降采樣模塊用于信號濾波降采樣處理;所述復(fù)相關(guān)計算模塊用于每一層數(shù)據(jù)復(fù)相關(guān)運算處理;所述低速AD采集模塊用于采集縱搖、橫搖、溫度、壓力值;所述TF卡控制模塊用于存儲參數(shù)、縱橫搖、溫度、壓力以及每一層的流速和回波能量等結(jié)果數(shù)據(jù);所述網(wǎng)口控制模塊用于將信號數(shù)據(jù)通過網(wǎng)線上傳至上位機;所述RS422\RS232通訊模塊用于系統(tǒng)跟上位機進行通訊。
[0043]所述數(shù)字脈沖信號發(fā)射模塊,與所述DA輸出模塊相連接;
[0044]所述DA輸出模塊,與所述數(shù)字脈沖信號發(fā)射模塊和高速AD采集模塊相連接;
[0045]所述高速AD采集模塊,與所述DA輸出模塊、DDR2存儲模塊和正交調(diào)制模塊相連接;
[0046]所述DDR2存儲控制模塊,與所述高速AD采集模塊、正交調(diào)制模塊、濾波降采樣模塊、復(fù)相關(guān)計算模塊相連接;
[0047]所述正交調(diào)制模塊,與所述高速AD采集模塊、DDR2控制模塊、濾波降采樣模塊相連接;
[0048]所述濾波降采樣模塊,與所述正交調(diào)制模塊、DDR2控制模塊、復(fù)相關(guān)計算模塊相連接;
[0049]所述復(fù)相關(guān)計算模塊,與所述DDR2控制模塊、濾波降采樣模塊相連接;
[0050]所述低速AD采集模塊