單個孤立麥克風作為傳統的語音拾取工具,在噪聲處理、聲源定位和跟蹤,語音增強等方面存在不足,在噪聲環境下會嚴重影響語音質量。一些文章探討了多通道麥克風的降噪技術,在理論上提高了噪聲環境下語音的信噪比。但是實際應用中,多通道的語音實時采集是一個尚待解決的問題。本文基于此出發點,采用四個ADMP441 MEMS 數字麥克風,使用BF533 DSP 作為主控,組成一個4 聲道的語音實時采集系統,在時頻域的基礎上增加一個空間域,以便對來自空間不同方向的信號進行實時處理,彌補了傳統單聲道的缺陷。 MEMS(微型機電系統) 麥克風是基于MEMS 技術制造的麥克風,簡單的說就是一個電容器集成在微硅晶片上,可以采用表貼工藝進行制造, 能夠承受很高的回流焊溫度,容易與 CMOS 工藝及其它音頻電路相集成。本文采用的四個ADMP4411 是一款高性能、低功耗、數字輸出、提供底部收音孔的全向MEMS 麥克風。完整的ADMP441 解決方案由MEMS傳感器、信號調理電路、模數轉換器、抗混疊濾波器、電源管理和業界標準24-bitI2S 接口組成。ADMP441 利用I2S 接口與數字處理器( 例如:DSP、微控制器) 直接相連,因此,在系統中無需使用音頻編解碼器,在體積和功耗方面具有普通mic 采集方案無法比擬的優勢,系統可以很方便的嵌入到對功耗和體積敏感的可穿戴式設備中,并且提供更清晰語音質量,具有較高實用價值。MEMS麥克風的全部潛能還有待挖掘,但是采用這種技術的產品已經在多種應用中體現出了諸多優勢,比如中高端手機應用和人工耳蝸助聽器。 本文采用的主控芯片ADSP-BF533 是主頻高達600 MHz 高性能Blackfin 處理器,內核包括:2 個 16 位 MAC,2 個 40 位 ALU,4 個 8 位視頻 ALU,以及 1 個 40 位移位器RISC 式寄存器和指令模型,編程簡單,編譯環境友好,具有先進的調試、跟蹤和性能監視功能。并且芯片具有2 個雙通道全雙工同步串行接口,支持 8 個立體聲 I2S 通道,十分適合多通道的語音信號采集和處理。 1 硬件系統設計 該硬件系統主要包括4 路MEMS 麥克風構成的陣列、麥克風外圍電路、DSP 數據處理模塊、USB 通訊模塊、PC 機組成。 1.1 麥克風陣列部署 由于多數麥克風陣列語音增強采用波束成型(Beamforming)技術,根據理論,我們得到的波形可以表達為 其中wn(f) 為權重系數, 為相對第0 個陣子的相位差,n 為麥克風數量。由上式我們可以得出麥克風數量和間距的關系以及排布,如圖2 和圖3: 由圖2、圖3 我們知道,經典應用中,麥克風間距為40mm,數量為3-10 個麥克風。本文采用4 個麥克風排列為間隔40mm 的線陣布局。 圖2:麥克風數量N 與波形的關系 圖3:麥克風間距與波形的關系 1.2 DSP數據處理模塊 本文采用的BF533 DSP 數據處理模塊。其 中,BF533 通過SPORT 接口與前端的MEMS 麥克風I2S 接口相連,并利用SPORT接口數據傳輸速度快、傳輸量大, 且不占用CPU 時鐘周期的特點,將采集數據轉存至BF533 的片內存儲空間。本系統采用了一個 USB1.1 標準的 USB 設備芯片,其型號為PDIUSBD12, 該芯片有 6 個數據傳輸斷點,其控制命令簡單,寄存器少,適合于簡單USB信息傳輸。BF533 處理器通過 EBIU 接口的BANK3 連接 PDIUSBD12 芯片,通過 CPLD為其分配訪問地址,通過 CPLD 的 USB_DAT寄存器和USB_CMD 寄存器進行訪問,完成DSP 與PC 機平臺間的USB 數據傳輸。 1.3 MEMS數字麥克風與DSP數據處理模塊接口設計 圖4 所示電路允許兩個數字MEMS 麥克風通過單條數據線與一個DSP 接口。由于BF533 有2 路SPORT 接口,最多可以設置四路串行數據輸入,因此單個DSPBF533 理論上最多支持八個ADMP441。 圖4:MEMS 麥克風與Blackfin DSP 的連接(原理示意圖:未顯示所有連接) 電路描述: ADMP441 麥克風連接到ADSP-BF533 的SPORT0,SPORT1 數據輸入引腳。本電路需要的無源元件只有電容和電阻:每個ADMP441需要一個0.1 μF 旁路電容;SD 線路上需要一個大下拉電阻(100 kΩ),用以在ADMP441 的輸出驅動器處于三態時給電容放電。旁路電容應盡可能靠近ADMP441 VDD 引腳(引腳7)放置。麥克風的VDD 與BF533 的2.25 V至3.3 V VDDEXT 應由相同的電源供電。雖然ADMP441 可以采用1.8 V 至3.3 V 的VDD工作,但ADSP-BF527 的VDDEXT 必須至少是2.25 V。為實現I2S 數據流,ADMP441 與BF533 之間必須連接三個信號:幀時鐘、位時鐘和數據。BF533 為系統時鐘,并生成兩個I2S 時鐘。 此 電路展示麥克風連接到Blackfin 的SPORT0 單個數據輸入端。BF533 的兩個SPORT 各具有兩組數據接收引腳,因此最多可提供八通道I2S 音頻輸入。 1.4 PC機平臺 DSP 數據處理模塊通過USB 接口與PC機相連,通過PDIUSBD12,將前端采集的數據傳輸到PC 機,方便對數據的進一步處理。 2 軟件系統設計 2.1 語音采集系統軟件設計 硬件搭建完成后,我們接下來介紹軟件系統的編寫,如圖5 所示。 (1)首先,我們通過配置以上介紹的寄存器來初始化系統時鐘和USB 傳輸模塊。 (2) 接下來分別通過配置BF533 的IAR0,IAR1,IAR2 寄存器來使能數據接收中斷。 (3) 通過配置相應寄存器來初始化SPORT0,SPORT1 以及DMA_SPORT0,DMA_SPORT1 (4)初始化完畢后,系統便開始采集語音,我們通過DMA 中斷,讀取采集到的一幀四通道語音數據,接著送入USB 輸出端,將該幀語音傳入PC 端進行后續處理。或者我們也可以在DSP 端實現一些降噪算法或者波束成型算法,完成語音的增強處理,將增強后的單通道語音信號送入后端進行后續的數據處理工作。 (5)在采集完畢后,我們等待下一次的中斷產生,進行下一幀的語音數據采集處理。 圖5 2.2 PC機平臺應用程序設計 PC 端接口程序采用VC++6.0 編寫,首先調用OpenDriver() 打開USB 接口設備, 獲得設備的句柄hDevice, 之后調用Sx2SendVendorReq() 函數向外設發出命令,讀取USB 配置,最后調用Sx2BulkdataTrans() 進行數據傳輸,通過調用CFile 類將接收到的數據存放在文本文件中。程序使用多線程技術,使得應用程序將USB 數據傳輸在后臺進行處理,應用程序前臺還可進行其他操作。 3 總結 本文介紹了一個基于MEMS 數字 MIC 陣列的語音采集系統,研究了該數字麥克風陣列與DSP 以及PC 端的連接方法,并探討了此系列數字信號麥克風與DSP 進行通訊的方法以及平臺軟件設計。經平臺電路評估與測試,本系統能實時同步采集4 路語音信號,并且將4路語音數據同步輸出到PC 端進行實時處理,構建了多通道語音增強系統的硬件條件,為后續算法開發和應用奠定了基礎,具有實用價值。 |