楊國卿 王義琳 李明汝 全星日
摘要:聲源定位技術是利用聲學與電子裝置接收聲波并確定聲源位置的一種技術。實時聲源定位系統(tǒng)使用兩個麥克風實時采集聲音,借助LabVIEW平臺,用CPSP算法估計聲源的方位角,并通過DAQ控制安裝有攝像頭的步進電機,捕捉說話人的影像。該系統(tǒng)在噪音和混響都較小的普通教室里進行了測試,實驗結果表明系統(tǒng)實時性和重復性較好,運行可靠、穩(wěn)定,聲源方位角估計誤差小與1度。
關鍵詞:LabVIEW;聲源定位;時延估計;CPSP;虛擬儀器
中圖分類號:TP912.3? ? ? 文獻標識碼:A
文章編號:1009-3044(2020)02-0252-03
Abstract: Sound source localization technology is a technique that uses acoustic and electronic devices to receive sound waves and determine the position of the sound source. Using two microphones to collect sound in real time. With the LabVIEW platform, the CPSP algorithm is used to estimate the azimuth of the sound source, and the stepper motor with a camera is controlled by DAQ to capture the image of the speaker. The system has been tested in ordinary classrooms with low noise and small reverberation. The experimental results show that the real-time system is reliable and stable, and the error of estimated sound source azimuth is smaller than 1 degree.
Key words: LabVIEW; sound source localization; delay estimation; CPSP; virtual instrument
1 概述
聲源定位是利用麥克風陣列同步采集的多通道聲音信號確定聲源方位角,可以廣泛應用于智能機器人、安防監(jiān)控、可視電話、視頻會議等領域[1,2]。聲源定位算法很多,其中估計聲達時間差(Time Difference of Arrival, TDOA)的廣義互相關算法(Generalized Cross-correlation, GCC)比較簡單、易于實現(xiàn)[3]。GCC算法通過引入加權函數(shù)優(yōu)化時延估計的性能,CPSP(Cross Power Spectral Phase)算法是GCC算法的一種,具有一定的抗噪聲和混響能力[4-6]。本文設計的聲源定位系統(tǒng)利用兩個麥克風采集聲源信號,用CPSP算法估計聲源方位角,轉動步進電機,實時拍攝說話人影像。
2 基本原理
2.1 聲源定位模型
假設聲源與麥克風陣列之間有一定距離,聲波的傳播過程可近似處理為平面波,遠場雙麥克風聲源定位模型如圖1所示:
3 系統(tǒng)方案及硬件設計
本文設計的雙麥克風實時聲源定位系統(tǒng)由麥克風及前置放大器、PC機、DAQ(Data Acquisition)、步進電機、校零裝置和攝像頭組成,如圖2所示。兩路麥克風信號經(jīng)話筒前置放大后輸入到PC機Line In輸入端,用聲卡進行AD轉換,接收雙通道麥克風信號。PC機運行LabVIEW程序,根據(jù)CPSP算法得到聲源方位角,并控制步進電機旋轉攝像頭捕捉說話人顯示到PC機上。CPSP估計誤差使電機旋轉角度偏離正確值,當系統(tǒng)連續(xù)運行時這種誤差會累積。為了消除累積誤差,在系統(tǒng)初始化、步進電機通過零度方向或在一側連續(xù)運行若干次之后進行校零。
考慮到聲源距麥克風比較遠,麥克風采用靈敏度比較高的CM536電容式話筒,麥克風前置放大器選用RME OuadMic II。PC機與外部裝置的通信通過DAQ實現(xiàn),DAQ選用亞為公司YAV USB 4AD Plus,DAQ的數(shù)字量輸出端分別連接至TB6560步進電機驅動器的脈沖信號CLK端和方向控制信號CW端。LabVIEW控制DAQ發(fā)送若干脈沖至TB6560的CLK端,并提供方向控制信號,使步進電機轉動給定角度。步進電機選用步距角為1.8度的42步進電機。校零裝置用U型光電開關實現(xiàn)。在步進電機轉軸上固定一個帶有圓形小孔的轉盤,攝像頭朝小孔方向安置,將圓形小孔方向設為零度。U型光電開關安裝在機座上,電機旋轉至小孔時U型光電開關的受光三極管飽和,受光三極管集電極連接至DAQ的數(shù)字量輸入端口,LabVIEW檢測出零度方向。
4 軟件設計
4.1 主程序流程圖
雙麥克風聲源定位主程序流程圖如圖3所示。首先對聲卡、攝像頭進行初始化,啟動校零子程序對準零度方位角。對麥克風信號進行VAD(Voice Activity Detection)檢測,輸入的信號能量大于門檻值則判斷為有信號輸入,門檻值通過實驗來設定。當有麥克風信號輸入時,運行CPSP算法子程序估計聲達時間差[D],并計算出聲源方位角和步進電機需轉動的步數(shù),生成方波脈沖經(jīng)DAQ發(fā)送至步進電機驅動器的CLK端。當方位角為正時通過DAQ提供低電平至步進電機驅動板的方向控制引腳CW端,反之提供高電平。步進電機轉動經(jīng)過零度方向或在一側連續(xù)運行若干次之后啟動校零程序消除累積誤差。
4.2 前面板設計
人機界面如圖4所示,左側為參數(shù)設定和CPSP計算結果,中間顯示攝像頭拍攝的圖像,用NI(National Instruments) IMAQ(Image Acquisition)工具箱獲取,右側顯示雙通道麥克風時域信號和CPSP波形,波形最大值對應的自變量即為聲達時間差[D] (單位:采樣點數(shù))。
當有麥克風信號輸入時攝像頭畫面右上角VAD指示燈亮,LabVIEW運行CPSP算法進行聲源定位。
4.3 CPSP算法子程序
CPSP算法子程序如圖5所示,對輸入的麥克風信號先進行FFT運算,計算互功率譜,如式(5);計算CPSP加權函數(shù),如式(6),當加權函數(shù)分母中有0時強制將其設為1防止加權函數(shù)趨于無窮大;互功率譜乘以加權函數(shù)之后進行傅里葉反變換,得[R(τ)],如式(4);將[R(τ)]數(shù)據(jù)分成兩部分將左右調換并限定峰值檢測范圍,輸出波峰值和索引號,該索引號就是聲達時間差[D](單位:采樣點數(shù))。
5 實驗結果分析
本文設計的實時聲源定位系統(tǒng)設定采樣頻率為[44.1kHz],兩個麥克風間距為[0.3m],幀長[0.5s],在長[7m]、寬[9m]、高[3.4m]的教室進行了測試。教室內噪音和回音都比較小,說話人離定位系統(tǒng)[2.5m]遠,測試的方位角為+15度、+30度、+40度和+75度。
測得的實驗數(shù)據(jù)如表1所示,聲源的方位角用量角器測量;聲達時間差是CPSP算法計算結果,單位是采樣點數(shù)(sample);CPSP估計的方位角由式(1)計算得出。進行多次重復實驗,系統(tǒng)聲達時間差的估計比較穩(wěn)定,在一個位置說話時沒有跳變的現(xiàn)象。
6 結論
基于LabVIEW平臺設計并調試了聲源定位系統(tǒng),使用兩個麥克風對聲音信號進行實時采集并利用CPSP算法進行聲源定位,通過步進電機將攝像頭旋轉至聲源方位并進行顯示。該系統(tǒng)在噪聲和混響比較小的普通教室里進行了測試,實驗結果表明系統(tǒng)穩(wěn)定、可靠,重復性好,方位角估計誤差小于[±1]度,攝像頭能夠實時捕捉說話人。
參考文獻:
[1] 程方曉,劉璐,姚清華,韓笑,宋曦.基于改進時延估計的聲源定位算法[J].吉林大學學報:理學版,2018,56(3):681-687.
[2] 李德寶,歸達舉,葉懋.基于TDOA麥克風陣列聲源定位技術[J].科技資訊,2016,14(13):3-4.
[3] C. Knapp, G. Carter. The generalized correlation method for estimation of time delay[J]. in IEEE Transactions on Acoustics, Speech, and Signal Processing, 1976,24(4):320-327.
[4] 蔣相斌,白宗龍,孫金瑋,黃博妍.強混響條件下基于廣義互相關的聲源定位算法改進[J].計測技術,2018,38(1):43-47.
[5] 楊藝敏,劉濤.改進的GCC算法在聲源定位中的研究[J].電子世界,2017(10):180,186.
[6] 李偉,時延估計的聲源定位算法研究[J].電腦知識與技術,2018,14(7):220-222.
【通聯(lián)編輯:梁書】