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