昂 晨,王 玫,羅麗燕,宋浠瑜,熊璐琦
(1.認知無線電與信息處理省部共建教育部重點實驗室,廣西 桂林 541004; 2.桂林電子科技大學 信息與通信學院,廣西 桂林 541004)
由于GPS信號在室內環境下的定位效果不盡理想,因此急需一種高效、便捷和準確的室內定位技術來填補空白。近年來,隨著嵌入式和移動終端的快速發展,智能手機等移動平臺的CPU計算能力得到顯著提高。同時,多種傳感器內嵌其中,極大地豐富了智能手機的功能,使得音頻的采集和處理成為可能[1]。智能手機的普及讓智能手機獲取代價降低,使它成為人們生活中不可缺少的一部分。利用智能手機能夠在無需其他基礎設備的條件下實現低代價、高響應速度的定位系統,達到符合使用要求的定位效果。
當前較成熟的有基于Wifi、藍牙、紅外線和超聲波等室內定位技術。基于WiFi的定位技術基礎設備易于安裝,但易受其他信號干擾、功耗較高;基于藍牙的定位技術功耗低、易集成,但定位距離短、穩定性較差、易受噪聲干擾;基于紅外的定位技術精度高,但不能穿越障礙,同時造價高、功耗較大;基于超聲波的室內定位技術整體精度高、結構簡單,但存在多徑效應、衰減明顯、易受溫度影響、成本高[2]。基于背景聲的室內定位技術無需其他基礎設施,僅需手機錄音,成本較低。同時背景聲極易被獲取,其識別率也不受多徑效應的影響。背景聲定位是基于指紋的定位技術,為了達到較高的識別率,需要提取魯棒性高、穩定性好的特征。對于語音和音樂,特征提取的方式已經比較成熟。時域中有過零率[3]和短時能量[4]等;頻域中常用傅里葉變換法和線性預測分析方法(LPC)[5]等;梅爾頻率倒譜系數(MFCC)[6]作為倒譜域的特征使用最為廣泛。由于室內背景聲與語音在結構與特性上存在很大區別,因此用傳統方法對背景聲進行特征提取和識別會存在不足[7]。此外,建筑聲學領域提出:房間的持續聲音和房間的沖擊響應相結合形成了每一間房間的獨特背景聲[8]。即使是人耳聽覺相近的2個房間,由于房間結構所產生的持久化聲音仍能較精確地區分2個不同的房間。
文獻[9]結合智能手機的多傳感器優勢,采集WiFi、聲音、視覺圖像和加速度計數據作為指紋,其中聲音指紋通過提取時域上聲音的幅度得出。實驗結果顯示,此方法在51個不同房間中的匹配率達到87%。文獻[10]提出了一種提取背景聲頻譜的方法,采用KNN學習算法,依靠背景聲實現了房間級的室內定位系統,識別率達到69%。文獻[11]提出了聲音地標定位器(ALL),取功率譜的5幀移動平均作為聲音指紋,學習算法采用RPROP后向神經網絡,實現智能手機室內定位功能。
由此可見,對于聲學背景聲定位,如何對其特征指紋與學習算法進行深入學習并加以改進,實現更高的房間識別率成為研究熱點和難點。因此,本文深入研究背景聲譜(ABS)及其特征,利用RBF神經網絡進行特征學習,系統性能得到進一步改進。
本文通過智能手機采集房間背景聲作為訓練樣本,定位系統設計分為線下采集與線上定位2個階段。
線下采集階段需要采集足量的房間背景聲數據,以此訓練出房間背景聲識別模型。由于聲音序列整體非平穩,但局部平穩[12]。采集足夠長時間的背景聲,對這些聲音序列進行特征提取,得到背景聲指紋;另外,需要為每一個背景聲指紋添加標記,背景聲指紋與標記一起構成了背景聲指紋庫。
構建聲音指紋庫之后,通過學習算法訓練出適用于背景聲室內定位場景下的定位模型。此模型需要有較高的泛化能力,能較好地反映整個樣本空間的特性。線下采集與訓練過程如圖1所示。

圖1 背景聲線下采集與訓練過程
線上階段同樣用智能手機采集背景聲,對背景聲序列進行特征提取,提取出的數據作為測試集輸入到訓練的房間背景聲定位模型中。將得到的輸出與房間標記信息進行匹配,計算房間識別率。線上定位過程如圖2所示。

圖2 背景聲線上定位過程
高精度識別背景聲序列,特征的提取十分重要。提取出的特征在不同房間之間需要有較高的區分度;另外,在同一個場景下,不同時間的特征應該具有時間平穩性,對環境的改變具有魯棒性和一般性。本文使用了室內環境聲學特征——室內背景聲譜(ABS)。
預處理過程首先將采集的背景聲序列進行分幀操作,通過分幀得到短時平穩的背景聲信號。幀長是進行分幀需要考慮的一個重要參數,長度越長特征越容易捕捉,長度越小音頻失真度越小[13]。因此需要進行折中考慮,在分幀過程中要進行加窗,若不進行加窗操作,會忽略背景聲信號的連續性和前后影響。常用的窗函數有漢明窗和矩形窗等。
漢明窗(Hamming Window)在主瓣寬度與矩形窗相同的情況下,旁瓣較窄,防頻譜泄露能力更強。漢明窗函數為:
(1)
矩形窗加窗計算簡單,窗函數為:

(2)
式中,N為窗口長度,即幀長。
將采集的背景聲序列進行預處理,計算每幀的功率譜,步驟如下:① 將一系列聲音信號做FFT變換;② 經過FFT變換之后,保留前一半的數據;③ 乘以留下元素的共軛復數,得到功率譜;④ 提取功率的第五百分列并取對數,即ABS。
ABS提取流程如圖3所示。

圖3 ABS提取流程
提取了背景聲的特征指紋(ABS)之后,需要對特征指紋進行訓練。不同的學習算法得出的定位模型會較大地影響房間識別精度。典型的幾種學習算法包括貝葉斯決策論[14]、決策樹[15]、神經網絡和KNN等。本文采用KNN[16]、BP[17]神經網絡以及RBF[18]神經網絡進行仿真。
RBF神經網絡是一種局部逼近的神經網絡,其優化過程實質是高維空間中的曲面擬合過程[19]。RBF神經網絡模擬了生物神經元互相覆蓋、局部調整的特性,其學習過程就是在高維空間中擬合訓練數據來尋找一個最佳曲面,可在構建好的模型中對測試數據進行插值以提高其泛化能力。RBF神經網絡結構如圖4所示。

圖4 RBF神經網絡結構

(3)
式中,網絡第j個節點的中心向量為cj=[cj1,cj2,cj3,…,cjn]T,j=1,2,3…,n。設網絡的基寬向量為:B=[b1,b2,b3,…,bn]T,bj為節點j的基寬參數,且為大于零的數。
RBF網絡的權向量為:
W=[w1,w2,w3,…,wn]T。
(4)
RBF網絡的輸出為:
ym(k)=w1h1+w2h2+…+wnhn。
(5)
RBF網絡的性能指標函數為:
(6)
式中,y(k)為測試數據的期望輸出。由于本文采用監督學習算法對網絡所有的參數進行訓練。根據梯度下降法,輸出權、節點基寬參數及節點中心矢量的迭代算法如下:
wj(k)=wj(k-1)+η(y(k)-ym(k))hj+
α(wj(k-1)-wj(k-2)),
(7)
(8)
bj(k)=bj(k-1)+ηΔbj+
α(bj(k-1)-bj(k-2)),
(9)
(10)
cji(k)=cji(k-1)+ηΔcji+
α(cji(k-1)-cji(k-2)),
(11)
式中,η為學習速率,η∈[0,1];α為動量因子,α∈[0,1]。
為了評估本文算法的定位性能,下面給出對基于該解決方案實現房間級定位性能進行測試的具體實驗內容,并對實驗結果進行分析。
選取桂林電子科技大學金雞路校區第七與第八教學樓3層房間作為實驗場地,整個實驗場地大約有20個房間,包括教室、硬件實驗室、軟件實驗室與儲物室。選取其中15個房間(包含上述4類)利用華為榮耀7手機按上述特征提取方法得到各個房間的背景聲指紋庫。該實驗場地部分房間如圖5所示。
本文在Android4.4手機操作系統下編程實現了用于錄制背景聲數據的軟件。采樣頻率設置為44.1 kHz。在每個房間的3個不同位置采集總時長1 h的背景聲音頻。

圖5 桂電七教3層部分房間示意
本次實驗對7 kHz以下相同房間的背景聲指紋與不同房間的背景聲指紋進行了仿真對比,實驗結果如圖6和圖7所示。

圖6 320房間7 kHz以下的5個背景聲指紋樣本

圖7 7 kHz以下5個不同房間的背景聲樣本
由圖6分析得出:在不同房間中提取出的背景聲指紋樣本在7 kHz以內其功率變化趨勢有較大差別,且同頻率下其指紋功率值相差基本在4 dB以上。因此,不同房間的背景聲指紋具有較高的區分度。
由圖7分析得出:在同一房間下提取出的背景聲指紋樣本在7 kHz以內其功率變化趨勢差別較小,同頻率下其指紋功率值相差基本在3 dB以內。因此,相同房間的背景聲指紋具有時間平穩性。
圖6與圖7結果表明,使用ABS特征提取能較好地表征一個房間的背景聲特征。
分別使用KNN、BP、RBF學習算法訓練特征指紋集,得到各自的室內背景聲定位模型。房間個數的變化對定位模型識別率與運行時間的影響如表1所示。房間個數與定位模型匹配率高低的直方圖如圖8所示。
表1房間個數與定位模型識別率和運行時間的比較

房間個數KNN識別率/%KNN計算時間/sBP識別率/%BP計算時間/sRBF識別率/%RBF計算時間/s281.9723.9378.7041.9286.8914.69379.1224.2468.6644.3487.9114.95474.4625.9869.6740.6679.3815.19571.3326.3164.3440.4275.3315.84675.5626.6765.0043.3278.3316.63870.9228.5253.0046.8377.5018.281069.3329.1351.3345.5375.9319.831268.7931.1645.3348.1275.6721.551567.3333.8542.6750.6575.3323.85

圖8 房間個數與定位模型識別率直方圖
實驗結果表明:
① 定位模型的識別率隨著房間個數的增加基本呈遞減趨勢,且RBF與kNN定位模型的識別率在房間個數為8時趨于穩定;
② RBF神經網絡訓練得出的定位模型具有更高的房間識別率。另外相較其它學習算法,RBF運算時間更短;
③ 由直方圖可直觀看出,存在個別房間數增加,房間識別率反而上升的情況,原因可能是房間的類型差別較大(即教室與實驗室的背景聲存在較大的區別)。
本文利用ABS特征提取方法提取背景聲序列,以此建立魯棒性高的背景聲指紋數據庫。利用KNN、BP、RBF三種機器學習算法依次構建背景聲定位模型。通過對測試數據的識別率與計算時間的計算,可知RBF訓練出的定位模型相較KNN、BP有良好的性能改善,更適用于室內背景聲定位場景。下一步研究可在本場景嘗試利用深度學習RNN算法進行建模,RNN對序列數據識別有著較好的效果,廣泛應用于文本、語音等領域。但深度學習需要較大的數據量,因此后續還可考慮利用群智感知模式進行數據采集,以降低采集數據的時間成本。