基于麥克風(fēng)陣列的聲源跟蹤系統
作者 / 王宇威 雍洋 孫新 西安交通大學(xué) 信息與通信工程系(陜西 西安 710000)
本文引用地址:http://dyxdggzs.com/article/201811/395037.htm*本項目獲得“2018年瑞薩杯”信息科技前沿專(zhuān)題邀請賽的最高獎“瑞薩杯”獎。
摘要:隨著(zhù)科技的發(fā)展,聲源定位技術(shù)在越來(lái)越多的地方發(fā)揮著(zhù)重要的作用,在多個(gè)領(lǐng)域有著(zhù)廣泛的應用。聲源目標跟蹤技術(shù)可以應用在視頻錄制、安防監控、鳴笛抓拍等場(chǎng)景中,在這些場(chǎng)景中,針對目標對象的語(yǔ)音信號,可以應用陣列信號處理的知識,將麥克風(fēng)按照特定陣列放置在空域中,利用空間不同位置點(diǎn)的聲源對麥克風(fēng)陣列響應的時(shí)延相位誤差,對聲源進(jìn)行測向,實(shí)現低成本的聲源定位跟蹤功能。
本作品便是基于麥克風(fēng)陣列的聲源跟蹤系統,將6路麥克風(fēng)按照線(xiàn)型排列,并接入瑞薩SK-S7G2單片機的6路ADC中,單片機將采樣值通過(guò)陣列信號處理中波達方向(DOA)估計等算法,獲得聲源的來(lái)波方向。然后用單片機去驅動(dòng)云臺,上面搭載攝像頭或者高指向性麥克風(fēng),可以實(shí)現用戶(hù)特定的跟蹤需求。
我們結合瑞薩單片機的性能與實(shí)際測試效果,選用了周期圖法進(jìn)行角度估計,利用頻率采樣型的FIR濾波器實(shí)現了對人聲信號的切片,并對得到的角度結果進(jìn)行低通濾波、設定閾值、非線(xiàn)性約束等處理,解決了環(huán)境噪聲、室內混響等因素帶來(lái)的問(wèn)題。此外,我們將陣列置于云臺上,進(jìn)一步提高了跟蹤的精度,云臺的驅動(dòng)采用步進(jìn)方式,實(shí)現了實(shí)時(shí)跟蹤。最后,我們將所有算法移植到瑞薩單片機上,制作了GUI界面,并添加了噪聲訓練功能,使之成為一個(gè)完整的系統。
0 引言
當今社會(huì ),人們對自動(dòng)控制的需求越來(lái)越高,而其中一個(gè)重要的分支就是目標跟蹤技術(shù)。伴隨著(zhù)人工智能的熱潮,通過(guò)圖像識別來(lái)進(jìn)行目標跟蹤是現在的主流做法,但是神經(jīng)網(wǎng)絡(luò )算法的復雜度極高,不可能在普通的MCU上實(shí)現,只能借助于一些高性能的芯片如FPGA,這樣就會(huì )需要較高的成本。其實(shí)在一些特定場(chǎng)合,可以通過(guò)或者只能通過(guò)聲源定位的方法進(jìn)行目標跟蹤,而其中用到的陣列信號處理技術(shù)經(jīng)過(guò)改進(jìn)和優(yōu)化之后,可以將算法移植到普通的MCU中進(jìn)行實(shí)現,從而可以保證跟蹤效果的同時(shí)降低產(chǎn)品的成本。
現在隨著(zhù)網(wǎng)絡(luò )的普及,網(wǎng)絡(luò )公開(kāi)課越來(lái)越受歡迎,而網(wǎng)絡(luò )公開(kāi)課的錄制就需要對講課的教師進(jìn)行攝像跟蹤,在這種場(chǎng)景下,就可以利用陣列信號處理中的DOA技術(shù)對聲源進(jìn)行估計,從而使云臺轉動(dòng),跟蹤攝像目標。除此之外,現在的城市中,為了減少噪音污染,有不少的禁止鳴笛區。在這些鳴笛區中,為了精確地抓拍到違章鳴笛的車(chē)輛,就必須要用到聲源定位,這里就需要陣列麥克風(fēng)進(jìn)行波達方向估計,才能精確地找到違章車(chē)輛。在這些場(chǎng)景下使用DOA估計來(lái)實(shí)現目標跟蹤是完全可以滿(mǎn)足要求的,而且可以在單片機上實(shí)現,并且可以最大限度地節省計算資源。
1 作品設計與實(shí)現
1.1 系統方案
先用六陣元線(xiàn)陣的陣列麥克風(fēng)進(jìn)行拾音,然后使用Renesas(瑞薩)SK-S7G2單片機的ADC進(jìn)行采樣,采樣率8000Hz,采樣結束之后對采樣數據進(jìn)行DOA估計(波達方向估計),把估計出來(lái)的角度與當前云臺的角度比較,來(lái)確定是否轉動(dòng)云臺以及轉動(dòng)方向,從而使攝像頭或者高指向性麥克風(fēng)對準聲源,實(shí)現聲源跟蹤的目的。
1.2 理論分析及計算
1.2.1 陣列信號處理基本模型
陣列信號處理(Array Signal Processing)作為信號處理的一個(gè)重要內容,其含義是指將一批傳感器按照特定陣列流型放置在空域中,對空域信號進(jìn)行采樣,得到信源的空域采樣數據并進(jìn)行處理。
在傳統的陣列信號處理中,主要處理的是窄帶信號,窄帶信號是指帶寬遠遠小于中心頻率的信號,并且假設信號源位于陣列的遠場(chǎng),因此可以使用平面波傳播理論,認為信號平行入射,各陣元接收到的信號之間沒(méi)有幅度差異,只存在傳播延時(shí)造成的相位差異。最常用的是均勻線(xiàn)陣,其遠場(chǎng)模型如圖2所示。
其中θ為信號入射方向角,d為陣元間距。為“避免混疊”,陣元間距一般取入射信號的半波長(cháng)。記信號波長(cháng)為λ,陣元個(gè)數為N ,陣列等效孔徑為:
可以將麥克風(fēng)陣列和單片機ADC結合起來(lái)看作進(jìn)行空間采樣的裝置,陣列每接收一次數據就是在空間的一次采樣或者快拍(snapshot),陣列信號就是由快拍組成的向量序列。均勻線(xiàn)陣是在空間的一條直線(xiàn)上均勻采樣,它對應于時(shí)間序列的均勻采樣。由于陣元間距 為空間采樣間隔, 即為空間采樣頻率,而為陣列信號的空間頻率。與奈奎斯特采樣定理相似,為避免空域混疊,對空間采樣頻率有一定的要求:
(3)
12.2 頻率切片
傳統陣列信號處理的模型與算法都是建立在窄帶信號的條件下,可是語(yǔ)音信號的頻率范圍為300~3400 Hz,帶寬較大,所以不能對語(yǔ)音信號直接進(jìn)行處理,要先通過(guò)頻率采樣型的FIR濾波器進(jìn)行頻率切片,然后對切片之后的數據進(jìn)行處理。頻率采樣濾波器由一個(gè)梳狀濾波器和一個(gè)諧振器組成。
頻率采樣型結構中諧振器的極點(diǎn)恰好各自抵消梳狀濾波器的零點(diǎn),其系數就是濾波器在處的響應。為了防止濾波器不穩定,可以將梳狀濾波器的零點(diǎn)和諧振器的極點(diǎn)同時(shí)向圓內移一點(diǎn),就可以保證濾波器的穩定,即:
(7)
頻率采樣型結構的作用就是一個(gè)“濾波器柜”,想要濾出信號的某個(gè)頻率分量,只需在對應的那一路后面接抽頭,輸出即為該頻率分量的時(shí)域信號。所以只要把語(yǔ)音信號以200 Hz為間隔切片,得到各個(gè)頻率分量的窄帶信號,對窄帶信號進(jìn)行處理之后再相加即可。
1.2.3 DOA(波達方向估計)
(1)DOA估計的基本模型
在前面模型的基礎上,在只有一個(gè)聲源的情況下,陣列麥克風(fēng)各個(gè)陣元接收到的信號為:
實(shí)現DOA的算法有很多種,有周期圖法,Capon算法,Music算法等等,其中,周期圖法是在角度和頻率方向的二維搜索,相對穩健,即使在有混響的情況下也能找到方向,并且該算法可以移植到單片機中進(jìn)行實(shí)現,而Music算法的仿真效果較好,其主瓣窄,旁瓣小,但算法復雜度較高,且極易受到混頻干擾的影響。在進(jìn)行了實(shí)際實(shí)驗驗證之后,綜合樓室內混響帶來(lái)的誤差,我們選擇了相對穩健的周期圖法,下面簡(jiǎn)單介紹一下周期圖法。
(2)周期圖法
周期圖法是通過(guò)算出每個(gè)角度入射信號的功率,然后找出最大值所對應的角度,就是聲音信號入射的角度。做法是先對采集的N次快拍求平均估計自相關(guān)矩陣:
這種方法較為穩健,從仿真結果來(lái)看,雖然主瓣較寬,但在精度要求不是十分嚴格的情況下可以應用,尤其在有混頻干擾的情況下,周期圖法也能較為準確地估計出角度。且該算法的復雜度較低,易于在單片機上實(shí)現,所以我們就選擇了周期圖法,并且選用了6陣元的線(xiàn)陣,由于聲速v=340 m/s,人聲頻率在300~3400 Hz之間,其中f=1700 Hz對應的半波長(cháng)λ = 0.5*v/f = 0.1 m = 10 cm,陣元間距為10 cm。
1.3 系統優(yōu)化
1.3.1 頻率切片
傳統陣列信號處理的模型與算法都是建立在窄帶信號的條件下,可是語(yǔ)音信號的頻率范圍為300 Hz-3400 Hz,帶寬較大,所以不能對語(yǔ)音信號直接進(jìn)行處理,要先進(jìn)行切片。但是各個(gè)頻率分量的功率有很大區別,如果對300 Hz~3400 Hz都進(jìn)行切片的話(huà)會(huì )造成計算資源的浪費,我們在實(shí)驗過(guò)后發(fā)現正常人聲在600 Hz~1200 Hz內頻率分量的功率最大,所以我們在這個(gè)范圍內進(jìn)行切片,以200 Hz為間隔,共切四片。
1.3.2 結果濾波
為了提高系統的穩定性和準確性,我們進(jìn)行了結果濾波,分為兩個(gè)階段:適應噪聲和線(xiàn)性約束濾波。
(1)噪聲自適應
在開(kāi)始進(jìn)行DOA估計且云臺跟蹤之前,需要先對電路噪聲及環(huán)境噪聲進(jìn)行適應。進(jìn)入噪聲適應模式之后,通過(guò)麥克風(fēng)采集當前的電路及環(huán)境噪聲,計算其功率,然后設定一個(gè)合適的閾值。在之后的計算中,若功率大于閾值,則視為有用的聲音,否則視為噪聲,不計算角度。這樣可以有效地濾除底噪的干擾,當人停止說(shuō)話(huà)時(shí),攝像頭不會(huì )因為噪聲的干擾而隨意擺動(dòng)。
(2)線(xiàn)性約束
為了提高系統的穩定性以及減小放射徑的影響,我們采用了線(xiàn)性約束的方法,這樣能有效地減小突變以及放射徑的影響,即:
最終角度=0.8 上次角度+0.2 當前計算角度
由于每一秒會(huì )計算出15次結果,所以難免會(huì )有一些計算出來(lái)的結果不太準確,這樣使用了線(xiàn)性約束之后,即使有一些角度不太準確也不會(huì )造成較大的影響,大大地提高了系統的穩定性。
1.3.3 云臺目標跟蹤
云臺的控制是通過(guò)單片機串口給解碼器發(fā)指令來(lái)完成的,并且采用了步進(jìn)的方法控制。在云臺和麥克風(fēng)陣列擺放關(guān)系的問(wèn)題上,我們采取的方案是陣列固定在云臺上面,跟隨云臺一起轉動(dòng),云臺根據DOA的估計結果不斷向0°方向靠攏。
2 參賽感受
本次比賽我們的作品得到了不少評委老師的肯定與認可,并且摘得了本次比賽的最高獎瑞薩杯獎,我認為是因為我們作品的以下一些亮點(diǎn):首先,我們的作品的處理器只使用了組委會(huì )提供的開(kāi)發(fā)板,在我們的不斷改進(jìn)與優(yōu)化下,全部的算法與控制都在瑞薩單片機上實(shí)現,把單片機的計算資源、內存都運用到了極致。這樣就大大降低了成本,增加了把該作品變成產(chǎn)品推向市場(chǎng)的可能性。其次,我們的系統的穩定性很好,我們使用了噪聲自適應、線(xiàn)性約束、結果濾波等方法增加了系統的穩定性,并且在不同的環(huán)境下都進(jìn)行了測試。還有一點(diǎn),就是實(shí)際應用價(jià)值較高,現在的市場(chǎng)對聲源定位的需求越來(lái)越高,可以在網(wǎng)絡(luò )視頻自動(dòng)錄制、鳴笛抓拍等場(chǎng)景中有廣泛的應用。
這次的比賽,我們收獲的不僅僅是瑞薩杯這個(gè)獎項,更多的是在比賽過(guò)程中能力的提升。在這個(gè)過(guò)程中,我們不僅在理論知識上得到了提高,動(dòng)手能力也有了很大的進(jìn)步,解決問(wèn)題的能力也得到了很大的提升,意志力也得到了鍛煉,在即將升入大四,開(kāi)始更多地接觸科研任務(wù)之際,這次比賽也給了我們很多前行的動(dòng)力和信心。
參考文獻:
[1]McCowan I A.,Robust Speech Recognition using Microphone Arrays[D]. Queensland University of Technology,Australia,2001.
[2]梁玉杰. 基于超格點(diǎn)DOA的室內無(wú)線(xiàn)傳感器網(wǎng)絡(luò )定位技術(shù)研究[D]. 上海:上海交通大學(xué),2015-4-7.
[3]Jacob Benesty,Jingdong Chen,Yiteng Huang,Microphone Array Signal Processing[M]. 北京:國防工業(yè)出版社,2015.
[4]張小飛,陳華偉,仇小鋒. 陣列信號處理及MATLAB實(shí)現[M].北京:電子工業(yè)出版社,2014.
[5]姚天任. 數字信號處理[M]. 北京:清華大學(xué)出版社,2011.
本文來(lái)源于《電子產(chǎn)品世界》2018年第12期第48頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。
評論