劉 坤,欒 雨,袁 帥,張曉光
(中國礦業(yè)大學(xué)信息與控制工程學(xué)院,江蘇 徐州 221116)
聲源定位在工業(yè)、軍事、民用等領(lǐng)域有非常重要的意義[1],如機械中故障診斷、電力狀態(tài)檢測及軍事中探測敵方飛機等。文獻[2]提出利用接收聲音信號的強度進行聲源定位,但定位精度較低。文獻[3]提出利用聲波的到達時間進行聲源定位,但要求聲傳感器之間的時間嚴格同步,實現(xiàn)較為困難。鑒于此,本文設(shè)計了一種基于TDOA算法的聲源定位系統(tǒng)。
該聲源定位系統(tǒng)基于TDOA算法[4]獲得4個聲傳感器之間的相對時間差,實現(xiàn)對特定頻率聲波的檢測。采用平面四元十字陣列建立的聲傳感器陣列實現(xiàn)位置解算,獲得聲源坐標(biāo)。硬件上該系統(tǒng)綜合應(yīng)用了鎖相環(huán)路、51單片機和運算放大器等元器件,軟件上利用C51語言編寫代碼,實現(xiàn)了對特定頻率聲波的定位。
基于TDOA算法的聲源定位系統(tǒng)可滿足使用者對不同頻率聲波的定位與檢測,其系統(tǒng)框圖如圖1所示。硬件電路主要采用51單片機和聲傳感器相結(jié)合,首先51單片機通過接收聲傳感器所發(fā)出的高電平信號觸發(fā)中斷,進行時間差獲取;然后應(yīng)用TDOA算法和平面四元十字陣列得到聲源所在的三維直角坐標(biāo),并在顯示模塊顯示。
圖1 系統(tǒng)框圖
基于TDOA的定位主要利用4個聲傳感器采集聲源發(fā)出的聲波信號,如圖2所示,其定位主要分為兩步。
圖2 基于TDOA的定位
第一步,獲得4個聲傳感器之間的相對時間差。因為4個聲傳感器位置不同,且與聲源的距離不同,因此4個聲傳感器接收到聲源信號的時間延遲不同。通過聲傳感器接收聲源聲波,被鎖相環(huán)路識別之后對51單片機的引腳輸出低電平,并通過51單片機的定時器中斷而獲得。
第二步,采用平面四元十字陣列[5]來建立聲傳感器陣列(如圖3所示),實現(xiàn)位置解算,獲得聲源坐標(biāo)。圖3中,設(shè)O點為坐標(biāo)原點,聲源點為P(x,y,z),聲傳感器的位置分別為S1,S2,S3,S4,聲傳感器距離原點的距離為L,聲源P距離聲傳感器S1,S2,S3,S4的距離分別為R1,R2,R3,R4。
圖3 平面四元十字聲傳感器陣列
由幾何關(guān)系可知,通過確定聲源P與坐標(biāo)原點O之間的距離R,P點關(guān)于xoy平面的俯仰角θ,以及聲源P點在xoy平面的投影關(guān)于x軸正半軸的方位角φ,就可以得到聲源P的準確坐標(biāo)。根據(jù)直角坐標(biāo)和球坐標(biāo)之間的轉(zhuǎn)化關(guān)系,可得到P點相應(yīng)的球坐標(biāo)為P(Rsinθcosφ,Rsinθsinφ,Rcosθ),0°<θ<90°。
選擇4個聲傳感器中的S1作為基準,記錄其余3個聲傳感器S2,S3,S4相對于基準聲傳感器S1的時延差τ21,τ31,τ41。根據(jù)幾何關(guān)系,可得下列方程組:
(1)
式中,c為聲速,L為聲傳感器與原點O之間的距離,(x,y,z)為目標(biāo)聲源P的坐標(biāo),R1為聲源與基準聲傳感器S1之間的距離,其表達式為:
(2)
通過計算可得聲源坐標(biāo)的直角坐標(biāo)為:
(3)
俯仰角及方位角的表達式為:
(4)
通過分析可知,若已知聲傳感器與原點O之間的距離L以及各個聲傳感器之間的時延差,即可得到聲源P的坐標(biāo)。
采集到的聲波信號首先送入芯片LM358進行信號放大,接下來送入到芯片LM567中進行鑒頻。LM358內(nèi)部有兩個獨立的、高增益、內(nèi)部頻率補償?shù)倪\算放大器,有極高的穩(wěn)定性,聲波信號通過LM358可以增強信號的可識別性。LM567是一個高穩(wěn)定性的低頻集成鎖相環(huán)路解碼器,擁有良好的噪聲抑制能力和中心頻率穩(wěn)定度。LM567所鑒定的頻率公式為:f0≈Ct/1.1×(Rt×Ct)Ct,式中Rt為外界定時電阻,Ct為外界定時電容[6]。由公式可知,只需設(shè)定好定時電阻與定時電容的值,便可得到所要識別的目標(biāo)聲波頻率。
若檢測到聲波信號的頻率是LM567芯片設(shè)定的目標(biāo)頻率,說明該聲波信號是目標(biāo)聲源發(fā)出的,便可輸出一個低電平信號觸發(fā)定時器中斷,進行后續(xù)的時間計時、計算定位。聲波獲取及鑒頻部分電路設(shè)計如圖4所示。
圖4 聲波獲取及鑒頻部分電路設(shè)計圖
51單片機通過接收鑒頻輸出口的低電平觸發(fā)定時器中斷,進而計算出4個聲傳感器之間的時間差,為之后目標(biāo)聲源的三維直角坐標(biāo)計算打下基礎(chǔ)。51單片機電路連接如圖5所示,其中單片機最小系統(tǒng)由電源、晶振以及復(fù)位電路3部分組成。4個鑒頻輸出口連接在P3.0,P3.1,P3.2以及P3.3,LCD1602顯示模塊連接在P0端口以及P2.7,P2.6和P2.5。
圖5 51單片機連接圖
STC89C52連接4個運放鑒頻電路,4個聲傳感器采取平面四元十字陣列排放,當(dāng)接收到第1個運放鑒頻電路有低電平信號輸出時,便開始計時。當(dāng)其余3個運放鑒頻電路也分別接收到目的信號并觸發(fā)中斷時,便得到了3個計時時間,也就是3個相對時延。之后利用TDOA算法和平面四元十字陣列結(jié)合的結(jié)論,得到聲源確切位置。定位系統(tǒng)通過LCD1602液晶屏將聲源三維坐標(biāo)顯示在屏幕上,本文所設(shè)計的聲源定位裝置如圖6所示。
圖6 聲源定位裝置
51單片機持續(xù)檢測4個聲傳感器所連接引腳的電平值,當(dāng)有1個聲傳感器接收到外界特定頻率的聲波時,便會輸出一個低電平。51單片機檢測到低電平時,便會觸發(fā)定時器中斷,進而將4個聲傳感器之間的時間差記錄在一個數(shù)組中,并計算目標(biāo)聲源三維坐標(biāo),程序流程圖如圖7所示。聲傳感器之間的時間差所產(chǎn)生的誤差對于目標(biāo)聲源坐標(biāo)的計算有極大的影響,為了進一步提高準確性,對于程序代碼的精簡有著更高的要求。采用C51語言所編寫的程序更接近硬件底層,因此在計算時間差上具有一定的優(yōu)勢。
圖7 程序運行流程圖
駐極體式傳感器接收外界聲波信號,將聲信號轉(zhuǎn)化為電信號,并將電信號傳遞給LM358雙運算放大器進行信號放大,提高可辨識度。經(jīng)過放大后的電信號送入LM567鎖相環(huán)路中,LM567通過改變定時電阻的電阻值與定時電容的電容值來設(shè)置所要定位聲波的頻率,通過比對放大后電信號的頻率是否與預(yù)設(shè)頻率一致來選擇是否輸出低電平給51單片機。若預(yù)設(shè)頻率值與放大后電信號的頻率不一致,則繼續(xù)監(jiān)聽;若預(yù)設(shè)頻率值與放大后電信號的頻率一致,則輸出低電平傳遞給51單片機。51單片機接收到低電平后便觸發(fā)定時器中斷,并計算出4個聲傳感器之間的時間差,進而得出目標(biāo)聲源的三維直角坐標(biāo)。
對于定位結(jié)果的模擬可通過Proteus軟件實現(xiàn),而對于實際定位的結(jié)果則是通過具體聲源對于該聲源定位設(shè)備的測試,并將結(jié)果顯示在LCD1602液晶屏幕上(如圖8所示)。
圖8 LCD1602顯示聲源坐標(biāo)
對于聲源定位設(shè)備的誤差分析,是根據(jù)實際聲源的位置坐標(biāo)與LCD1602液晶顯示屏上所顯示的位置坐標(biāo)進行比對,通過多次測量取平均值并畫出誤差曲線。在確定聲波強度一定的情況下,采用按鍵控制蜂鳴器輸出PWM波,實現(xiàn)固定頻率的聲波輸出,通過測試,系統(tǒng)在安靜環(huán)境情況下的定位性能與嘈雜環(huán)境情況下的定位性能如圖9所示。
圖9 誤差分析
由圖9可以看出,聲源定位系統(tǒng)的誤差約為2%~7%。在相同聲源距離的情況下,嘈雜環(huán)境下的定位誤差大于安靜環(huán)境下的定位誤差,說明環(huán)境噪聲會對設(shè)備的定位性能造成一定的影響。若環(huán)境噪聲中具有所要識別的頻率聲波且強度較大,則設(shè)備的定位性能將大大減弱。在安靜環(huán)境下,誤差的產(chǎn)生主要由以下幾點所致:(1)電路結(jié)構(gòu)采用面包板連接方式,該連接方式會給電路連接帶來一些便捷,但會導(dǎo)致電路不穩(wěn)定,進而產(chǎn)生誤差;(2)單片機采用的代碼是以C51語言所編寫,相較于匯編語言的高效與高速,C51語言代碼的冗余會使得時延差的計算出現(xiàn)誤差,進而導(dǎo)致定位坐標(biāo)結(jié)果產(chǎn)生偏差;(3)測量實際聲源的位置時,存在因為測量工具或測量手法所產(chǎn)生的儀器誤差與操作誤差。
進一步分析誤差產(chǎn)生的原因可知,通過改變電路連接方式,例如采用PCB板焊接的方式即可避免大部分誤差。對于程序代碼冗余的問題,則可以通過精簡代碼、優(yōu)化代碼等方式解決。而對于儀器誤差與操作誤差,則可以通過多次測量并取平均值的方法來修正。
該系統(tǒng)控制器核心采用51單片機,當(dāng)有噪聲疊加在駐極體式傳感器上時,會導(dǎo)致較大的測量誤差。由于這些噪聲的隨機性,該系統(tǒng)通過鎖相環(huán)路濾波技術(shù)剔除虛假信號,獲得真正的聲波信息。鎖相環(huán)路的中心頻率確定之后,可以濾除大部分噪聲干擾,其抗干擾的特點為:外界噪聲中無目標(biāo)頻率聲波時,定位效果極佳;外界噪聲為高斯白噪聲時,定位效果略受干擾;外界噪聲中充斥大量目標(biāo)頻率聲波時,定位效果較差。該設(shè)備適用于特定環(huán)境下,如機械運行故障發(fā)出特定頻率聲波的情況。通過試驗仿真及設(shè)備測試,當(dāng)外加干擾強度不過大時,抗干擾能力良好,靈敏度也較高。
本文提出了一種易于實現(xiàn)、較為簡易的聲源定位系統(tǒng)方案。通過駐極體式傳感器對外界聲波進行接收,并通過LM358運算放大器對所接收的聲波信號進行放大,同時通過LM567鎖相環(huán)路的鑒頻,實現(xiàn)對聲波頻率的鑒定。利用單片機的中斷程序,結(jié)合TDOA算法,實現(xiàn)了目標(biāo)聲源的定位。該聲源定位系統(tǒng)的主要創(chuàng)新點是采用了非數(shù)字信號處理的方式,借助于鎖相環(huán)路的固有屬性實現(xiàn)了對固定頻率聲波的定位。后續(xù),團隊基于該系統(tǒng)研究聲源定位改進方案,通過對接收到的聲波信號進行信號分析,結(jié)合梅爾倒譜濾波器及神經(jīng)網(wǎng)絡(luò)算法,實現(xiàn)對特定音色聲波的定位。