周 笛,王 敏
(西安電子科技大學電子工程學院,陜西 西安 710071)
被動式聲源定向系統在軍事和日常生活中的多方面有著重要的應用。軍事中常采用傳聲器陣列初步估計目標的方位,為雷達精確掃描提供依據;日常生活中多用于攝像頭輔助系統,引導攝像頭向聲源方向轉動,這在視頻會議中應用較多,其他應用還包括室內防盜系統和災害搜救設備等。近年來眾多學者對此作了大量研究,提出了多種實用性算法。王毅[1]等人將現有的算法分成3類:基于最大輸出功率的可控波束形成技術、基于高分辨譜估計技術和基于聲波到達時間差技術,其中基于聲波到達時間差技術具有運算量小、精度高的特點,被廣泛使用。文中正是基于這一技術,采用相位匹配算法[2],對兩個傳聲器采集的聲音信號進行分析,實現了二維聲源定向。
所謂聲波到達時間差就是指聲波信號到達2個或多個傳聲器之間的時間差,利用該差值即可確定聲源的方向,文中只采用2個傳聲器,其原理如圖1所示。

圖1 聲波到達時間差原理示意圖
設置傳聲器1和傳聲器2之間的距離為d;聲源到達傳聲器1的角度為θ1;到傳聲器2的角度為θ2,并且聲源到兩個傳聲器中點C的距離遠大于兩個傳聲器之間的距離d。基于這個前提,則 θ1≈θ2=θ,設聲速為c,聲波到達傳聲器2與到達傳聲器1之間的時間差為 τ,則式(1)成立

因此

在式(2)中,聲速c和傳聲器1,2之間的距離d,都是已知數,只要求出聲波到達時間差τ,就可以得到聲源的方位角θ。
以上就是聲波到達時間差原理,時間差τ的求取方法有最小均方自適應濾波法、廣義互相關函數法、互功率譜相位法等,文獻[1]對各種方法的比較作了詳細介紹。除上述直接或間接求取時間差τ的方法外,本文采用文獻[2]中的一種相位匹配算法,雖然也是基于聲波到達時間差技術,但它不用求取時間差τ,就能得到聲源的方位角θ。
信號相位匹配的原理就是對傳聲器2輸出的信號進行相位補償,不同的頻率補償不同的相位,如果補償的相位等于由于聲源方位角引起的相位差,則傳聲器
設聲波到達兩個傳聲器的時間差為τ0,傳聲器1接收到的聲波信號為

則傳聲器2接收的聲波信號為

對式(3)和式(4)分別進行傅里葉變換得

對式(6)的各頻率補償相位ejωτ,并與式(5)相減得

對式(7)各頻率取模平方,相加并取倒數得

t=(dsinθ)/c,θ在一定范圍內以一定的精度步進,當E(τ)取最大值時,τ所對應的角度θ即為聲源方位角。
設兩個傳聲器之間的距離d=0.15 m,聲速c=340 m/s,θ在 -90°~90°之間以0.5°步進,聲源是頻率分別為 f0=200 Hz,f1=1200 Hz,f2=5400 Hz,f3=10600 Hz,f4=18560 Hz的5個點頻信號與白噪聲的加權疊加,采樣率fs=48 kHz。當設定聲源方位角為30°時,仿真測得為31.5°。傳聲器1,2輸入的信號以及E(τ)波形如圖2所示。

圖2 傳聲器輸入信號及測得角度
表1中對設定的方位角給出了對應的仿真結果,從中可知相位匹配算法在-80°~80°方位角范圍內可以較好地確定聲源方位角,具有較高的準度和精度。

表1 相位匹配算法仿真數據
系統用兩個傳聲器采集聲波信號,經自動增益放大、濾波后輸入到A/D轉換器,A/D轉換器經采樣、量化、編碼后輸出數字化的聲波信號到DSP,在DSP內部對采集到的數字信號進行截取、加窗后運用上文提到的算法做分析,并最終輸出聲源的方位角,如圖3所示。

圖3 系統信號流程圖
系統硬件結構如圖4所示。自動增益放大器根據傳聲器接收到的聲波信號幅度自動調整放大倍數,保證輸入到音頻編解碼器AD1836的信號都維持在一定的幅度上,不會因放大倍數過大而使大信號失真,也不會因放大倍數太小而使小信號被噪聲淹沒。自動增益放大器可采用數字電位器,也可用專用芯片實現,文中利用場效應管的可變電阻特性實現自動增益放大。
人耳能聽到的聲音頻率范圍是20 Hz~20 kHz,低通濾波器用于濾除高于20 kHz的頻率成份,由于文中算法對相位比較敏感,為保證濾波后各頻率的相位不失真,將低通濾波器的截止頻率提高到100 kHz,設計一個二階有源橢圓形低通濾波器。

圖4 硬件結構框圖
其他各部分是基于現有硬件開發平臺—ADI公司的ADSP-BF533-EZ-KIT開發板[3-4],如圖5所示。音頻編解碼器AD1836[5]是位于開發板上的一個雙通道立體聲音頻轉換器,最高采樣率96 kHz,可同時完成4路音頻信號的輸入和轉換,并通過SPORT口將轉換數據依次輸出到BF533 DSP,同時BF533通過SPI口對AD1836的內部寄存器進行訪問,完成相應功能的設置。BF533是ADI公司的一款16位定點DSP,內核時鐘可達600 MHz,其片上豐富的外設為其他設備提供了方便的接口,如SPORT口和SPI口就為音頻解碼器提供無縫連接,而外部總線接口(EBIU)則方便了SDRAM以及Flash存儲器與BF533的連接。

圖5 ADSP-BF533-EZ-KIT開發板
為使系統正常運行,程序要先對開BF533 DSP和音頻編解碼器AD1836做初始化。設置BF533內核時鐘594 MHz,系統時鐘118 MHz;SPORT0接收數據長度16位,幀同步使能,DMA中斷使能;通過BF533 SPI口DMA配置AD1836為48 kHz采樣率,16位分辨率。
初始化完成之后AD1836開始以設定的模式工作,通過 SPORT口向 BF533輸出數據,這時使能SPORT0口DMA接收數據,每接收一組數據產生一次中斷,數據被保存在內存中,SPORT0口繼續工作,直到接收完規定的采樣點數,這時禁止SPORT0口DMA中斷,程序對接收的數據作算法分析,并將結果輸出,完成一次聲源定向;之后重新使能DMA中斷,程序重復上述工作,進行下一次定向,程序流程如圖6所示。

圖6 系統程序流程圖
利用BF533作為系統核心,充分發揮其數字信號處理功能,進行相位匹配算法運算,完成聲源定向。需要注意的是為保證定向的準確性,兩個傳聲器之間的距離應小于聲波波長的1/2,同時采樣率的提高有助于提高定向精度。經測定系統具有較好定向性能和實用價值。
[1]王毅,吳長奇,胡雙喜.TDOA中幾種時延估計算法的比較[J].工程實踐及應用技術,2008,34(1):52-55.
[2]嚴勝剛,王惠剛,李志舜,等.信號相位匹配原理的方位估計性能分析[J].西北工業大學學報,2005,23(5):589 -592.
[3]Analog Devices,Inc.ADSP - BF533 Blackfin?Processor Hardware Reference[M].USA:Analog Devices,Inc,2009.
[4]Analog Devices,Inc.ADSP -BF533 EZ -KIT Lite?Evaluation System Manual[M].USA:Analog Devices,Inc,2004.
[5]Analog Devices,Inc.AD1836A[M].USA:Analog Devices,Inc,2003.