《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 人工耳蝸言語處理系統(tǒng)的CIS算法設計與實現
人工耳蝸言語處理系統(tǒng)的CIS算法設計與實現
來源:電子技術應用2012年第11期
吳 震,王 常,張榮芬,方 波,鄧朝勇
貴州大學 理學院 貴州省微納電子與軟件技術重點實驗室,貴州 貴陽550025
摘要: 采用雙麥克風工作模式提高語音采集效果。為解決傳統(tǒng)CIS算法在信噪比低的情況下語音識別率差的問題,在CIS算法設計前端增加了基于LMS算法的自適應濾波器。通過Matlab仿真,語音中的噪聲得到很大程度上消除。為了降低運算量、減少硬件資源和功耗,通過FFT運算在頻域實現帶通濾波功能。在硬件實現中,與刺激芯片聯合仿真,刺激幅度與刺激時間均滿足要求。
中圖分類號: TN432
文獻標識碼: A
文章編號: 0258-7998(2012)11-0062-04
Design and implementation of cochlear implants′ speech signal processing system based on CIS algorithm
Wu Zhen,Wang Chang,Zhang Rongfen,Fang Bo,Deng Chaoyong
Key Lab of Micro-Nano Electronics and Software Technology, College of Science, Guizhou University, Guiyang 550025,China
Abstract: Double microphone working mode to improve speech acquisition effects is put forword in this paper. In order to solve the problem of that the traditional CIS algorithm is difficult to get a good rate of speech recognition under the low signal-to-noise ratio envirment, an adaptive filter based on LMS algorithm is designed in front of CIS portion. Through Matlab simulation, the noise in the voice is largely eliminated. In addition, in order to reduce the amount of computation,hardwire resoures and power waste, band pass filter is realized by FFT operation. In hardwire, the stimulus amplitude and stimulus duration meet the requirements in the stimulation with stimulating chip.
Key words : cochlear implant;CIS algorithm;adaptive filter;FFT;FPGA

    人工耳蝸是一種植入式的聽覺輔助設備,是目前唯一可以使全聾患者恢復聽覺的電子設備,它可以代替患者把聲音信號轉變?yōu)殡娦盘朳1],電信號經過相應處理,根據耳蝸對不同頻率的感知需求去刺激聽覺神經。目前,大部分人工耳蝸是基于通用DSP系統(tǒng)實現的,功耗較大,對電池的要求非常高。另外也有用模擬電路實現的,功耗低,但面積大,算法中的參數不具有可編程性,對患者的應用面窄,多數停留在試驗階段。本文采用雙麥克風工作模式,在加入噪聲處理模塊[2]的基礎上,基于FFT運算設計了一個資源占用少、效率高的CIS算法模塊[3],同時設計了完整的測試系統(tǒng),完成聲音采集、處理、刺激脈沖輸出全部功能驗證。

1 CIS算法
    連續(xù)交替取樣語音處理方案CIS(Continuous Interleaved Sampling)[4]是美國學者Wilson于1991年提出的對壓縮模擬法的改進方案,它使用非同時交替脈沖來避免各語音通道間的相互影響,其原理如圖1所示。語音信號預加重后由一組帶通濾波器分為4~8個通道,每個通道經過全波整流、低通濾波可以得到各通道的包絡信號;再用對數或平方律壓縮到適當的動態(tài)范圍;最后,由一組時間上交替的雙相脈沖序列調制對應的包絡信號,從而獲得各電極的刺激脈沖。CIS方案通過利用交替的刺激脈沖,有效地克服了通道之間的相互干擾;同時,對每一個通道而言,它還具有相對較高的刺激速率,因為相鄰通道間的脈沖時延很小,可以達到較高的刺激速率,CIS方案能更好地跟蹤語音信號的細節(jié)變化。國外主要的人工耳蝸產品均采用該方案。

2 耳蝸系統(tǒng)工作原理
    本文采用雙麥克風模式進行工作[5],兩個麥克風加減后的數據分別送給自適應濾波器模塊的主通道和參考通道。一方面兩個麥克風把采集進來的數據送入FPGA語音處理模塊,另一方面輸出到SD卡上。3.3 V可充電鋰電池作為電源,電源管理模塊采用Sipex公司的SPX1117低壓差穩(wěn)壓器把調節(jié)后的3.3 V電壓供給刺激芯片、麥克風、FPGA模塊及SD卡模塊。FPGA模塊接收采集進來的數字信號,進行語音處理,并將處理后的結果依照刺激芯片要求的數據幀格式順序發(fā)送給刺激芯片,刺激芯片通過電極陣列產生一系列的刺激脈沖。耳蝸系統(tǒng)框圖如圖2所示。

3 雙麥克風系統(tǒng)
    麥克風采用AD公司 ADMP421微型數字麥克風。ADMP421是一款高性能、低功耗、數字輸出、底部收音式全向MEMS麥克風。根據人工耳蝸系統(tǒng)特點,該麥克風非常適合本系統(tǒng)。根據語音傳輸特點和自適應濾波器性能要求,選取兩個麥克風間距為9.8 mm。通過FPGA模塊中I2S電路與SD卡模塊對麥克風的控制,實現聲音采集與存儲功能。利用TI公司TLVAIC23音頻芯片進行聲音回放驗證,音頻芯片控制模塊主要對AIC23進行正確配置,ROM中存儲配置數據。AIC23的數字數據端口作為輸入端輸入麥克風采集的數據,通過LINEOUT端口輸出,實現了聲音的正確回放。
4 FPGA模塊
4.1 語音處理模塊基本功能

    麥克風采集進來的語音數據用FIFO進行分幀處理。由于語音信號具有短時穩(wěn)定性(約為10 ms~30 ms),又因為后面在頻域上進行頻帶劃分濾波,所以幀長取為256,既滿足語音信號的短時平穩(wěn)性,又利于后面的FFT計算。采集的兩路語音信號通過ANC(自適應濾波器模塊)去噪,然后把去噪后的語音信號做256點的FFT,并在各個通道上進行分頻,并求出各個通道上的平均能量,最后進行非線性壓縮,壓縮后的信號順序輸出到后面的刺激芯片。FPGA模塊結構圖如圖3所示。


    該去噪模塊每19個時鐘周期處理一個數據,并且在這19個時鐘周期中對自適應濾波器6個系數進行更新。本設計采用高斯白噪聲為測試噪聲。自適應濾波器的Matlab與Verilog仿真圖如圖4所示。

4.3 FFT模塊
    FFT模塊采用基于WAFT16的級聯結構實現,主要由RAM、16點FFT模塊(FFT16)、截位處理模塊(Cnorm)構成。DR、DI分別代表實步數據與虛步數據,en為使能端,start為開始信號。為了進行數據的實時處理,此處采用兩個深度為256的RAM做乒乓操作,當ANC寫上面的RAM時,FFT16模塊讀取下面一個RAM的數據,反之亦然。為解決FFT運算溢出問題,FFT16模塊后面增加了截位處理模塊(Cnorm),完成16點FFT計算后,直接截掉低2位。旋轉因子存儲在ROM中,需要時直接進行ROM尋址。另外,此處采用順序輸入、倒序輸出的策略,即輸出時按0、16、32、48...的順序進行輸出。其Verilog實現后的仿真示意圖如圖5所示。

4.4 求各通道平均能量
    該模塊主要是根據已有的通道頻帶劃分進行各通道的能量計算,本系統(tǒng)采用8通道,其頻帶劃分如下:
    wn(1)=[51 400];        wn(2)=[400 630];
    wn(3)=[630 920];        wn(4)=[920 1 270];
    wn(5)=[1 270 1 720];    wn(6)=[1 720 2 700];
    wn(7)=[2 700 3 700];    wn(8)=[3 700 5 500];
    因為做FFT運算后的輸出數據為復數,所以需要求模運算(即開平方運算)。本系統(tǒng)采用非冗余的循環(huán)算法[7]進行開平方運算,用簡單的加減移位操作實現開平方運算,而且處理一個數據只需要N/2個時鐘周期。由于FFT模塊的輸出數據為20 bit,故每隔10個時鐘周期才能實現一次開平方運算;又因為ANC是每隔19個周期才輸出一個數據,所以每隔19個周期刷新或者復位一次開平方運算模塊,并且在每次復位后的第10個周期有開平方運算輸出。為了聯系后續(xù)模塊,采用valid信號控制開平方運算模塊的輸出,只有valid=1時,輸出才有效。其Verilog仿真的時序圖如圖6所示。

4.5 非線性壓縮與通道數據轉換格式模塊
    壓縮模塊是基于y=x^0.2冪函數實現的,其中x為16 bit無符號數。由于壓縮模塊的輸入數據非常小,所以采用線性近似法實現冪函數。經計算,13條近似直線就能保證壓縮模塊輸出誤差在4%以內。通道數據格式轉換模塊主要實現壓縮通道的數據與刺激芯片幀格式相匹配。因為刺激芯片需要12 bit能量數據,而壓縮后的8通道數據均為16 bit,通過Matlab可知,所有數據高4位為零,所以取低12位數據,并且按串行數據輸出格式輸出。
4.6 FPGA模塊結果分析
    以上模塊結構都采用Q15的數據格式進行可綜合的Verilog HDL描述,并在Xilinx Spantan6系列FPGA上實現,資源占用情況為:整個系統(tǒng)占用5 014個slice,時序上整個系統(tǒng)的處理速度主要由自適應濾波器模塊決定。用ModelSim進行功能仿真后,將仿真結果數據導入Matlab并與Matlab下的處理結果進行對比,最后各通道進行數據壓縮后的結果對比如圖7所示。

 

 

    由圖7可以看出定點運算和浮點運算的結果十分吻合,其誤差最大不超過6.5%。
5 耳蝸系統(tǒng)聯合仿真
    采用經流片驗證后的刺激芯片[8]進行聯合仿真。根據耳蝸系統(tǒng)要求制作PCB版圖(包括核心板與底板)。核心板主要包括FPGA、電池和數據采集模塊(SD卡);底板主要包括麥克風、電源管理模塊和刺激芯片模塊,如圖8所示。焊接芯片進行了系統(tǒng)聯合仿真,通過示波器觀察刺激芯片指定通道的刺激波形如圖9所示。經計算一個脈沖刺激時間為26 ?滋s,刺激幅度為784 mV,與預期值相符。

    本文完整地實現了耳蝸系統(tǒng)的設計與測試,詳細論述了基于頻域濾波CIS算法的設計與實現過程,在CIS算法的基礎上,增加了自適應去噪模塊,很好地濾除掉混在語音信號中的噪聲。另外,還可以加入超低功耗的MCU,根據不同的患者,對CIS算法中的可編程參數進行控制,以克服模擬電路在參數可編程性方面的缺點。在時序與誤差方面滿足目前醫(yī)療電子領域對語音處理的要求。該語音處理模塊移植性良好,為實現專用集成電路提供了可靠依據,且為進一步研究人工耳蝸系統(tǒng)提供了有效的應用平臺。
參考文獻
[1] Luo Xin,Fu Qianjie.Speaker normalization for Chinnese  vowel recognition in cochlear implant[J].IEEE Transactions on Biomedical Engineering,2005,52(7):1358-1361.
[2] HU Y,LOIZOU P.Environment specific noise suppression  for improved speech intelligibility by cochlear implants users[J].The Journal of the Acoustical Society of America,2010,127(6):3689-3695.
[3] Zeng Fangang.Trend in cochlear implants[J].Thends in Amplification,2004,8(1):1-34.
[4] LOIZOU P C.Signal-processing techniques for cochlear implants[J].IEEE EMBS,1999,18(3):34-36.
[5] SPRIET A,DEUN L V,EFTAXIADIS K,et al.Speech understanding in background noise with the two-microphone  adaptive beamformer BEAM in the nucleus freedom cochlear implant system[J].Ear & Hearing,2007,28(1):62-72.
[6] 高鷹,謝勝利.一種可變步長LMS自適應濾波算法及分析[J].電子學報,2001,29(8):1094-1097.
[7] PIROMSOPA K,APORNTEWAN C,CHONGSATITVATANA P.An FPGA implementation of a fixed-point square root operation[C].Chiang Mai,Thatlard:ISCIT 2001,2001:587-589.
[8] 王志軍,張春,賈晨.人工耳蝸專用植入刺激芯片設計[J]. 半導體技術,2009,34(4):389-391.

此內容為AET網站原創(chuàng),未經授權禁止轉載。