李彥瑭,沈 一,潘欣裕,2,孫云飛,夏文浩,郭笑非,陸家欣,周 岑
(1.蘇州科技大學(xué) 電子與信息工程學(xué)院,江蘇 蘇州 215009;2.蘇州科技大學(xué) 蘇州智慧城市研究院,江蘇 蘇州 215009)
當(dāng)前麥克風(fēng)陣列在許多實(shí)用技術(shù)領(lǐng)域都有著廣泛的應(yīng)用,如高背景噪聲情況下探測(cè)航空器的噪聲源[1]、在較遠(yuǎn)距離識(shí)別聲音[2]、在聲環(huán)境中查詢(xún)鑒別出不同尋常的聲音[3]、用智能聲源定位的方式追蹤人類(lèi)[4]、在高噪聲環(huán)境下對(duì)危險(xiǎn)情況進(jìn)行探測(cè)和分類(lèi)[5]等。語(yǔ)音信號(hào)處理領(lǐng)域也引入了陣列信號(hào)處理的概念,并且根據(jù)聲音傳播的特點(diǎn)發(fā)展出了一些獨(dú)特的方法,如到達(dá)時(shí)間差估計(jì)(TDOA)[6]等。語(yǔ)音定位系統(tǒng)的主要目標(biāo)是識(shí)別聲音的方向,一般使用TDOA算法測(cè)得目標(biāo)發(fā)出的聲音到達(dá)麥克風(fēng)單元的時(shí)間差,測(cè)得目標(biāo)聲音的特征參數(shù),利用時(shí)間差來(lái)確定目標(biāo)聲音點(diǎn)與陣列的角度。本文采用在功耗控制、可擴(kuò)展性、集成度、性能等方面均具有較大優(yōu)勢(shì)的高性能STM32H743聲源定位系統(tǒng),完成基于STM32H743的聲源定位系統(tǒng)的硬件設(shè)計(jì)。
系統(tǒng)架構(gòu)如圖1所示,由5個(gè)麥克風(fēng)組成陣列,負(fù)責(zé)聲音信號(hào)的采集和放大;MCU負(fù)責(zé)聲音信號(hào)的處理和定位運(yùn)算;LCD屏提供人機(jī)交互界面,顯示相關(guān)信息。其中,每個(gè)麥克風(fēng)都連接一個(gè)前置放大電路,對(duì)信號(hào)進(jìn)行放大以便于適配ADC采集。
圖1 聲音定位系統(tǒng)結(jié)構(gòu)
(1)麥克風(fēng)聲音采集模塊
實(shí)現(xiàn)聲源定位,必須使用麥克風(fēng)陣列以測(cè)量聲波場(chǎng)并提取有關(guān)信息。系統(tǒng)采用CUI公司出品的CMA-4554PF-W型高靈敏度全向麥克風(fēng)。麥克風(fēng)得到的聲信號(hào)所轉(zhuǎn)化的電壓信號(hào)不僅微弱,還有正、負(fù)之分,但STM32H7內(nèi)部A/D轉(zhuǎn)換器只能對(duì)正電壓進(jìn)行轉(zhuǎn)換,因此需要在麥克風(fēng)后連接前置放大器,并且設(shè)置直流偏置電壓,才能讓內(nèi)部A/D轉(zhuǎn)換器正確將接收的聲音信號(hào)進(jìn)行轉(zhuǎn)化。MAX4466EXK-T芯片支持寬電壓(2.4~5 V),STM32H743的標(biāo)準(zhǔn)工作電壓為3.3 V,可直供給放大電路,因此將MAX4466EXK-T作為麥克風(fēng)單元前置放大電路中的放大芯片。圖2所示為麥克風(fēng)單元及前置放大電路。
圖2 麥克風(fēng)單元及前置放大電路
(2)麥克風(fēng)陣列設(shè)計(jì)
麥克風(fēng)陣列中,最簡(jiǎn)單的結(jié)構(gòu)是麥克風(fēng)線(xiàn)性陣列,即麥克風(fēng)單元線(xiàn)性排列。這種結(jié)構(gòu)計(jì)算量最少,但僅能定位半個(gè)平面,因此本設(shè)計(jì)選用十字型分布[7]方法,為線(xiàn)性陣列加上2個(gè)輔助定位的麥克風(fēng)單元。此設(shè)計(jì)可以在保留普通線(xiàn)性麥克風(fēng)陣列計(jì)算量相對(duì)較少的條件下,提高線(xiàn)性麥克風(fēng)陣列的定位角度,如二維平面360°定位角度。十字型分布的麥克風(fēng)陣列中,3個(gè)麥克風(fēng)單元構(gòu)成線(xiàn)性陣列,用于聲源定位,前后2個(gè)麥克風(fēng)單元輔助定位、比較功率譜、判斷聲音處于線(xiàn)性陣列的前方或后方。麥克風(fēng)陣列設(shè)計(jì)時(shí),考慮到麥克風(fēng)單元的間距太小會(huì)導(dǎo)致耦合度增加,且噪聲對(duì)麥克風(fēng)陣列的影響增大,從而影響聲音定位的精確性;但麥克風(fēng)單元的間距也不能過(guò)大,陣列設(shè)計(jì)中通常選擇麥克風(fēng)單元的距離小于接收聲波的半個(gè)波長(zhǎng)。一般人正常說(shuō)話(huà)的頻率范圍為100~1 200 Hz,而聲速一般為340 m/s,因此間距d<14.17 cm。同時(shí)考慮麥克風(fēng)單元體積的限制,故將麥克風(fēng)陣列中麥克風(fēng)單元的間距定為12 cm。麥克風(fēng)陣列分布示意如圖3所示。
圖3 麥克風(fēng)陣列分布示意圖
(3)MCU最小系統(tǒng)
該研究中的聲音定位系統(tǒng)需要充分考慮MCU的功耗、性能、拓展性和實(shí)時(shí)性等,所以選擇STM32H743VI完成A/D轉(zhuǎn)換、信號(hào)處理、聲音源定位、信息傳輸?shù)热蝿?wù)。STM32H743VI核心板結(jié)構(gòu)如圖4所示。
圖4 STM32H743VI核心板結(jié)構(gòu)
當(dāng)聲音信號(hào)自遠(yuǎn)場(chǎng)發(fā)散,在有背景噪音的情況下被2個(gè)傳感器MIC1和MIC2分別檢測(cè)時(shí),可以對(duì)其進(jìn)行數(shù)學(xué)建模:
式中:s1(t)為聲音信號(hào);n1(t)、n2(t)均為隨機(jī)噪聲;α表示信號(hào)到達(dá)2個(gè)MIC前后的衰減比。只要估算出MIC1和MIC2接收到信號(hào)的時(shí)間之差D,就可以通過(guò)D計(jì)算信號(hào)相對(duì)于2個(gè)傳感器間的位置。
聲音信號(hào)定位中較為常用的估計(jì)時(shí)間差的算法為廣義互相關(guān)(GCC)算法。真實(shí)環(huán)境下,D和α是緩慢變化量。得到信號(hào)數(shù)學(xué)模型后,計(jì)算信號(hào)x1(t)、x2(t)的廣義互相關(guān)函數(shù):
式中,E表示數(shù)學(xué)期望,互相關(guān)的極大值出現(xiàn)在雙麥時(shí)間差的位置上。將式(1)和式(2)帶入式(3),信號(hào)s1(t)、n1(t)、n2(t)獨(dú)立,展開(kāi)得到式(4):
由互相關(guān)函數(shù)性質(zhì)可知,τ=D時(shí)Rx1x2(τ)取得最大值。求出互相關(guān)函數(shù)波峰對(duì)應(yīng)的τ值,記為τmax,由此得到2個(gè)麥克風(fēng)之間信號(hào)到達(dá)的時(shí)間差D。
當(dāng)聲音信號(hào)自遠(yuǎn)場(chǎng)發(fā)散,在有背景噪音的情況下被2個(gè)傳感器MIC1和MIC2分別檢測(cè)時(shí),測(cè)量該語(yǔ)音信號(hào)到達(dá)方向的模型如圖5所示,最少需要2個(gè)麥克風(fēng)組成線(xiàn)性陣列。
圖5 遠(yuǎn)場(chǎng)原理示意圖
圖5中,A點(diǎn)表示遠(yuǎn)場(chǎng)的單個(gè)聲源,由于聲音發(fā)散自遠(yuǎn)場(chǎng),到達(dá)麥克風(fēng)時(shí)聲波可以近似看做平行入射,帶有箭頭的線(xiàn)表示聲音信號(hào),a為2個(gè)麥克風(fēng)之間的距離,d為聲音到達(dá)2個(gè)麥克風(fēng)之間的距離差,θ表示聲信號(hào)的入射角度,根據(jù)幾何關(guān)系得到式(5):
由于a已知,若MIC1和MIC2之間的時(shí)間差為τ,該環(huán)境下聲速為c,則能確定到達(dá)方向θ,見(jiàn)式(6):
聲音定位系統(tǒng)軟件流程如圖6所示。上電后,軟件首先進(jìn)行ADC、DMA和定時(shí)器的初始化,之后進(jìn)行指定次數(shù)的ADC采樣以及DMA傳輸,達(dá)到指定次數(shù)后,對(duì)所有信號(hào)做FFT變換,然后兩兩計(jì)算互譜密度,最后根據(jù)條件采用TDOA算法進(jìn)行距離與角度的計(jì)算。
圖6 軟件流程
將麥克風(fēng)單元與STM32H743核心板連接后采樣,通過(guò)A/D轉(zhuǎn)換器和DMA將得到的數(shù)據(jù)通過(guò)串口發(fā)送到上位機(jī),借助串口助手打印。聲源定位距離和角度測(cè)試結(jié)果見(jiàn)表1所列。
表1 聲源定位測(cè)試
本文主要介紹了使用STM37H7及麥克風(fēng)陣列的聲源定位系統(tǒng)的構(gòu)成,經(jīng)測(cè)試,可以在STM32平臺(tái)上完成以往基于傳統(tǒng)PC平臺(tái)的聲源定位任務(wù),并獲得較好的結(jié)果。同時(shí)該方案還可以作為一種在室內(nèi)實(shí)現(xiàn)高精度指向與定位的方案,為實(shí)現(xiàn)聲源定位系統(tǒng)提供參考。