基于DSP二維聲源定向系統(tǒng)設(shè)計
摘要 利用ADSP BF533 DSP處理器設(shè)計了一種二維聲源定向系統(tǒng)。系統(tǒng)基于聲波到達時間差技術(shù),采用相位匹配算法,對兩個傳聲器采集的聲音信號進行分析。通過算法仿真驗證了算法的可行性和準(zhǔn)確性,并將算法在DSP上實現(xiàn)。
關(guān)鍵詞 DSP;聲源;定向
被動式聲源定向系統(tǒng)在軍事和日常生活中的多方面有著重要的應(yīng)用。軍事中常采用傳聲器陣列初步估計目標(biāo)的方位,為雷達精確掃描提供依據(jù);日常生活中多用于攝像頭輔助系統(tǒng),引導(dǎo)攝像頭向聲源方向轉(zhuǎn)動,這在視頻會議中應(yīng)用較多,其他應(yīng)用還包括室內(nèi)防盜系統(tǒng)和災(zāi)害搜救設(shè)備等。近年來眾多學(xué)者對此作了大量研究,提出了多種實用性算法。王毅等人將現(xiàn)有的算法分成3類:基于最大輸出功率的可控波束形成技術(shù)、基于高分辨譜估計技術(shù)和基于聲波到達時間差技術(shù),其中基于聲波到達時間差技術(shù)具有運算量小、精度高的特點,被廣泛使用。文中正是基于這一技術(shù),采用相位匹配算法,對兩個傳聲器采集的聲音信號進行分析,實現(xiàn)了二維聲源定向。
1 原理
1.1 聲波到達時間差技術(shù)
所謂聲波到達時間差就是指聲波信號到達2個或多個傳聲器之間的時間差,利用該差值即可確定聲源的方向,文中只采用2個傳聲器,其原理如圖1所示。
設(shè)置傳聲器1和傳聲器2之間的距離為d;聲源到達傳聲器1的角度為θ1;到傳聲器2的角度為θ2,并且聲源到兩個傳聲器中點C的距離遠大于兩個傳聲器之間的距離d。基于這個前提,則θ1≈θ2=θ,設(shè)聲速為c,聲波到達傳聲器2與到達傳聲器1之間的時間差為τ,則式(1)成立
sinθ=L/d,L=cτ (1)
因此
θ=sin-1(cτ/d) (2)
在式(2)中,聲速c和傳聲器1,2之間的距離d,都是已知數(shù),只要求出聲波到達時間差τ,就可以得到聲源的方位角θ。
以上就是聲波到達時間差原理,時間差τ的求取方法有最小均方自適應(yīng)濾波法、廣義互相關(guān)函數(shù)法、互功率譜相位法等,文獻對各種方法的比較作了詳細介紹。除上述直接或間接求取時間差τ的方法外,本文采用文獻中的一種相位匹配算法,雖然也是基于聲波到達時間差技術(shù),但它不用求取時間差τ,就能得到聲源的方位角θ。
1.2 相位匹配算法
信號相位匹配的原理就是對傳聲器2輸出的信號進行相位補償,不同的頻率補償不同的相位,如果補償?shù)南辔坏扔谟捎诼曉捶轿唤且鸬南辔徊?,則傳聲器1,2方向相同。[!--empirenews.page--]
設(shè)聲波到達兩個傳聲器的時間差為τ0,傳聲器1接收到的聲波信號為
t=(dsinθ)/c,θ在一定范圍內(nèi)以一定的精度步進,當(dāng)E(τ)取最大值時,τ所對應(yīng)的角度θ即為聲源方位角。
1.3 算法仿真
設(shè)兩個傳聲器之間的距離d=0.15 m,聲速c=340 m/s,θ在-90°~90°之間以0.5°步進,聲源是頻率分別為f0=200 Hz,f1=1 200 Hz,f2=5 400 Hz,f3=10 600 Hz,f4=18 560 Hz的5個點頻信號與白噪聲的加權(quán)疊加,采樣率fs=48 kHz。當(dāng)設(shè)定聲源方位角為30°時,仿真測得為31.5°。傳聲器1,2輸入的信號以及E(τ)波形如圖2所示。
[!--empirenews.page--]
表1中對設(shè)定的方位角給出了對應(yīng)的仿真結(jié)果,從中可知相位匹配算法在-80°~80°方位角范圍內(nèi)可以較好地確定聲源方位角,具有較高的準(zhǔn)度和精度。
2 系統(tǒng)設(shè)計
系統(tǒng)用兩個傳聲器采集聲波信號,經(jīng)自動增益放大、濾波后輸入到A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換器經(jīng)采樣、量化、編碼后輸出數(shù)字化的聲波信號到DSP,在DSP內(nèi)部對采集到的數(shù)字信號進行截取、加窗后運用上文提到的算法做分析,并最終輸出聲源的方位角,如圖3所示。
2.1 硬件結(jié)構(gòu)
系統(tǒng)硬件結(jié)構(gòu)如圖4所示。自動增益放大器根據(jù)傳聲器接收到的聲波信號幅度自動調(diào)整放大倍數(shù),保證輸入到音頻編解碼器AD1836的信號都維持在一定的幅度上,不會因放大倍數(shù)過大而使大信號失真,也不會因放大倍數(shù)太小而使小信號被噪聲淹沒。自動增益放大器可采用數(shù)字電位器,也可用專用芯片實現(xiàn),文中利用場效應(yīng)管的可變電阻特性實現(xiàn)自動增益放大。
人耳能聽到的聲音頻率范圍是20 Hz~20 kHz,低通濾波器用于濾除高于20 kHz的頻率成份,由于文中算法對相位比較敏感,為保證濾波后各頻率的相位不失真,將低通濾波器的截止頻率提高到100 kHz,設(shè)計一個二階有源橢圓形低通濾波器。
[!--empirenews.page--]
其他各部分是基于現(xiàn)有硬件開發(fā)平臺-ADI公司的ADSP-BF533-EZ-KIT開發(fā)板,如圖5所示。音頻編解碼器AD1836是位于開發(fā)板上的一個雙通道立體聲音頻轉(zhuǎn)換器,最高采樣率96 kHz,可同時完成4路音頻信號的輸入和轉(zhuǎn)換,并通過SPORT、口將轉(zhuǎn)換數(shù)據(jù)依次輸出到BF533 DSP,同時BF533通過SPI口對AD1836的內(nèi)部寄存器進行訪問,完成相應(yīng)功能的設(shè)置。BF533是ADI公司的一款16位定點DSP,內(nèi)核時鐘可達600 MHz,其片上豐富的外設(shè)為其他設(shè)備提供了方便的接口,如SPORT口和SPI口就為音頻解碼器提供無縫連接,而外部總線接口(EBIU)則方便了SDRAM以及Flash存儲器與BF533的連接。
2.2 算法實現(xiàn)
為使系統(tǒng)正常運行,程序要先對開BF533 DSP和音頻編解碼器AD1836做初始化。設(shè)置BF533內(nèi)核時鐘594 MHz,系統(tǒng)時鐘118 MHz;SPORT0接收數(shù)據(jù)長度16位,幀同步使能,DMA中斷使能;通過BF533 SPI口DMA配置AD1836為48 kHz采樣率,16位分辨率。
初始化完成之后AD1836開始以設(shè)定的模式工作,通過SPORT口向BF533輸出數(shù)據(jù),這時使能SPORT0口DMA接收數(shù)據(jù),每接收一組數(shù)據(jù)產(chǎn)生一次中斷,數(shù)據(jù)被保存在內(nèi)存中,SPORT0口繼續(xù)工作,直到接收完規(guī)定的采樣點數(shù),這時禁止SPORT0口DMA中斷,程序?qū)邮盏臄?shù)據(jù)作算法分析,并將結(jié)果輸出,完成一次聲源定向;之后重新使能DMA中斷,程序重復(fù)上述工作,進行下一次定向,程序流程如圖6所示。
3 結(jié)束語
利用BF533作為系統(tǒng)核心,充分發(fā)揮其數(shù)字信號處理功能,進行相位匹配算法運算,完成聲源定向。需要注意的是為保證定向的準(zhǔn)確性,兩個傳聲器之間的距離應(yīng)小于聲波波長的1/2,同時采樣率的提高有助于提高定向精度。經(jīng)測定系統(tǒng)具有較好定向性能和實用價值。