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