賈夢(mèng)歡, 庹先國(guó),, 沈 統(tǒng), 榮文鉦, 王亞娟
(1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621010; 2.四川理工學(xué)院,四川 自貢 643000;3.成都理工大學(xué) 地質(zhì)災(zāi)害防治與地質(zhì)環(huán)境保護(hù)國(guó)家重點(diǎn)實(shí)驗(yàn),四川 成都 610059)
微震的準(zhǔn)確初至拾取是進(jìn)行精確微震定位的先決條件[1],而微震信號(hào)的初至拾取與信號(hào)的采樣率密切相關(guān)。采樣率越高時(shí)間分辨也就越高,因此采用較高采樣率進(jìn)行數(shù)據(jù)采集將提高初至拾取精度,有利于精確定位震源。高采樣率的微震數(shù)據(jù)監(jiān)測(cè)固然可以提高初至拾取精度,但由于微震監(jiān)測(cè)的長(zhǎng)期性、實(shí)時(shí)性的要求,必將導(dǎo)致龐大的數(shù)據(jù)量,給微震信號(hào)的存儲(chǔ)與傳輸造成極大的困難[2,3]。而且在海量的監(jiān)測(cè)信號(hào)中只有極少的數(shù)據(jù)為微震信號(hào),大部分為背景噪聲,因此對(duì)微震信號(hào)的自動(dòng)識(shí)別變得極為重要。對(duì)微震信號(hào)進(jìn)行識(shí)別可以有效地去除冗余,同時(shí)保存有效微震信號(hào)。
目前微地震信號(hào)的自動(dòng)識(shí)別方法主要有STA/LTA算法[4]、W-AIC算法[5]、神經(jīng)網(wǎng)絡(luò)法[6]、小波變換法[7]等。地震數(shù)據(jù)采集通常由低功耗的微控制器構(gòu)成,其運(yùn)算速度和存儲(chǔ)能力極其有限,因此要在上面實(shí)現(xiàn)的震動(dòng)數(shù)據(jù)識(shí)別算法,應(yīng)具有簡(jiǎn)單、有效、實(shí)時(shí)性高的要求。目前微震識(shí)別算法中應(yīng)用最為廣泛的是STA/LTA算法[8],該算法具有簡(jiǎn)單、高效、適合實(shí)時(shí)處理的優(yōu)點(diǎn)。
針對(duì)微震信號(hào)自動(dòng)識(shí)別算法的復(fù)雜性、地震數(shù)據(jù)量的龐大性等問(wèn)題,傳統(tǒng)的單片機(jī)已無(wú)法滿足高采樣率下地震數(shù)據(jù)的實(shí)時(shí)處理的要求。本文提出采用現(xiàn)場(chǎng)可編程門(mén)陣列(field programmable gate array,FPGA)實(shí)現(xiàn)微地震信號(hào)的同步采集與自動(dòng)識(shí)別。FPGA具有流水線并行處理的優(yōu)勢(shì),運(yùn)算速度快,適合實(shí)時(shí)處理[9,10]。因此通過(guò)FPGA進(jìn)行地震數(shù)據(jù)并行同步采集,在FPGA內(nèi)嵌FIR濾波與STA/LTA算法內(nèi)核,可以實(shí)現(xiàn)微震信號(hào)的自動(dòng)識(shí)別,降低數(shù)據(jù)的冗余度,減小數(shù)據(jù)存儲(chǔ)與傳輸?shù)膲毫Α?/p>
STA/LTA算法是利用長(zhǎng)短時(shí)窗內(nèi)的能量平均值的比值來(lái)進(jìn)行微震信號(hào)自動(dòng)檢測(cè)與初至拾取的一種方法。STA反映微震信號(hào)的變化趨勢(shì),LTA反映噪聲信號(hào)的變化情況。當(dāng)沒(méi)有微震信號(hào)時(shí),STA與LTA內(nèi)均為噪聲其平均值相等,因此比值為1。當(dāng)微震信號(hào)來(lái)臨時(shí),STA較LTA變化快,其STA/LTA會(huì)有明顯的增大,當(dāng)比值大于某個(gè)閾值時(shí),即可判斷微震信號(hào)來(lái)臨,從而實(shí)現(xiàn)微震信號(hào)的自動(dòng)識(shí)別。STA/LTA算法微震信號(hào)識(shí)別原理如圖1所示。
圖1 STA/LTA算法微震信號(hào)識(shí)別原理
STA/LTA的公式
(1)
(2)
STA(i)/LTA(i)≥R
(3)
式中i為采樣時(shí)刻,N為短時(shí)窗的長(zhǎng)度,M為長(zhǎng)時(shí)窗的長(zhǎng)度,R為觸發(fā)閾值,CF為信號(hào)的特征函數(shù)。如圖1所示,長(zhǎng)、短時(shí)窗起點(diǎn)重合從左到右滑動(dòng),信號(hào)從右邊同時(shí)進(jìn)入長(zhǎng)短時(shí)窗,信號(hào)在短時(shí)窗內(nèi)的變化靈敏度較高,因此可以靈敏地檢測(cè)震動(dòng)信號(hào)。
整體設(shè)計(jì)包括AD采樣邏輯控制模塊、異步先入先出(first-in,first-out,FIFO)模塊、SDRAM控制器模塊、信號(hào)識(shí)別模塊、SDIO控制模塊、以太網(wǎng)發(fā)送模塊。AD采樣邏輯控制模塊實(shí)現(xiàn)震動(dòng)數(shù)據(jù)的采集,采用異步FIFO與SDRAM相結(jié)合的方式保證了數(shù)據(jù)的完整性,數(shù)字信號(hào)處理模塊主要實(shí)現(xiàn)了FIR濾波和微震信號(hào)的識(shí)別,SD卡用于存儲(chǔ)原始數(shù)據(jù),當(dāng)信號(hào)識(shí)別成功則觸發(fā)SD卡控制模塊讀取相對(duì)應(yīng)的指定長(zhǎng)度的原始數(shù)據(jù),并將其通過(guò)以太網(wǎng)模塊發(fā)送至上位機(jī)。本文重點(diǎn)闡述信號(hào)的采集、緩存與識(shí)別過(guò)程。震動(dòng)信號(hào)快速識(shí)別框圖如圖2所示。
圖2 微震動(dòng)快速識(shí)別框圖
本文采用動(dòng)圈式傳感器拾取震動(dòng)信號(hào),采用AD7606—4模數(shù)轉(zhuǎn)換芯片進(jìn)行數(shù)據(jù)采集,使用其中的三個(gè)通道采集三分量地震數(shù)據(jù),通過(guò)編寫(xiě)AD控制邏輯對(duì)ADC進(jìn)行采樣控制,FPGA通過(guò)并口讀取AD7606數(shù)據(jù)。芯片起始處于空閑狀態(tài),首先拉低ad_conv,再拉高ad_conv信號(hào)。通過(guò)ad_conv信號(hào)的上升沿啟動(dòng)AD開(kāi)始采樣。然后等待BUSY信號(hào)拉低指示轉(zhuǎn)換結(jié)束,最后在RD信號(hào)的上升沿連續(xù)讀取三個(gè)通道的數(shù)據(jù)。ADC采樣控制狀態(tài)機(jī)如圖3所示。
圖3 A/D轉(zhuǎn)換狀態(tài)轉(zhuǎn)移
為了保證數(shù)據(jù)的有效性,提升SDRAM的利用效率,采用具有乒乓操作的SDRAM緩存模塊對(duì)數(shù)據(jù)進(jìn)行緩存處理。當(dāng)?shù)谝唤M數(shù)據(jù)來(lái)臨時(shí)將數(shù)據(jù)寫(xiě)入BANK1,第二組數(shù)據(jù)來(lái)時(shí)寫(xiě)入BANK3。當(dāng)?shù)谌M數(shù)據(jù)來(lái)臨,第一組數(shù)據(jù)已傳輸至下一個(gè)處理單元。因此將第三組數(shù)據(jù)再次寫(xiě)入BANK1,由此交替讀寫(xiě),以實(shí)現(xiàn)SDRAM緩存的乒乓操作。本文的SDRAM讀寫(xiě)FIFO的容量設(shè)置為16×1 024,以滿足數(shù)據(jù)讀寫(xiě)的連續(xù)性和完整性的要求。
根據(jù)分析STA/LTA算法的基本公式,FPGA中的信號(hào)識(shí)別單元主要包括特征值生成模塊、滑動(dòng)時(shí)窗均值求取模塊、除法器模塊,整個(gè)信號(hào)識(shí)別單元采用流水線結(jié)構(gòu)進(jìn)行設(shè)計(jì)。
STA/LTA實(shí)現(xiàn)步驟:1)將經(jīng)FIR濾波模塊后的數(shù)據(jù)流生成特征值;2)分別計(jì)算當(dāng)前位置長(zhǎng)短時(shí)窗的均值;3)計(jì)算STA/LTA值并與閾值對(duì)比,若出現(xiàn)大于閾值的數(shù)據(jù),則判定該信號(hào)為震動(dòng)數(shù)據(jù);4)滑動(dòng)到下一時(shí)窗計(jì)算STA/LTA的值。
ADC采集的微震數(shù)據(jù)流經(jīng)過(guò)FIR濾波,濾除了高頻干擾,提高了信號(hào)的信噪比,經(jīng)濾波后的數(shù)據(jù)流使用特征函數(shù)生成特征值,本設(shè)計(jì)的特征函數(shù)采用CF(i)=X(i)2,因此特征值的生成通過(guò)調(diào)用兩個(gè)乘法器IP核實(shí)現(xiàn)。
時(shí)窗均值的求取采取先求和再做除法操作的方式。在對(duì)長(zhǎng)短時(shí)窗求和的過(guò)程中,如若直接求和,N個(gè)長(zhǎng)度的時(shí)窗的數(shù)據(jù)將消耗N-1個(gè)加法器,邏輯資源消耗嚴(yán)重,FPGA的邏輯資源將受窗口長(zhǎng)度的嚴(yán)重影響。因此采用增量更新的方式對(duì)時(shí)窗進(jìn)行橫向求和。在指定長(zhǎng)度的數(shù)據(jù)時(shí)窗數(shù)據(jù)流求和的過(guò)程中,僅有窗頭移出去的數(shù)據(jù)和窗尾移入的數(shù)據(jù)會(huì)對(duì)求和結(jié)果產(chǎn)生影響。因此針對(duì)不同位置的時(shí)窗無(wú)需重復(fù)計(jì)算時(shí)窗內(nèi)全部數(shù)據(jù)的和,將寄存器里的數(shù)據(jù)移位寄存,計(jì)算新增數(shù)據(jù)與丟棄數(shù)據(jù)的差值,最終當(dāng)前的求和結(jié)果即為上次的求和結(jié)果與新增差值之和。
儀器能否準(zhǔn)確區(qū)別噪聲信號(hào)和微震信號(hào)是本設(shè)計(jì)的關(guān)鍵,因此選取已知噪聲信號(hào)與微震信號(hào)進(jìn)行識(shí)別,將MATLAB仿真識(shí)別的結(jié)果作為標(biāo)準(zhǔn),與FPGA進(jìn)行Modelsim仿真的結(jié)果進(jìn)行對(duì)比以表明本文設(shè)計(jì)的合理性。仿真結(jié)果如圖4所示。
圖4 微震信號(hào)的STA/LTA算法仿真
圖4為同一微震信號(hào)在FPGA和MATLAB上的STA/LTA算法仿真結(jié)果。圖為采樣率為2 kHz,采樣長(zhǎng)度為2 s的一組實(shí)測(cè)震動(dòng)信號(hào),選取觸發(fā)閾值為3,圖中的三個(gè)微震信號(hào)均被識(shí)別成功。仿真結(jié)果顯示FPGA與MATLAB仿真的識(shí)別效果相同,表明在FPGA中實(shí)現(xiàn)的STA/LTA算法能夠準(zhǔn)確識(shí)別微震信號(hào)。
圖5(a),(b)分別為同一噪聲信號(hào)在FPGA和MATLAB上的STA/LTA算法仿真結(jié)果。采樣率2 kHz,采樣時(shí)長(zhǎng)2 s,FPGA與MATLAB仿真的結(jié)果均小于等于1,未超過(guò)閾值3,因此該組信號(hào)中不包含微震信號(hào),僅存在噪聲,仿真結(jié)果與實(shí)際情況一致,仿真結(jié)果表明在FPGA中實(shí)現(xiàn)的STA/LTA算法能識(shí)別噪聲信號(hào)。
圖5 噪聲信號(hào)的STA/LTA算法仿真
圖4與圖5的仿真測(cè)試數(shù)據(jù)表明,本設(shè)計(jì)可以區(qū)別在連續(xù)數(shù)據(jù)采集過(guò)程中的大量微震信號(hào)和噪聲信號(hào),具有較強(qiáng)的實(shí)用性。
在信號(hào)處理模塊中設(shè)置標(biāo)志位,用于開(kāi)啟和關(guān)閉計(jì)數(shù)器,通過(guò)計(jì)數(shù)器計(jì)算處理耗時(shí)。表1為在不同的采樣率下,對(duì)1 s長(zhǎng)度的數(shù)據(jù)進(jìn)行處理的耗時(shí)情況。
表1 不同采樣率下檢測(cè)1 s數(shù)據(jù)耗時(shí)
在較高100 kHz的采樣率下,處理1 s長(zhǎng)度的數(shù)據(jù)僅需大約2.12 ms,可實(shí)現(xiàn)震動(dòng)數(shù)據(jù)的快速檢測(cè),在數(shù)據(jù)處理耗時(shí)方面具備實(shí)時(shí)性。
對(duì)某建筑工地進(jìn)行24 h的監(jiān)測(cè),采樣率為10 kHz,每小時(shí)統(tǒng)計(jì)一組數(shù)據(jù),統(tǒng)計(jì)數(shù)據(jù)對(duì)比如圖6所示,直線代表沒(méi)有震動(dòng)識(shí)別算法的系統(tǒng),折線為具有震動(dòng)識(shí)別算法的采集系統(tǒng)。在與未加入震動(dòng)數(shù)據(jù)識(shí)別的采集系統(tǒng)相比,全天數(shù)據(jù)量降低72 %。測(cè)試結(jié)果表明在連續(xù)監(jiān)測(cè)的情況下,本設(shè)計(jì)可以去除大量的數(shù)據(jù)冗余,極大地減少了無(wú)效噪聲數(shù)據(jù)的傳輸與存儲(chǔ)。
圖6 24 h內(nèi)連續(xù)監(jiān)測(cè)有無(wú)識(shí)別算法對(duì)比
本文以FPGA為平臺(tái)設(shè)計(jì)了一個(gè)震動(dòng)信號(hào)快速識(shí)別系統(tǒng)。通過(guò)編寫(xiě)有限狀態(tài)機(jī)控制ADC數(shù)據(jù)采集,使系統(tǒng)具有靈活的可定制性。采用具有乒乓操作的SDRAM緩存技術(shù),保證了數(shù)據(jù)的可靠性和穩(wěn)定性。在FPGA中內(nèi)嵌FIR核和STA/LTA算法內(nèi)核,使其具有強(qiáng)大的數(shù)據(jù)處理能力。相關(guān)測(cè)試結(jié)果表明,系統(tǒng)能夠快速識(shí)別微震動(dòng)信號(hào),具備實(shí)時(shí)性和一定的實(shí)用性,可以應(yīng)用于地下廠房和隧道的微地震監(jiān)測(cè)領(lǐng)域。在進(jìn)行長(zhǎng)期的連續(xù)監(jiān)測(cè)中可以極大地減小數(shù)據(jù)冗余,減少無(wú)效噪聲的空間占用,具備一定的推廣價(jià)值。
本系統(tǒng)實(shí)現(xiàn)了震動(dòng)信號(hào)的快速識(shí)別,減少了大量無(wú)效噪聲消耗,但無(wú)法區(qū)別有規(guī)律的機(jī)械振動(dòng)與微震動(dòng)信號(hào),需在后續(xù)的地震信號(hào)處理中做進(jìn)一步的處理。本系統(tǒng)不僅可以應(yīng)用于微地震數(shù)據(jù)采集,還可以應(yīng)用于其他相關(guān)應(yīng)用領(lǐng)域的數(shù)據(jù)采集中,例如:音頻信號(hào)的采集,具備一定的應(yīng)用價(jià)值。