劉從均 王陽 董銀棚 馮浩 劉鵬 張一歌
摘要:研究并實現了一個基于FPGA的聲源定位系統,通過若干麥克風陣列采集聲信號,經A/D模塊傳送給主控制器FPGA。運用GCC、PATH加權與SCOT加權求得時間差,建立坐標系,最后通過計算求出坐標進行定位。基于麥克風陣列的定位技術有著很好的安全性與隱蔽性,在軍事方面有著很好的前景。由MATLAB仿真分析了幾種加權的定位效果,結合實驗確定了FPGA定位算法的優選方案。
關鍵詞:FPGA;聲源定位;麥克風陣列;MATLAB仿真;廣義互相關;時延估計
Microphone Array Location Technology Based on FPGA
Wang Yang,Liu Congjun,Dong Yinpeng,Feng Hao,Liu Peng,Zhang Yige
(School of Electronic Information and Automation,Civil Aviation University of China,Tianjin 300300,China)
Abstract:A sound source location system based on FPGA is studied and implemented. Acoustic signals are collected by several microphone arrays and transmitted to the main controller by A/D module. Using GCC,PATH weighting and SCOT weighting,the time difference is obtained,the coordinate system is established,and the coordinate is located by calculating. The location technology based on microphone array has good security and concealment,and has a good prospect in military field. Several weighted positioning effects are simulated and analyzed by MATLAB,and the optimal scheme of positioning algorithm based on FPGA is determined by experiments.
Key words:FPGA;Sound Source Location;Microphone Array;MATLAB Simulation;Generalized Cross-correlation;Time Delay Estimation
引言
聲源定位技術應用廣泛,實現方式也多種多樣,近年來,隨著物聯網技術及安防技術的不斷進步,聲源定位技術作為其中一個關鍵技術得到了巨大發展。同時,隨著模式識別、人工智能以及智能機器人的不斷發展,聲源定位技術的應用前景也變得十分光明。如今的聲源定位技術實現方式總的來說可以分為三大類:圖像識別定位、麥克風陣列定位、紅外定位等。
本文研究了多種麥克風定位算法,并且使用FPGA作為實驗平臺,驗證了算法的可靠性及精確性,供聲源定位研究人員參考。
1時延估計算法介紹
目前,關于聲源定位的算法非常多。本文介紹一種時延估計算法,它主要分為時延估計與聲源定位算法兩部分。時延估計是其中關鍵的一步,因此時延估計的精度決定最終的定位精度。時延估計算法分為很多種,例如基本互相關、廣義互相關法(GCC)等。通過各種算法的仿真及實驗,我們最終選擇了廣義互相關法(GCC)作為FPGA的定位算法。
1.1互相關時差定位
互相關函數是信號分析里的概念,表示的是兩個時間序列之間的相關程度,即描述信號x(t),y(t)在任意兩個不同時刻t1,t2的取值之間的相關程度。假設有兩個處在不同位置的聲信號傳感器,它們接受同一聲源信號分別表示為:
1.2加權廣義互相關算法
首先,我們用MATLAB進行仿真,將傳感器擺成的陣列通過示波器將采集到的聲信號數據經過MATLAB中的函數調用采集到該信號,再通過人為的對此信號加入延遲,然后通過濾波將兩個信號做互相關運算;最終利用峰值檢測計算出兩個信號的時間差,因而可建立坐標系計算出聲源的坐標。通過大量的實驗數據分析誤差以改進算法提高精確度。算法設計方案如圖1所示:
首先,在實驗室我們先擺了平面的麥克風陣列,以擊掌發出聲信號通過示波器導出聲信號的數據。用MATLAB通過函數調用將此信號導入MATLAB中,然后對此信號加入延遲,得到的聲信號波形圖以及頻譜如圖2所示:
然后,對這兩個信號做濾波,再做互相關。分別加入CC、PATH、SCOT三種加權函數得到如圖3所示,各加權函數特性如表1所示:
通過一系列的實驗檢測峰值求出時間差,通過坐標算法求出其坐標,以達到定位的目的。
2.FPGA系統設計
2.1系統硬件設計
Altera Cyclone? IV FPGA 拓展了 Cyclone FPGA 系列的領先優勢,為市場提供成本最低、功耗最低并具有收發器的FPGA。本系統綜合比較了各FPGA的特點,選擇了EP4CE10F17C8這一型號的FPGA芯片,其最大工作頻率可達200MHZ,具有功耗低、運算處理速度快等顯著特點。系統主要包括FPGA模塊、AD轉換模塊、音頻芯片聲音模塊、麥克風陣列、上位機等模塊。系統總體框圖如圖6所示
2.2系統軟件設計
本系統軟件部分主要經AD轉換控制程序、FFT變換模塊、GCC模塊、IFFT模塊、峰值檢測模塊、方位計算等模塊,采用Verilog HDL硬件描述語言為程序設計語言。
2.3實驗平臺的搭建
麥克風陣列定位系統的實驗平臺如圖8所示,受硬件條件的影響,本文只對二維平面內的單信號進行了定位估計。
3.實驗結果與分析
通過在實驗室平面三元麥克風陣列的實驗及計算,得出如下結果,如表2所示:
M12,M13為傳感器到聲源距離的實際測量差值;
t12,t13為時延估計的時間差;
d12,d13為時延估計的時間差δt x 340m/s所得距離差。
最終,通過在實驗室的平面四元三維定位實驗數據利用MATLAB仿真后的定位效果圖如圖7所示:
圖9 平面四元三維定位效果圖
4.結語
本文在算法分析及計算機MATLAB仿真的基礎上,利用FPGA對前述算法進行了硬件及軟件設計。通過比較定位結果及實際方位,驗證了該算法的定位有效性,并且能夠滿足一定精度要求。本文沒有介紹麥克風陣列的布局方式,但在實際定位時,這一點需要特別注意,因為這對最終的定位效果影響比較大。
參考文獻
[1]MITRA S K. Digital Signal Processing[M].3rd ed. USA:McGraw-Hill International Edtion,2006.
[2]Tarik Yardibi,Li Jian,Petre Stoica,et al. Source Localization and Sensing:A Nonparametric Iterative Adaptive Approach Based on Weighted Least Squares[J]. IEEE Trans AEROSP ELECTRON SY,2010,46(1):425 -443.
[3]PONCA M,SCHAUER C.FPGA implementation of a spike-based sound localization system. In 5th International Conference on Artificial Neural Networks and genetic Algorithms,2001.
[4]WANG H,CHU P. Voice source localization for automatic camera pointing system in video confererncing [J]. Signal Pro-cessing AudioAcoustics,1997,1:187?190.
[5]鄔琦,楊江濤,馬喜宏.基于FPGA的高速信號采集電路的設計與實現[J].實驗室研究與探索,2015,34(4):124-128.
[6]馬雯,黃建國.LMS自適應時延估計法在被動定位系統中的應用研究[J].船舶工程,2000年06期.
[7]唐小明,吳昊,劉志坤.基于廣義互相關算法的時延估計研究[J].電聲技術,2009年08期.
[8]邵懷宗,林靜然,彭啟琮,居太亮,徐異凌.基于麥克風陣列的聲源定位研究[J],云南民族大學學報(自然科學版),2004年04期.
[9]王大中,李曉妮.基于麥克風陣列的語音信號實時時延估計[J],吉林大學學報(信息科學版),2009年02期.
(作者單位:中國民航大學 電子信息與自動化學院)