麥克風陣列音源定位系統實作 |
實驗一:二維空間實作—未加入音量門檻值 1.實驗內容: 在距離兩支麥克風的中心70、130cm處各做一次實驗(如下圖所示),每次錄音5秒,取樣頻率為25K(Hz),語料為人聲,共2筆語料,分別標記為T1、T2。
圖3-1 實驗裝置示意圖 2.實驗結果: 程式運算時間:約
1 分鐘
表3-1 方向角實驗結果
(a)
(b) 圖3-2 TDOA的變化趨勢圖
(a)語料T1(b)語料T2 圖3-2的橫座標為音框編號、縱座標為平移值(單位為sample),圖中顯示出每個音框所算出其對應TDOA的平移值,即把這些平移值除以取樣頻率可得到TDOA,因此可表現出TDOA的變化趨勢。 3.結果分析: 環境雜訊的影響導致估算出的方向角有很大的誤差,由TDOA變化趨勢圖可看出每個音框算出的平移值變動很大,而我們是取這些平移值的眾數來計算整段訊號的方向角,因此較難得到準確的方向角。麥克風所取樣到的語音資料包含實際語音訊號、雜訊、靜音的部份,為了強調語音的特徵向量和提高最後辨識的正確率,我們需要去除不需處理的部份。而此程式的運算時間過久,需要再減少運算量或修改程式指令。 實驗二:二維空間實作—加入音量門檻值 1.實驗內容: 在原程式裡加入音量門檻值設定,刪除沒有語音訊號的部份或音量小的部份,音量門檻值由經驗取
k=2.5;另外以cross
correlaion的內建指令取代原本程式中的迴圈運算,希望增快運算速度。 a.以修改後的程式重做實驗一。 b.在距離兩支麥克風的中心60、80、100、120cm處各做一次實驗(如下圖所示),每次錄音5秒,取樣頻率為25K(Hz),語料為每個位置一次人聲、一次音樂聲,共8筆語料,分別標記為T3_60_voice、T3_60_phone、T3_80_voice、T3_80_phone、T3_100_voice、T3_100_phone、T3_120_voice、T3_120_phone。
圖3-3 實驗裝置示意圖 2.實驗結果: a. 程式運算時間:約 0.5 秒
表3-2 方向角實驗結果
(a)
(b) 圖3-4 TDOA的變化趨勢圖
(a)語料T1(b)語料T2 圖3-4的橫座標為音框編號、縱座標為平移值(單位為sample)。 b. 程式運算時間:約 0.5 秒
表3-3 方向角實驗結果
(a)
(b) 圖3-5 TDOA的變化趨勢圖(T3_60_phone)
(a)k=2(b)k=3
(a)
(b) 圖3-6 TDOA的變化趨勢圖(T3_80_voice)
(a)k=2(b)k=3 圖3-5、3-6的橫座標為音框編號、縱座標為平移值(單位為sample),其中(a)圖皆設定音量門檻值為
k=2、(b)圖為
k=3,k值越大訊號刪除越多部份。 3.結果分析: 修改後的程式不僅加快運算速度,方向角的運算也較準確,誤差皆在10度以內。而同位置的音樂聲和人聲算出來的角度不同可能是因為測量的誤差所致,而且他們之間只差一個平移值,由於取樣頻率較小,所以角度相差較大。由TDOA變化趨勢圖可看出每個音框所算出的值較集中於某個平移值,因此最後計算出的方向角較為準確,而音量門檻值設定越大,TDOA的變化更為集中,但考慮到音量門檻值太大可能導致刪除的訊號太多,結果可能不準確,所以我們取 k=2.5。 實驗三:二維空間實作—加入最短路徑演算法 1.實驗內容: 在原程式裡加入最短路徑演算法,由經驗取 weight=0.005、k=2.5,重做實驗二的b.。 2.實驗結果: 程式運算時間:約 0.5 秒
表3-4 方向角實驗結果
(a)
(b) 圖3-7 TDOA的變化趨勢圖(T3_80_voice) (a)未加入(b)加入最短路徑
(a)
(b) 圖3-8 TDOA的變化趨勢圖(T3_100_voice)
(a)未加入(b)加入最短路徑 圖3-7、3-8的橫座標為音框編號、縱座標為平移值(單位為sample)。 3.結果分析: 加入最短路徑演算法所計算出來的方向角沒有改變太大,誤差還是都在10度以內,但觀察其TDOA變化趨勢圖可以發現分佈更集中了,雖然偏離太遠的點沒有太大的改善,但小部份偏離的點都有收斂的效果。需注意的是圖3-8(b)右邊集中的趨勢應該是雜訊未刪除所導致的誤差。
實驗四:三維空間實作 1.實驗內容: 我們定義音源入射的方向角為Mic1指向音源的向量與Mic1指向Mic2的向量之間的夾角φ(如下圖所示)。我們使用四支麥克風擺放成如下圖的形式,在水平旋轉角0、90、180、270度的四個位置各做一次實驗,每次錄音5秒,取樣頻率為50K(Hz),語料為每個位置一次人聲、一次音樂聲,共8筆語料,分別標記為T4_0_voice、T4_0_phone、T4_90_voice、T4_90_phone、T4_180_voice、T4_180_phone、T4_270_voice、T4_270_phone。我們以有加入音量門檻值及最短路徑演算法的程式測試,由經驗取
k=5、weight=0.005。
圖3-9 實驗裝置示意圖 2.實驗結果: 程式運算時間:約 1∼1.5
秒
表3-5 方向角實驗結果 3.結果分析: 三維空間的音量門檻值取 k=5,比二維空間的
k=2.5 還大,因為三維空間的運算量較大,且受雜訊干擾的影響也較二維大,所以音量門檻值必須取高一點以刪除更多干擾的部份。三維空間實作測試的方向角誤差大於二維空間,誤差大概在10度左右,若環境干擾太大時,計算出來的結果可能不正確,而垂直旋轉角又比水平旋轉角的誤差更大。整體而言,水平旋轉角的結果比較準確,而垂直旋轉角誤差太大,必須再修正。 二維空間計算方向角的方法是利用兩支麥克風之間的一組TDOA而求得;三維空間則是利用這四支麥克風兩兩一組所求得共三組TDOA來計算方向角,所以誤差必然比二維空間大,且只要有一組TDOA的誤差過大,計算出來的方向角誤差就會很大,若要減少此誤差,我們可以使用更多支麥克風求出更多組TDOA來分散這種大的誤差,不過我們只有四支麥克風,所以未能做更進一步的實驗。 |