本文原創(chuàng):硬件大熊,作者:雕塑者
人類的耳朵是可以聽到聲音后對(duì)聲音的源頭進(jìn)行定位的,就好比走在路上時(shí)你可以分辨出身后是否有疾馳而來的汽車,并且還能大致地判斷和你之間的距離。
這種通過耳朵帶來的空間聽覺感稱之為“雙耳效應(yīng)”:聲音傳遞到兩個(gè)耳朵存在時(shí)間差、能量差,大腦利用該兩個(gè)差別對(duì)聲源進(jìn)行定位。
更具體的,
聲源頻率<1.5KHz時(shí),聲音先到達(dá)靠近聲源一側(cè)的耳朵,即時(shí)間差(interaural time difference,簡(jiǎn)稱ITD);
聲源頻率>1.5KHz時(shí),由于波長(zhǎng)比人的頭顱寬度短,導(dǎo)致聲音在傳播到較遠(yuǎn)側(cè)耳朵時(shí)部分被頭顱阻擋,所接收到的能量值低于另一側(cè)耳朵,即聲級(jí)差(interaural leveldifference,簡(jiǎn)稱ILD)。
人類能夠分辨的最短時(shí)間差為10us,最小的聲級(jí)差為1dB。
時(shí)間到達(dá)差算法
這里要先有個(gè)基礎(chǔ)理論,即:雙曲線上的點(diǎn)到兩個(gè)焦點(diǎn)的距離之差為常數(shù)。
根據(jù)麥克風(fēng)A、B的時(shí)間差,我們可以以A、B為焦點(diǎn)畫出一條雙曲線,
根據(jù)麥克風(fēng)B、C的時(shí)間差,我們可以以B、C為焦點(diǎn)畫出一條雙曲線,
此時(shí)兩條雙曲線交匯的點(diǎn)即為聲源位置。
波束形成算法
陣列麥克風(fēng)采集到的信號(hào),由于距離間隔不同,聲音到達(dá)每個(gè)麥克風(fēng)都會(huì)存在一定的時(shí)延t,因此將采集到的聲波進(jìn)行疊加時(shí),聲波會(huì)出現(xiàn)不同程度的衰減,但如果我們將每個(gè)麥克風(fēng)采集到的聲波進(jìn)行時(shí)延τ處理,并逐漸將其時(shí)延至相位差為0時(shí),其相加起來的功率可以達(dá)到最大值。此時(shí)可以通過τ反向推算,可以得出聲源的位置。
這個(gè)原理和我們經(jīng)常聽到的TWS耳機(jī)所宣傳的Beamforming指向增強(qiáng)技術(shù)(利用兩個(gè)麥克風(fēng)采集到的語音進(jìn)行相位差處理實(shí)現(xiàn)定向拾音)的底層原理是一致的。
除了以上兩種算法,還有基于聲壓幅度比的定位算法、高分辨率頻譜的定位算法,
基于聲壓幅度比的算法利用不同麥克風(fēng)接收的來自于同一個(gè)聲音的信號(hào)強(qiáng)度差異來定位聲源的位置;
高分辨率頻譜的定位算法利用麥克風(fēng)接收信號(hào)相關(guān)矩陣的空間譜求解麥克風(fēng)之間的相關(guān)矩陣來確定方向角進(jìn)而確定聲源位置。
由于篇幅有限,我們分為下一個(gè)篇章進(jìn)行解析。