《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 基于仿生學(xué)和SoPC的嵌入式聲源定位器

基于仿生學(xué)和SoPC的嵌入式聲源定位器

2008-05-06
作者:梁志毅,高金山,董文杰

  摘 要: 論述了基于人體仿生學(xué)和嵌入式軟核的可編程片上系統(tǒng)SoPC的研究與實(shí)現(xiàn)。
  關(guān)鍵詞: 仿生學(xué) SoPC 數(shù)字信號(hào)并行處理 嵌入式聲源定位" title="聲源定位">聲源定位器


  眾所周知,人的聽覺系統(tǒng)可以對(duì)所聽到的特定聲音來(lái)源進(jìn)行定位。所謂的“雞尾酒會(huì)效應(yīng)”[1]就是指人耳可以在一定的噪音背景下惟一地關(guān)注一個(gè)指定的聲音。結(jié)合嵌入式系統(tǒng)小巧靈活的特點(diǎn)和日益強(qiáng)大的功能,實(shí)現(xiàn)這樣的一種仿生聲源定位器" title="定位器">定位器,可以有效地對(duì)聽障人士的日常生活起到幫助作用,例如躲避突發(fā)的危險(xiǎn)狀況、日常的人際交往等。更廣泛地看,這種系統(tǒng)可應(yīng)用于機(jī)器人的聽覺系統(tǒng)、保安保密設(shè)施等諸多領(lǐng)域。
  為與基于ASIC技術(shù)的聲源定位器[2]區(qū)別,本文基于SoPC技術(shù),在Altera的stratix系統(tǒng)平臺(tái)上,充分利用SoPC靈活的可重用設(shè)計(jì)特性和FPGA的信號(hào)并行處理能力,用一個(gè)MIC陣列,模擬人耳的聽覺系統(tǒng),實(shí)現(xiàn)聲源定位器。并利用其良好的擴(kuò)展性,進(jìn)一步將系統(tǒng)從單CPU架構(gòu)擴(kuò)展至雙CPU架構(gòu),加入了語(yǔ)音識(shí)別" title="語(yǔ)音識(shí)別">語(yǔ)音識(shí)別的功能(本文只重點(diǎn)論述聲源定位的研究與實(shí)現(xiàn))。
  在一個(gè)相對(duì)安靜的房間里對(duì)定位器進(jìn)行測(cè)試,在5米的直徑范圍內(nèi),可以較準(zhǔn)確地通過LCD輸出聲源的位置坐標(biāo)。同時(shí),對(duì)于簡(jiǎn)單的短語(yǔ),經(jīng)過訓(xùn)練之后,系統(tǒng)能夠在不超過1秒的時(shí)間內(nèi)產(chǎn)生指定的響應(yīng),如在LCD上顯示相應(yīng)的文字、振動(dòng)器振動(dòng)報(bào)警等。
1 人耳聽覺模型的基本原理
  在一個(gè)簡(jiǎn)單的人耳聽覺系統(tǒng)模型中,聲源定位可以描述為:(1)從各種不同頻率的聲音中解析發(fā)現(xiàn)特定的聲音,如從一定的環(huán)境噪聲背景中找到特定聲源所發(fā)出的聲音。(2)獲得聲音到達(dá)MIC陣列的端點(diǎn),即端點(diǎn)檢測(cè)" title="端點(diǎn)檢測(cè)">端點(diǎn)檢測(cè)。(3)聽覺系統(tǒng)根據(jù)聲音到達(dá)兩耳的時(shí)間差,判斷出聲源的方向和位置。
  根據(jù)上述人耳聽覺的機(jī)理,所設(shè)計(jì)的聲源定位器需要解決聲音的噪音過濾、端點(diǎn)檢測(cè)及方位距離算法等問題。
  (1)聲音的噪音過濾和端點(diǎn)檢測(cè)。對(duì)于噪音的簡(jiǎn)單過濾和聲音的端點(diǎn)檢測(cè),可以通過常用的“雙門限法”實(shí)現(xiàn)。
  本文利用Matlab下的Simulink作為原理驗(yàn)證工具。驗(yàn)證無(wú)誤后,將對(duì)應(yīng)的FIR數(shù)字濾波器的階數(shù)和系數(shù)直接填入到Quartus II提供的FIR IP Core模塊中參數(shù)化,再在VHDL用戶模塊例化,即可完成FPGA中的語(yǔ)音信號(hào)預(yù)處理模塊的搭建工作。
  (2)聲源定位算法。系統(tǒng)中共使用了3個(gè)MIC,分別位于水平面上邊長(zhǎng)為20cm的等邊三角形的三個(gè)頂點(diǎn)。借助于端點(diǎn)檢測(cè),可獲取聲音到達(dá)各個(gè)MIC時(shí)對(duì)應(yīng)的不同計(jì)數(shù)值n(對(duì)應(yīng)有t=n/f,其中t為聲音傳播時(shí)間,f為采樣頻率),從而得到時(shí)延估計(jì)。經(jīng)過前端的信號(hào)預(yù)處理工作,再充分利用聲源傳播中的先驗(yàn)信息,基于空間幾何知識(shí)建立的算法模型,定位精度基本上達(dá)到了應(yīng)用要求。MIC陣列擺放如圖1所示。


  因?yàn)樵撛O(shè)備主要是針對(duì)聾啞人的語(yǔ)音輔助開發(fā)的,所以通常情況下聲源是與MIC陣列確定的平面共面或近似共面的。在近似共面的情形時(shí),將數(shù)學(xué)模型擴(kuò)展到三維的情況,即MIC陣列確定一個(gè)平面,而聲源不在該平面內(nèi)。此時(shí),以原點(diǎn)為中心,假設(shè)聲源位于一個(gè)橫截面直徑為3~10m的環(huán)狀空間中,且聲源到MIC陣列平面(橫截面)的垂直距離不超過±1m??沈?yàn)證,聲源到原點(diǎn)的距離與聲源在MIC陣列平面投影點(diǎn)到原點(diǎn)的距離,二者偏差僅在4%左右。所以,為便于計(jì)算和構(gòu)建模型,可以假設(shè)聲源與MIC陣列共面。
2 系統(tǒng)架構(gòu)
  系統(tǒng)基本架構(gòu)由Avalon Bus和兩個(gè)NIOS II CPU組成。NIOS II是基于哈佛結(jié)構(gòu)的RISC通用嵌入式處理器軟核,能與用戶邏輯相結(jié)合。該處理器具有32位指令集、32位數(shù)據(jù)通道和可配置的指令及數(shù)據(jù)緩沖。本文選用標(biāo)準(zhǔn)型內(nèi)核搭建系統(tǒng)。
  利用外圍ADC電路并通過IIS總線,三路" title="三路">三路MIC并行地將各自采集到的語(yǔ)音信號(hào)傳入AD Receiver模塊。該模塊是利用VHDL構(gòu)建的用戶外設(shè),用以橋接Avalon總線和ADC,同時(shí)完成三路語(yǔ)音信號(hào)的并行預(yù)處理。
  單路信號(hào)處理過程如下所述:
  將ADC傳入的串行信號(hào)轉(zhuǎn)換成16位的并行信號(hào)送入FIFO1。每一個(gè)并行信號(hào)即一個(gè)采樣點(diǎn),定義每2 400個(gè)點(diǎn)為一幀,選取FIFO1容量為16bit×2560=5KB。存儲(chǔ)點(diǎn)數(shù)達(dá)到一幀后,將該幀逐點(diǎn)送入短時(shí)能量分析模塊、短時(shí)過零率分析模塊和FIFO2,計(jì)數(shù)器同時(shí)計(jì)數(shù)。FIFO2的容量與FIFO1相同。如果該幀沒有達(dá)到短時(shí)能量和過零率的閾值觸發(fā)要求,則該幀為無(wú)效幀;如果只達(dá)到過零率的觸發(fā)要求,則該幀為有效幀,暫時(shí)保留在FIFO2中,其后一幀若短時(shí)能量閾值觸發(fā)則回溯前一幀定位端點(diǎn),否則兩幀都舍棄;如果某幀同時(shí)達(dá)到短時(shí)能量和過零率的觸發(fā)要求,則聲音起始端點(diǎn)即為該幀內(nèi)部觸發(fā)過零率閾值的那一點(diǎn)。在這里,設(shè)置短時(shí)能量的觸發(fā)閾值EH為0.01,約為平穩(wěn)狀態(tài)時(shí)能量值的5倍;短時(shí)過零率公式中修正閾值T為0.01,當(dāng)短時(shí)過零率幅值發(fā)生大于3倍的突變時(shí),則認(rèn)為過零率閾值觸發(fā)。另外,為便于能量閾值觸發(fā)后的回溯查尋,設(shè)置了同樣為5KB的FIFO3、FIFO4,分別存儲(chǔ)短時(shí)過零率和短時(shí)能量的數(shù)據(jù)。
  將取得的聲音端點(diǎn)值傳至CPU1進(jìn)行定位計(jì)算。CPU1利用Avalon總線與CPU2及系統(tǒng)其他模塊進(jìn)行信息交換和處理。
  系統(tǒng)硬件結(jié)構(gòu)如圖2、圖3所示。

?


  NIOS II提供了良好的系統(tǒng)擴(kuò)展性和可編輯性,當(dāng)系統(tǒng)引入語(yǔ)音識(shí)別功能使性能要求提高時(shí),在不改變?cè)邢到y(tǒng)架構(gòu)的基礎(chǔ)上,通過增加共享內(nèi)存互斥鎖和共享內(nèi)存,系統(tǒng)即可方便快速地?cái)U(kuò)展成為雙CPU架構(gòu)。其中定義CPU1對(duì)前段采集的數(shù)據(jù)進(jìn)行定位處理,將處理過的數(shù)據(jù)傳入CPU2,由CPU2完成識(shí)別及LCD顯示的功能,如圖3所示。
3 實(shí)驗(yàn)
  在一個(gè)相對(duì)安靜的房間中對(duì)系統(tǒng)進(jìn)行了測(cè)試。房間大小約為(8×6×3)m3,環(huán)境噪聲以持續(xù)的音樂模擬,約為40~50dB,待檢測(cè)聲音約為65~70dB。人發(fā)聲的位置在圖1所示的平面坐標(biāo)系中選擇。
  圖4顯示了實(shí)驗(yàn)中某個(gè)MIC的聲音預(yù)處理波形。聲音信號(hào)從左往右依次是你好、危險(xiǎn)、早上好三句話,其中利用了223階的FIR線性濾波器實(shí)現(xiàn)信號(hào)處理功能,其窗函數(shù)為矩形窗。


  從圖4中可以明顯看出:因?yàn)楸尘耙魳泛驼f(shuō)話前后的呼吸,原始聲音波形中出現(xiàn)明顯的干擾信號(hào)(背景噪音),但經(jīng)過短時(shí)能量分析后,短時(shí)能量分析圖中的干擾部分已經(jīng)被過濾掉。實(shí)驗(yàn)證明,將短時(shí)能量分析與短時(shí)過零率結(jié)合,可以較好地檢測(cè)到聲音的端點(diǎn)。
  利用FPGA可并行處理的特性,實(shí)時(shí)監(jiān)控三路MIC的聲音處理信號(hào),比較各路聲音端點(diǎn)對(duì)應(yīng)的不同n值,得出三個(gè)時(shí)間差,代入定位計(jì)算公式,從而定位聲源位置。
  本文論述了基于人體仿生學(xué)和NIOS II的聲源定位器。系統(tǒng)分為語(yǔ)音信號(hào)采集預(yù)處理和定位計(jì)算兩個(gè)基本部分及語(yǔ)音識(shí)別一個(gè)擴(kuò)展部分。整個(gè)系統(tǒng)在實(shí)現(xiàn)過程中:
  (1)利用FPGA的并行特性實(shí)現(xiàn)了三路語(yǔ)音信號(hào)的并行采集和處理;
  (2)利用嵌入式的軟核NIOS II搭建了雙CPU結(jié)構(gòu)。其中CPU1實(shí)現(xiàn)了對(duì)聲源定位的算法,CPU2實(shí)現(xiàn)了對(duì)語(yǔ)音識(shí)別及響應(yīng)的功能;
  (3)利用NIOS II提供的硬件互斥鎖機(jī)制實(shí)現(xiàn)了CPU間的良好同步通信。
  從該系統(tǒng)的研究與實(shí)現(xiàn)中可以看到,SoPC的多核結(jié)構(gòu)在低功耗、小面積、低成本的前提下提供了實(shí)現(xiàn)強(qiáng)大功能的可能。在聲源定位、語(yǔ)音識(shí)別的基礎(chǔ)上,結(jié)合語(yǔ)音合成技術(shù),可為聾啞人提供更完善的幫助。而較高的性價(jià)比也將使這樣的系統(tǒng)進(jìn)入更多更廣泛的生活工作應(yīng)用領(lǐng)域。
參考文獻(xiàn)
1 Jie Huang,Ohnishi N,Sugie N.A Biomimetic System for Localization and Separation of Multi-ple Sound Sources.Instrumentation and Measure-ment.IEEE Transactions,1995;44(3)
2 Stanacevic M,Cauwenberghs G.Micorpower Gra-dient Flow Acoustic Localizer.Circuits and Sys-tems I:Regular Papers,IEEE Transactions on[seealso Circuits and Systems I:Fundamental Theory and Applications.IEEE Transactions,2005;52(10)
3 胡 航.語(yǔ)音信號(hào)處理.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2002
4 王炳錫,屈 丹,彭 煊.實(shí)用語(yǔ)音識(shí)別基礎(chǔ).北京:國(guó)防工業(yè)出版社,2005
5 蔡蓮紅,黃德智,蔡 銳.現(xiàn)代語(yǔ)音技術(shù)基礎(chǔ)與應(yīng)用.北京:清華大學(xué)出版社,2003

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。