羅麗1,馬尚昌1,湯志亞1,黃敏1,秦銳敏2,尤媛3,郭佳4
(1.成都信息工程大學 電子工程學院,成都 610225;2.成都金本華科技股份有限公司,成都 610044;3.國家氣象中心,北京 100081;4.北京敏視達雷達有限公司,北京 100081)
摘要:基于MSP430F169單片機研究設計了一個對聲音信號進行識別、運算處理及坐標顯示的聲音定位系統(tǒng)。聲源模塊利用RC橋式正弦波振蕩電路產(chǎn)生穩(wěn)定的正弦波,通過OPA2227放大以及單片機控制三極管的通斷,使紙盆喇叭產(chǎn)生音頻信號,由LM358兩級運算放大器以及LM567鎖相環(huán)解碼器構成的音頻接收和聲音處理電路對聲音信號進行濾波放大并將模擬信號轉換為頻率穩(wěn)定的數(shù)字信號。根據(jù)收到的聲音信號的時間差,單片機進行運算處理,將聲源坐標顯示在LCD12864液晶顯示器上。經(jīng)測試,該系統(tǒng)能夠在誤差允許范圍內判定聲源所在的位置坐標,并進行處理和顯示。
關鍵詞:聲音定位;信號處理;MSP430F169;LM567;12864液晶顯示
0引言
聲音定位簡單地理解就是判斷聲音信號在空間位置中的具體方位。眾所周知,人的雙耳就是一個靈敏的定位系統(tǒng),它不僅能夠判定聲源的方向,同時也能夠判定聲源的遠近[13]。聲音定位技術在聲電學、信號與信息處理、通信系統(tǒng)以及軟件工程設計等諸多技術領域發(fā)揮著重要作用[4]。在軍事武器的導航系統(tǒng)中,利用聲音定位技術可以提高作戰(zhàn)的精確性,為打擊敵人提供有效保障。在日常生活中,聲音定位技術主要應用于智能手機導航以及許多室內視頻會議系統(tǒng)、可視電話等系統(tǒng)中,可以在噪聲環(huán)境下不受干擾,全天候提供可靠的服務。
在機器人的導航系統(tǒng)中,主要靠視覺系統(tǒng)探尋周圍環(huán)境并作出相應反應,但由于光線或者障礙物的阻擋影響,機器人的視覺系統(tǒng)對于障礙物的辨別能力很可能減弱甚至無法發(fā)現(xiàn)一些障礙物[56]。聲音在傳播過程中遇到障礙物所反射形成的回聲聲波可以有效被聲音定位系統(tǒng)所探測到,因此給機器人裝上聲音定位系統(tǒng),能令機器人精確識別前方障礙并繞過障礙物,有效提高機器人的定位靈敏度以及智能化水平。國內外對聲音定位技術做了許多研究,研究的熱點主要集中于3種聲源定位技術[7]:基于可控波束形成器的聲源定位技術、基于高分辨率空間譜估計聲源技術以及時延估計法(TDOA,利用到達麥克風陣列上各個傳聲器的聲音信號間的時間差來判斷聲源的位置)。TDOA時差估計定位算法一般比前兩種方法的計算量要小,也是目前研究的熱點,其中估算出較為精確的時間差是該方法的關鍵。
本文設計了一個基于單片機控制的聲音定位系統(tǒng),該單片機使用德州儀器(TI)公司提供的超低功耗單片機MSP430F169,采用時延估計法(TDOA)對二維平面內的可移動聲源進行聲音定位,并將聲源位置坐標顯示在LCD12864液晶顯示屏上。在較為空曠、安靜的室內環(huán)境下對系統(tǒng)進行功能性檢測,結果表明了該系統(tǒng)設計的合理性和算法的準確性,為研究聲音定位提供了一定理論和技術參考。
1系統(tǒng)總體設計
通過查閱大量關于聲音定位系統(tǒng)的理論算法及國內外相關研究,研發(fā)設計出一個硬件電路容易實現(xiàn)、價格低廉、能準確、可靠、穩(wěn)定檢測聲源位置坐標的聲音定位系統(tǒng)。整個系統(tǒng)結構示意圖如圖1所示,主要由音頻發(fā)聲模塊、聲音接收處理模塊、MSP430F169單片機主控單元模塊、液晶顯示模塊4個基本模塊組成。其中聲響模塊由紙盆喇叭產(chǎn)生500 Hz固定頻率,持續(xù)時間約為1 s的聲音信號,4路麥克風聲音接收電路將收到的聲音信號轉換為電信號,交由信號處理模塊進行濾波放大并將聲音模擬信號轉換為數(shù)字信號傳輸至單片機進行處理。本系統(tǒng)采用TI公司提供的16位超低功耗MSP430F169單片機[8],選用該單片機作為本系統(tǒng)的主控芯片是因其具有獨特的優(yōu)點:處理能力強大,功耗超低,處理功能強大,系統(tǒng)穩(wěn)定,使用靈活方便,工作電壓比51單片機更低,在模數(shù)信號轉換、智能化儀器儀表以及電子通信設備中得到廣泛的應用。單片機采用C語言編程實現(xiàn)分析和計算,判定出聲響模塊所在的位置坐標,并將其顯示在液晶顯示屏上。本系統(tǒng)采用既可以顯示中文漢字又可以顯示各種圖形的LCD12864液晶顯示器進行聲源位置坐標的顯示。
2系統(tǒng)硬件電路設計
2.1音頻發(fā)聲模塊
本系統(tǒng)音頻發(fā)聲模塊使用價格相對低廉、發(fā)聲頻率高的紙盆喇叭發(fā)聲。發(fā)聲的簡單原理是利用RC橋式正弦波振蕩電路產(chǎn)生幅度穩(wěn)定、頻率固定的正弦波,通過由高精度、高增益、低噪聲運放OPA2227為核心組成的比例放大器放大后,控制三極管的通斷,使紙盆喇叭產(chǎn)生500 Hz固定頻率、持續(xù)約1s的音頻信號。發(fā)聲持續(xù)時間控制采用電容的充放電原理控制開關三極管的通斷,實現(xiàn)控制振蕩電路的電源,從而控制最后的發(fā)聲時間。其電路原理圖如圖2所示。RC橋式正弦波振蕩電路起振容易、調節(jié)頻率方便,波形不易失真,該音頻信號發(fā)生電路結構簡單、功耗低、使用外界元件少、容易實現(xiàn)。
2.2聲音接收與處理模塊
音頻信號的接收處理模塊由麥克風構成的接收電路和由運算放大器、濾波選頻電路等構成的音頻信號處理電路組成,其原理結構圖如圖3所示。麥克風往往接收到的音頻信號比較微弱[9],雜波信號比較多,為保證系統(tǒng)的穩(wěn)定性,需要將聲響模塊產(chǎn)生的聲波信號經(jīng)過濾波放大電路去除雜波干擾以及對信號進行放大處理。由LM358芯片為核心組成兩級放大電路與LM567集成音頻選頻芯片所組成的具有選頻功能的聲音開關電路,將音頻模擬信號轉換為單片機可處理操作的數(shù)字信號。LM567鎖相環(huán)解碼圖3音頻接受處理電路器的主要功能是對輸入的模擬信號進行檢波、濾波、放大、選頻,最終輸出數(shù)字信號。由LM358兩級運算放大器以及LM567鎖相環(huán)解碼器構成的音頻接收、處理電路,輸出信號頻率穩(wěn)定,調節(jié)方便,不管在性能上還是在造價方面,優(yōu)點都非常突出。
3系統(tǒng)軟件設計
3.1理論分析與計算
本設計對聲音信號的處理算法采用基于到達時間差的任意三角形定位算法,如圖4所示,S點為當前聲響模塊的位置,設其坐標為(X,Y)。A、B、C、D為4個聲音接收處理模塊,當聲響模塊發(fā)聲時,由于S點位置所處的隨機性,A、B、C 3點接收到聲音信號的時間不同,根據(jù)A、B和A、C之間的時間差Tab、Tac,聲音在空氣中的傳播速度為V=340 m/s,通過三角形余弦定理推導可得:
SC2=SA2+AC2-2×SA×AC×cos(90°-θ)(1)
SB2=SA2+AB2-2×SA×AB×cos(θ)(2)
SC=SA+V×Tac(3)
SB=SA+V×Tab(4)
由式(1)~(4)可得:
其中,a=1-(V×Tab)2/6002-(V×Tac)2/4502;b=(6002-(V×Tab)2)×(V×Tab)/6002+(4502-(V×Tac)2)×(V×Tac)/4502;c=-[((600-V×Tab)/1200)2+((450-V×Tac)/900)2];X=(6002-2ab-b2)/1200-50;Y=(4502-2ac-c2)/900-50?!?/p>
3.2定點檢測聲源位置
上電后,啟動系統(tǒng)各工作模塊(包括MSP430單片機、LCD12864模塊等)進行數(shù)據(jù)初始化。手動按下發(fā)聲按鈕,喇叭發(fā)出聲音信號,通過空氣傳輸至接收模塊對信號進行放大選頻后傳輸?shù)叫畔⑻幚砟K對信號進行模數(shù)轉換處理,單片機啟動TB定時器作為定時中斷處理,進入中斷服務程序,啟動定位模式,對4路聲音接收電路采集到的信息進行判斷處理,根據(jù)本文采用的時間差延遲估法計算得出聲源所在位置(X,Y),并將坐標值顯示在LCD12864液晶顯示屏上。本系統(tǒng)聲音定位監(jiān)測的主程序流程圖如圖5所示。
3.3聲響位置移動軌跡程序設計
當聲源在坐標值范圍內進行隨機移動,單片機不斷地計算聲源的位置坐標并對瞬時位置坐標動態(tài)顯示在LCD12864的液晶顯示器上,該功能主要通過編寫軌跡函數(shù)實現(xiàn)實時定位聲源位置。圖6為判斷聲源位置移動軌跡坐標顯示過程的程序流程框圖。
4系統(tǒng)測試方案與結果分析
4.1系統(tǒng)測試方法
在一個相對安靜、空曠的室內房間中對本系統(tǒng)進行功能性測試。按照圖6在一個長600 mm,寬450 mm的平板上固定A、B、C、D 4個聲音接收器,為了方便檢驗,在平板上繪制500 mm×350 mm的坐標方格線。
首先檢測對于固定的某一點坐標,該聲音定位系統(tǒng)是否能正確判斷聲響模塊所在的位置坐標;其次通過改善信號放大電路性能以及相關算法,移動聲響模塊,檢測該系統(tǒng)能否正確判斷聲源的位置坐標。
4.2聲源固定測試結果
將聲源模塊放置坐標中選定的4個坐標(A(200,100)、B(200,200)、C(300,200)、D(300,100),單位:mm)中的任意3個點,通過多次檢測來驗證結果是否符合要求。測試結果如表1~表4所示。(注:|誤差|=(x2-x1)2+(y2-y1)2,其中測量坐標為(x1,y1),實際坐標為(x2,y2)。)
由表1~表4數(shù)據(jù)結果分析可知:本系統(tǒng)能夠正常接收聲源信號,單片機工作穩(wěn)定,能有效判斷出聲響模塊的位置坐標,并清晰顯示在液晶顯示上,且位置坐標的誤差絕對值均小于30 mm,滿足本系統(tǒng)設計要求。以上誤差存在原因除了系統(tǒng)本身的不精確,還可能是周圍環(huán)境影響所致。
4.3聲源移動測試結果
將聲源模塊在平面坐標紙上任意移動,通過直接讀取當下喇叭所處位置的坐標點并與液晶顯示器上的結果進行分析比較,檢測結果是否符合要求,同時液晶顯示器能動態(tài)顯示聲響模塊移動軌跡。表5是聲源模塊移動軌跡為A1→B1→C1→D1→E1,表6是聲源模塊移動軌跡為A2→B2→C2→D2→E2。
由表5和表6數(shù)據(jù)結果分析可知:本系統(tǒng)測試聲源位置移動軌跡坐標的每次測試誤差均小于10 mm,說明該系統(tǒng)可以準確、穩(wěn)定、動態(tài)測出聲源位置移動軌跡坐標,滿足設計要求。
5結論
本系統(tǒng)以MSP430F169單片機為核心部件,根據(jù)接收模塊獲取的音頻信號的不同響應時間,配合一套完整的程序,通過反復調試改進,基本實現(xiàn)聲音精確定位,且定位誤差均在允許范圍之內。單片機MSP430F169作為本系統(tǒng)的主控芯片,在測試中工作正常,數(shù)據(jù)接收、處理、輸出及時準確。顯示模塊LED12964顯示正常。經(jīng)過充分的討論和計算,本設計也存在許多問題,特別在硬件實現(xiàn)方面,看似很簡單的電路,仿真起來也很準確,但是測試時也會出現(xiàn)一些誤差。在設計中,盡量采用低功耗器件,使硬件電路達到最大的經(jīng)濟性與準確性,充分發(fā)揮軟件控制靈活的特點來滿足設計要求。
參考文獻
?。?] 吳峰,高下,李志宏,等.聲音空間定位測聽系統(tǒng)的設計與實現(xiàn)[J].第四軍醫(yī)大學學報,2001,22(7):656-658.
?。?] 關健生.基于單片機的聲音導航定位系統(tǒng)的設計[J].信息系統(tǒng)工程,2009(9):96-98.
[3] 郝立果,趙凌云,袁建強,等.聲音定位引導系統(tǒng)設計[J].機床與液壓,2011,39( 22):104-108.
?。?] 陳益如,王博,鄔楊波.基于聲音引導的聲源定位系統(tǒng)設計[J].工業(yè)控制計算機,2010,23(10):101-104.
?。?] 李從清,孫立新,戴士杰,等.機器人聽覺定位跟蹤聲源的研究與進展[J].燕山大學學報,2009,33(3):201-205.
[6] 頓向明,繆松華,沈靜,等.基于麥克風陣列的儲罐內爬壁機器人定位技術[J].機器人 ROBOT,2012,34(4):460-475.
[7] PAVLIDI D, GRIFFIN A, PUIGT M,et al.Realtime multiple sound source localization and counting using a circular microphone array[J].IEEE Transactions on Audio,Speech and Language Processing,2013,21 ( 10) : 2193-2206.
[8] 沈建華,楊艷琴.MSP430系列16位超低功耗單片機原理與實踐[M].北京:北京航空航天大學出版社,2008.
[9] 龍興波,黃敏,樊昌元,等.基于MSP430的微弱信號檢測裝置[J].微型機與應用,2014,33(3):18-20.