羅 麗,馬尚昌,湯志亞,黃 敏,秦銳敏,尤 媛,郭 佳
(1.成都信息工程大學 電子工程學院,成都 610225;2.成都金本華科技股份有限公司,成都 610044;3.國家氣象中心,北京 100081;4.北京敏視達雷達有限公司,北京 100081)
基于MSP430F169單片機的聲音定位系統
羅 麗1,馬尚昌1,湯志亞1,黃 敏1,秦銳敏2,尤 媛3,郭 佳4
(1.成都信息工程大學 電子工程學院,成都 610225;2.成都金本華科技股份有限公司,成都 610044;3.國家氣象中心,北京 100081;4.北京敏視達雷達有限公司,北京 100081)
基于MSP430F169單片機研究設計了一個對聲音信號進行識別、運算處理及坐標顯示的聲音定位系統。聲源模塊利用RC橋式正弦波振蕩電路產生穩定的正弦波,通過OPA2227放大以及單片機控制三極管的通斷,使紙盆喇叭產生音頻信號,由LM358兩級運算放大器以及LM567鎖相環解碼器構成的音頻接收和聲音處理電路對聲音信號進行濾波放大并將模擬信號轉換為頻率穩定的數字信號。根據收到的聲音信號的時間差,單片機進行運算處理,將聲源坐標顯示在LCD12864液晶顯示器上。經測試,該系統能夠在誤差允許范圍內判定聲源所在的位置坐標,并進行處理和顯示。
聲音定位;信號處理;MSP430F169;LM567;12864液晶顯示
聲音定位簡單地理解就是判斷聲音信號在空間位置中的具體方位。眾所周知,人的雙耳就是一個靈敏的定位系統,它不僅能夠判定聲源的方向,同時也能夠判定聲源的遠近[1-3]。聲音定位技術在聲電學、信號與信息處理、通信系統以及軟件工程設計等諸多技術領域發揮著重要作用[4]。在軍事武器的導航系統中,利用聲音定位技術可以提高作戰的精確性,為打擊敵人提供有效保障。在日常生活中,聲音定位技術主要應用于智能手機導航以及許多室內視頻會議系統、可視電話等系統中,可以在噪聲環境下不受干擾,全天候提供可靠的服務。
在機器人的導航系統中,主要靠視覺系統探尋周圍環境并作出相應反應,但由于光線或者障礙物的阻擋影響,機器人的視覺系統對于障礙物的辨別能力很可能減弱甚至無法發現一些障礙物[5-6]。聲音在傳播過程中遇到障礙物所反射形成的回聲聲波可以有效被聲音定位系統所探測到,因此給機器人裝上聲音定位系統,能令機器人精確識別前方障礙并繞過障礙物,有效提高機器人的定位靈敏度以及智能化水平。國內外對聲音定位技術做了許多研究,研究的熱點主要集中于3種聲源定位技術[7]:基于可控波束形成器的聲源定位技術、基于高分辨率空間譜估計聲源技術以及時延估計法(TDOA,利用到達麥克風陣列上各個傳聲器的聲音信號間的時間差來判斷聲源的位置)。TDOA時差估計定位算法一般比前兩種方法的計算量要小,也是目前研究的熱點,其中估算出較為精確的時間差是該方法的關鍵。
本文設計了一個基于單片機控制的聲音定位系統,該單片機使用德州儀器(TI)公司提供的超低功耗單片機MSP430F169,采用時延估計法(TDOA)對二維平面內的可移動聲源進行聲音定位,并將聲源位置坐標顯示在LCD12864液晶顯示屏上。在較為空曠、安靜的室內環境下對系統進行功能性檢測,結果表明了該系統設計的合理性和算法的準確性,為研究聲音定位提供了一定理論和技術參考。

圖2 音頻產生電路
通過查閱大量關于聲音定位系統的理論算法及國內外相關研究,研發設計出一個硬件電路容易實現、價格低廉、能準確、可靠、穩定檢測聲源位置坐標的聲音定位系統。整個系統結構示意圖如圖1所示,主要由音頻發聲模塊、聲音接收處理模塊、MSP430F169單片機主控單元模塊、液晶顯示模塊4個基本模塊組成。其中聲響模塊由紙盆喇叭產生500 Hz固定頻率,持續時間約為1 s的聲音信號,4路麥克風聲音接收電路將收到的聲音信號轉換為電信號,交由信號處理模塊進行濾波放大并將聲音模擬信號轉換為數字信號傳輸至單片機進行處理。本系統采用TI公司提供的16位超低功耗MSP430F169單片機[8],選用該單片機作為本系統的主控芯片是因其具有獨特的優點:處理能力強大,功耗超低,處理功能強大,系統穩定,使用靈活方便,工作電壓比51單片機更低,在模數信號轉換、智能化儀器儀表以及電子通信設備中得到廣泛的應用。單片機采用C語言編程實現分析和計算,判定出聲響模塊所在的位置坐標,并將其顯示在液晶顯示屏上。本系統采用既可以顯示中文漢字又可以顯示各種圖形的LCD12864液晶顯示器進行聲源位置坐標的顯示。

圖1 系統結構示意圖
2.1 音頻發聲模塊
本系統音頻發聲模塊使用價格相對低廉、發聲頻率高的紙盆喇叭發聲。發聲的簡單原理是利用RC橋式正弦波振蕩電路產生幅度穩定、頻率固定的正弦波,通過由高精度、高增益、低噪聲運放OPA2227為核心組成的比例放大器放大后,控制三極管的通斷,使紙盆喇叭產生500 Hz固定頻率、持續約1s的音頻信號。發聲持續時間控制采用電容的充放電原理控制開關三極管的通斷,實現控制振蕩電路的電源,從而控制最后的發聲時間。其電路原理圖如圖2所示。RC橋式正弦波振蕩電路起振容易、調節頻率方便,波形不易失真,該音頻信號發生電路結構簡單、功耗低、使用外界元件少、容易實現。
2.2 聲音接收與處理模塊
音頻信號的接收處理模塊由麥克風構成的接收電路和由運算放大器、濾波選頻電路等構成的音頻信號處理電路組成,其原理結構圖如圖3所示。麥克風往往接收到的音頻信號比較微弱[9],雜波信號比較多,為保證系統的穩定性,需要將聲響模塊產生的聲波信號經過濾波放大電路去除雜波干擾以及對信號進行放大處理。由LM358芯片為核心組成兩級放大電路與LM567集成音頻選頻芯片所組成的具有選頻功能的聲音開關電路,將音頻模擬信號轉換為單片機可處理操作的數字信號。LM567鎖相環解碼器的主要功能是對輸入的模擬信號進行檢波、濾波、放大、選頻,最終輸出數字信號。由LM358兩級運算放大器以及LM567鎖相環解碼器構成的音頻接收、處理電路,輸出信號頻率穩定,調節方便,不管在性能上還是在造價方面,優點都非常突出。

圖3 音頻接受處理電路
3.1 理論分析與計算
本設計對聲音信號的處理算法采用基于到達時間差的任意三角形定位算法,如圖4所示,S點為當前聲響模塊的位置,設其坐標為(X,Y)。A、B、C、D為4個聲音接收處理模塊,當聲響模塊發聲時,由于S點位置所處的隨機性,A、B、C 3點接收到聲音信號的時間不同,根據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。

圖4 聲音定位系統坐標示意
3.2 定點檢測聲源位置
上電后,啟動系統各工作模塊(包括MSP430單片機、LCD12864模塊等)進行數據初始化。手動按下發聲按鈕,喇叭發出聲音信號,通過空氣傳輸至接收模塊對信號進行放大選頻后傳輸到信息處理模塊對信號進行模數轉換處理,單片機啟動TB定時器作為定時中斷處理,進入中斷服務程序,啟動定位模式,對4路聲音接收電路采集到的信息進行判斷處理,根據本文采用的時間差延遲估法計算得出聲源所在位置(X,Y),并將坐標值顯示在LCD12864液晶顯示屏上。本系統聲音定位監測的主程序流程圖如圖5所示。

圖5 聲音定位檢測程序流程圖
3.3 聲響位置移動軌跡程序設計
當聲源在坐標值范圍內進行隨機移動,單片機不斷地計算聲源的位置坐標并對瞬時位置坐標動態顯示在LCD12864的液晶顯示器上,該功能主要通過編寫軌跡函數實現實時定位聲源位置。圖6為判斷聲源位置移動軌跡坐標顯示過程的程序流程框圖。

圖6 聲源位置移動軌跡
4.1 系統測試方法
在一個相對安靜、空曠的室內房間中對本系統進行功能性測試。按照圖6在一個長600 mm,寬450 mm的平板上固定A、B、C、D 4個聲音接收器,為了方便檢驗,在平板上繪制500 mm×350 mm的坐標方格線。
首先檢測對于固定的某一點坐標,該聲音定位系統是否能正確判斷聲響模塊所在的位置坐標;其次通過改善信號放大電路性能以及相關算法,移動聲響模塊,檢測該系統能否正確判斷聲源的位置坐標。
4.2 聲源固定測試結果


表1 A點測試結果 單位:mm

表2 B點測試結果(單位:mm)

表3 C點測試結果(單位:mm)

表4 D點測試結果(單位:mm)
由表1~表4數據結果分析可知:本系統能夠正常接收聲源信號,單片機工作穩定,能有效判斷出聲響模塊的位置坐標,并清晰顯示在液晶顯示上,且位置坐標的誤差絕對值均小于30 mm,滿足本系統設計要求。以上誤差存在原因除了系統本身的不精確,還可能是周圍環境影響所致。
4.3 聲源移動測試結果
將聲源模塊在平面坐標紙上任意移動,通過直接讀取當下喇叭所處位置的坐標點并與液晶顯示器上的結果進行分析比較,檢測結果是否符合要求,同時液晶顯示器能動態顯示聲響模塊移動軌跡。表5是聲源模塊移動軌跡為A1→B1→C1→D1→E1,表6是聲源模塊移動軌跡為A2→B2→C2→D2→E2。

表5 測試軌跡1(單位:mm)

表6 測試軌跡2(單位:mm)
由表5和表6數據結果分析可知:本系統測試聲源位置移動軌跡坐標的每次測試誤差均小于10 mm,說明該系統可以準確、穩定、動態測出聲源位置移動軌跡坐標,滿足設計要求。
本系統以MSP430F169單片機為核心部件,根據接收模塊獲取的音頻信號的不同響應時間,配合一套完整的程序,通過反復調試改進,基本實現聲音精確定位,且定位誤差均在允許范圍之內。單片機MSP430F169作為本系統的主控芯片,在測試中工作正常,數據接收、處理、輸出及時準確。顯示模塊LED12964顯示正常。經過充分的討論和計算,本設計也存在許多問題,特別在硬件實現方面,看似很簡單的電路,仿真起來也很準確,但是測試時也會出現一些誤差。在設計中,盡量采用低功耗器件,使硬件電路達到最大的經濟性與準確性,充分發揮軟件控制靈活的特點來滿足設計要求。
[1] 吳峰,高下,李志宏,等.聲音空間定位測聽系統的設計與實現[J].第四軍醫大學學報,2001,22(7):656-658.
[2] 關健生.基于單片機的聲音導航定位系統的設計[J].信息系統工程,2009(9):96-98.
[3] 郝立果,趙凌云,袁建強,等.聲音定位引導系統設計[J].機床與液壓,2011,39( 22):104-108.
[4] 陳益如,王博,鄔楊波.基于聲音引導的聲源定位系統設計[J].工業控制計算機,2010,23(10):101-104.
[5] 李從清,孫立新,戴士杰,等.機器人聽覺定位跟蹤聲源的研究與進展[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.
Sound localization system based on MSP430F169
Luo Li1,Ma Shangchang1,Tang Zhiya1,Huang Min1,Qin Ruimin2,You Yuan3,Guo Jia4
(1.School of Electronic Engineering, Chengdu University of Information Technology,Chengdu 610225,China;2. Chengdu Jinbenhua Technology co., Ltd., Chengdu 610044;3.National Meteorological Center, Beijing 100081,China;3.National Meteorological Center, Beijing 100081, China;4.Beijing Metstar Radar Co., Ltd.,Beijing 100081,China)
The paper designs a sound positioning system based on the main control unit MCU MSP430f169. The system can identify and calculate the sound signal and display the coordinates of sound source. The stable sine wave generated by RC bridge type sine-wave generator electric circuit is amplified by OPA2227, controlling the transistor on-off to make paper cone speaker produce sound signal. Voice-frequency signal receiver and voice processing circuit consists of LM358 two-stage amplifier and LM567 PLL decoder, which can filter clutter and convert analog signal to stable frequency digital signal. According to the TDOA( time difference of arrival) estimation method adopted in this paper, MCU will process and calculate the sound source and display the coordinates on the LCD12864. After the test, this system can determine and display the coordinates of sound source within acceptable error range.
sound localization; signal processing;MSP430F169;LM567;LCD12864
TN702
A
1674-7720(2016)04-0080-05
羅麗,馬尚昌,湯志亞,等.基于MSP430F169單片機的聲音定位系統[J] .微型機與應用,2016,35(4):80-84.
2015-09-22)
羅麗(1990-),女,碩士,主要研究方向:大氣探測方向。
馬尚昌(1971-),男,博士,教授,主要研究方向:信息獲取與處理。
湯志亞(1977-),男,碩士,講師,主要研究方向:氣象探測技術。