于增輝,黑勇,薛金勇,于伽,陳黎明,周玉梅
(中國科學院微電子研究所 專用集成電路與系統研究室,北京 100029)
數字助聽器因具有高精度、低噪聲、抗干擾、可控性好、算法靈活等優點,成為聽障患者康復的新希望.但是我國數字助聽器的研究遠落后于國際先進水平[1],目前國內還沒有數字助聽器專用DSP流片成功的報道.
作為便攜式醫療電子設備,數字助聽器對功耗開銷有著極為嚴格的要求:整機功耗1 mW左右,其中數字部分一般小于500μW[2].聽力補償是數字助聽器中最重要的功能,通常采用多通道寬動態范圍壓縮(WDRC)算法實現[3-7].但是該算法的增益計算需要在線性刻度和分貝刻度間來回轉換,涉及較多的非線性運算(對數、指數),硬件實現時功耗開銷較大.關于簡化增益計算中的非線性運算,文獻[8]給出了一種基于泰勒級數展開的近似計算方法.但是該方法在輸入信號范圍較寬時,會引起較大的誤差.文獻[9]給出一種通過查表法簡化對數和指數運算的方法,但是該方法仍然沒有避免分貝刻度和線性刻度的轉換,仍存在較多的運算開銷.
由于WDRC增益計算所依據的信號聲壓級(SPL)檢測本身存在較大的波動性和不準確性,從而允許采用一定的近似方法來簡化運算.據此提出一種多通道WDRC的低功耗硬件實現方法.該方法基于查表實現了輸入信號的平均能量和線性刻度的WDRC增益之間的直接映射,完全避免了指數和對數運算.并且,所采用的表格區間劃分方法,使得查表誤差遠小于SPL檢測本身的波動和誤差;對查表結果進行遞歸平滑,在較好的抑制增益波動的同時,可通過靈活調整平滑常數來滿足啟動時間和釋放時間的要求.仿真結果表明,在啟動時間、釋放時間相同的情況下,該方法得到的WDRC增益與直接計算的結果比較吻合,同時波動較小.此外,因無需對WDRC的輸入輸出(I/O)曲線作分段線性的約束,該方法可用于多種形狀I/O曲線的配置,且不會增加控制復雜度以及存儲和計算開銷,相比文獻[8-9]給出的方法而言有較大的優勢.
在SMIC的0.13μm工藝條件下,基于該方法,完成了數字助聽器DSP芯片中32通道WDRC模塊的低功耗VLSI設計,并進行了流片.
聽障患者的聽力損失一般表現為聽閾(人耳可感知的聲壓最小值)高于正常人,而痛閾(引起人耳痛覺的聲壓閾值)卻不比正常人高.并且,在不同的頻段上聽力損失也不同,往往是高頻部分的損失比較嚴重.聽覺區域(聽覺動態范圍)是介于聽閾和痛閾之間的聲壓范圍[10].多通道WDRC算法,可在不同頻段上,有針對性地對輸入聲音進行壓縮或者放大,將正常人聽覺動態范圍內的聲音,“映射”到聽障患者的聽覺動態范圍內[11],從而能有效的提高患者對語音的辨識度.
圖1和圖2分別給出了基于多通道WDRC聽力補償的數字助聽器系統結構框圖和WDRC模塊的結構圖[5].圖1中的分析、綜合濾波器組,分別實現對信號的多頻率通道分離與合成.

圖1 基于多通道WDRC的數字助聽器Fig.1 Digital hearing aid based on multi-channel WDRC

圖2 WDRC模塊結構圖Fig.2 Structure of the WDRC module
多通道WDRC的特性通常用通道數、I/O曲線以及啟動時間、釋放時間來描述.通道數反映了助聽器對聲音信號按頻段處理的細致程度.I/O曲線描述的是輸出與輸入信號SPL的關系.2種常見的分段線性的I/O曲線如圖3所示[2].啟動時間和釋放時間描述的是WDRC對輸入信號能量發生變化時的反應速度.對于常用的音節壓縮方式,啟動時間和釋放時間一般分別取5~10ms和50~100ms[2,5,12].通常要求助聽器的I/O曲線和啟動時間、釋放時間是可配置的,以滿足不同病人的需要.

圖3 常見WDRC聽力補償I/O曲線Fig.3 Common type of I/O curves for WDRC
下面具體說明多通道WDRC算法的實現流程.
1)輸入信號的 SPL 檢測[5].
首先計算輸入信號的平均能量p(n):

則聲壓級SPL為:

式中:n為時間幀標號,x(n)為輸入信號(省略了通道標號),常數α和β用來調節啟動時間和釋放時間.圖4給出了啟動時間和釋放時間分別取為5 ms和75 ms時,在輸入信號的2.5 kHz處SPL檢測的仿真結果.圖中縱坐標為分貝刻度的信號瞬時能量和SPL檢測結果.

圖4 SPL檢測結果Fig.4 The SPL detection result
2)增益值gain計算.
WDRC的增益是根據輸入信號的SPL和對應通道的I/O曲線計算得到.以圖3(a)為例,當輸入信號的SPL小于th1時,處于線性放大區,增益為預先設定的固定值.當th1≤SPL(n)<th2時,處于壓縮區,設該區的壓縮比為 CR,I/O曲線斜率k=1/CR,則分貝刻度的增益計算方法為[6]

若SPL(n)≥th2,則處于限幅區,增益為:

由gdB(n)計算線性刻度的增益:

3)對輸入信號進行壓縮/放大.
經過WDRC后輸出的信號y(n)為

4)對每一個通道按照上述過程進行處理,然后經過綜合濾波器組合并為一路信號,即得到聽力補償后的輸出.
根據上述實現過程,WDRC的增益計算需在分貝刻度和線性刻度間來回轉換,涉及較多對數和指數運算,開銷很大.如何簡化或消除這些非線性運算,是多通道WDRC低功耗硬件實現的關鍵.
根據文獻[2]以及上一節的仿真結果顯示,SPL檢測具有如下特點:
1)通過選擇較長的啟動/釋放時間可以減小SPL檢測結果的波動,但該波動不可完全消除(如圖4的信號波峰處,SPL的波動幅度達3 dB以上);
2)較長的釋放時間,使得在信號能量下降階段的SPL檢測結果明顯大于信號實際的SPL;
3)SPL的檢測結果隨啟動時間和釋放時間設定的不同,也存在較大的變化.
上述特點造成SPL檢測結果必然存在較大的波動性和不準確性,依據該檢測結果對WDRC增益進行完全精確的直接計算,是沒有必要的.在滿足啟動時間、釋放時間要求,并且保證較小的計算誤差和增益波動的前提下,可采用適當的簡化計算的方法.基于此,提出一種基于查表法計算WDRC增益的方法,完全避免了線性刻度和分貝刻度的轉換,從而徹底消除非線性運算.具體如下:
1)按照SPL劃分表格區間.
首先,將助聽器每個通道輸入信號的SPL范圍(一般不大于120 dB)均分為64個區間,每個區間包含的SPL范圍小于2 dB.以區間中心的SPL值代表整個區間的SPL,則最大誤差小于1 dB,且該誤差遠小于上文提到的SPL檢測結果大約3 dB的波動.
以每個區間中心的SPL值對應的增益作為該區間的增益.預先根據患者的聽力補償I/O曲線將每一個通道的64個增益值計算出來,并作為表格參數存放在存儲器中,從而不占用硬件計算資源.
2)查找Leading位確定信號SPL所處區間.
在設計中采用的輸入輸出數據為16 bit(含1 bit符號位),平均能量p(n)以32 bit表示.這里p(n)的計算方法同式(1).為了查表方便,先將p(n)平方得p2(n),p2(n)為64 bit.則聲壓級SPL計算如下:

設p2(n)的Leading位(這里是最高非零位)是第 M 位,M=0,1,2,……63.則滿足

即:

則p2(n)對應的SPL處于第M區間內.因此,可以用查找Leading位的方法(見圖5),由p2(n)直接確定信號的SPL所處區間,避免了對數運算.同時,查找Leading位操作本身的硬件和功耗開銷均很小.

圖5 查找Leading位Fig.5 The leading bit searching
3)查表求WDRC增益.
設通道標號為k,則增益查表地址Alut為

式中:k=0,1,2……K -1,K 為通道總數.實際上直接將M作為地址Alut的低6位,通道標號k直接作為高位即可,從而無需加法運算.
以此地址讀取增益參數存儲器,即可得到對應的增益值glut(n).并且該增益值直接以線性刻度表示,避免了指數運算.
4)增益平滑與啟動/釋放時間調整.
增益值較大的波動會造成失真,影響聽力補償后的音質[2].因為信號的SPL檢測本身存在較大的誤差和波動,加上查表帶來的誤差,由上述過程所得到的增益值不可避免的存在波動.為了減少波動,采用下式對glut(n)進行遞歸平滑,得到最終的增益:

式中:αg和βg是平滑常數.該式除了可平滑增益,還可與式(1)一起調整啟動時間和釋放時間.此時,啟動時間和釋放時間可通過靈活選擇αg、βg、α、β這4個平滑常數的值來調整.
5)通道組合減小存儲及計算開銷.
考慮到濾波器組的硬件實現復雜度和線性相位等方面的要求,目前的多通道處理一般采用等帶寬通道劃分方式.但由于人耳對聲音頻率的感知與頻率高低近似為對數關系[10],高頻部分無需在每個通道計算增益.因此,助聽器設計中常常在將高頻通道進行組合后計算增益,降低參數存儲和增益計算的開銷[2].
高端數字助聽器的輸入采樣率一般為16 kHz,為了在低頻部分達到較細致的頻段劃分,設計中采用32通道劃分方案(K=32).同時,采用將高頻通道按照倍頻程進行組合的方式,將32個通道合并為10個頻帶,以每個頻帶內各通道的總平均能量來查表計算該頻帶的WDRC增益.這樣存儲和計算開銷僅為通道組合前的10/32.
圖6(a)是在輸入信號2.5 kHz頻率處的SPL檢測結果,圖6(b)和(c)分別是對應的按照直接計算法和所提出的方法仿真得到的WDRC增益.其中啟動時間和釋放時間分別設置為5 ms和75 ms.由圖可見,采用所提出方法得到的增益和直接計算得到增益比較吻合,同時波動也比較小.

圖6 增益計算仿真結果分析Fig.6 Simulation results analysis of gain computing
表1是采用所提出的低功耗硬件實現方法和文獻[9]給出的方法進行一次WDRC增益計算(按照圖3的分段線性I/O曲線),在運算和存儲器讀寫方面的開銷比較(包含了增益平滑的開銷).所提出的方法無需對輸入信號的SPL所處的區段(線性區、壓縮區、限幅區等)進行判斷,從而在所有SPL值情況下的開銷完全相同.從表1可以看到,在每個區段,該方法均比文獻[9]給出的方法開銷要小.

表1 所提出的方法與文獻[9]方法的開銷比較Table 1 Comparison of operating costs between the proposed method and the method in reference[9]
另外,直接計算法以及文獻[8]和[9]給出的實現方法,在計算增益時,均需對I/O曲線作分段線性的約束,且分段越多,控制就越復雜,存儲和計算的開銷也越大.而所提出的方法,實現過程無需對I/O曲線作任何約束,從而除了圖3給出的I/O曲線外,該方法還可以用于非分段線性等多種形狀的I/O曲線配置,并且不會增加控制復雜度以及存儲和計算開銷.因此,在I/O曲線配置的靈活性方面,所提出的方法遠比文獻[8]和[9]給出的方法有優勢.
綜上,所提出的WDRC實現方法在確保較小的查表誤差和增益波動的前提下,實現了輸入信號的平均能量和線性刻度的WDRC增益之間的直接映射,完全避免了非線性運算,降低了總體計算開銷.而啟動時間和釋放時間的要求,可以通過靈活調整α、β,αg、βg這4 個平滑常數來滿足.最后,相比文獻[8]和[9]給出的方法而言,該方法還具有I/O曲線配置比較靈活的優勢.
所提出的多通道WDRC低功耗硬件實現的具體電路結構以及與數字助聽器中其他主要模塊的連接如圖7所示,其中白線框內的為多通道WDRC模塊.基于第2部分給出的低功耗實現方法進行設計,該模塊僅涉及乘法、加法、查找Leading位、存儲器讀寫等簡單的操作.

圖7 所提出的多通道WDRC硬件實現結構圖Fig.7 The proposed hardware realization framework for multi-channel WDRC
圖7中計算p(n)以及遞歸平滑子模塊分別按照式(1)和(12)進行,累加運算實現對需要組合的通道的能量進行累加.M0~M3為位寬和深度各不相同的存儲器,其中M2中的增益參數,采用在系統上電瞬間由片外FLASH加載的方式實現配置.控制子模塊提供其余各個子模塊的操作時序控制信號;地址產生及譯碼子模塊產生各存儲器的讀寫地址,因為采用通道組合后M3只有10個地址單元,設計中采用了開銷極小的譯碼電路實現地址范圍從0~31到0~9的轉換.
此外,數據從M0讀出直到增益gain寫入M3的處理過程,采用流水線的方式,減少了總體運算時間的開銷,從而有助于降低系統時鐘頻率和時鐘樹的翻轉功耗.在此基礎上,利用Design Compiler綜合工具自動插入時鐘門控,關斷不工作的子模塊,減少無用翻轉,進一步降低動態功耗.
最后,基于上述方法,在SMIC的0.13μm工藝條件下完成了32通道WDRC模塊的低功耗VLSI設計,并作為整個數字助聽器專用DSP芯片Aid101的一部分進行了流片.圖8為Aid101芯片的版圖,其中白線框內的是所設計的32通道WDRC模塊,該模塊的版圖面積為 0.45 ×0.55 mm2.

圖8 數字助聽器DSP芯片Aid101的版圖Fig.8 Layout of the digital hearing aid DSP Aid101
圖9為Aid101芯片的板級測試系統.經過測試,該系統能較好的實現數字助聽功能.圖10是多通道WDRC模塊的性能測試結果(顯示的是某時刻的頻譜分析).從聽力補償功能開啟與關閉狀態下的語音處理結果的頻譜曲線對比可知,該模塊能在不同的頻段根據聽力損失和SPL的不同,對信號能量進行不同程度的補償,同時很好的保持了頻譜原有的形狀.最后,在1.3 V內核工作電壓和2.3 MHz的系統工作頻率下,所設計的32通道WDRC聽力補償模塊的功耗僅為19.2μW.

圖9 Aid101芯片的PCB測試系統Fig.9 PCB testing system for Aid101

圖10 WDRC功能測試結果Fig.10 Testing result of WDRC
在分析了數字助聽器多通道WDRC算法中聲壓級檢測特點的基礎上,提出一種基于查表法的低功耗硬件實現方法.
1)該方法實現了輸入信號的平均能量和線性刻度的WDRC增益之間的直接映射,同時采用合適的表格區間劃分和對查表結果進行遞歸平滑的方法,可以保證較小的查表誤差和較小的增益波動.與中已有方法相比,該方法完全避免了非線性運算,在計算開銷方面優勢明顯;另外,在不增加控制復雜度以及存儲和計算開銷的前提下,可實現比較靈活的I/O曲線配置.
2)由于每個通道需要存儲64個增益參數,盡管可以采用通道組合的方法,但是仍需要較多的存儲器開銷,這是該方法的一個主要缺點.
3)在SMIC的0.13μm工藝條件下,基于該實現方法,完成了數字助聽器 DSP芯片中32通道WDRC模塊的低功耗VLSI設計,并進行了流片.實測結果表明,該模塊能很好地實現聽力補償的功能,并且正常工作的功耗僅為19.2μW.現[D].北京:清華大學,2010:1-18.WENG Haibo.Study on digital hearing aid algorithm with dual microphone inputs and its embedded implementation[D].Beijing:Tsinghua University,2010:1-18.
[1]翁海波.雙麥克風輸入的數字助聽算法研究與嵌入式實
[2]JAMESM K.Digital hearing aids[M].Oxfordshire:Plural Publishing,2008:1-16,221-262.
[3]WILILIAM E Y,CHRISTINA M R,HELEN J S,et al.Acclimatization in wide dynamic range multichannel compression and linear amplication hearing aids[J].Journal of Rehabilitation Research & Development,2006,43(4):517-536.
[4]GARININ.Compression techniques for digital hearing aids[D].Patras:University of Patras,2009:1-19.
[5]KUO Yu,LIN Tayi,CHANGW.Complexity-effective auditory compensation for digital hearing aids[C]//IEEE International Symposium on Circuits and Systems(ISCAS).Washington DC,USA,2008:1472-1475.
[6]KIM N,SIMON D,ANN S,et al.An integrated approach for noise reduction and dynamic range compression in hearing aids[C]//16th European Signal Processing Conference(EUSIPCO).Lausanne,Switzerland,2008.
[7]WEI Chengwen,KUO Yuting,CHANG Kuochiang,et al.A low-power mandarin-specific hearing aid chip[C]//IEEE Asian Solid-State Circuits Conference. Beijing,China,2010.
[8]NEERAJM,SANMATIK,FRANK L,et al.Development and fixed-point implementation of a multiband dynamic range compression(MDRC)algorithm[C]//Proc ACSSC.Pacific Grove,California,USA,2000.
[9]CHANG K,KUO Y,LIN T,et al.Complexity-effective dynamic range compression for digital hearing aids[C]//IEEE International Symposium on Circuits and Systems(ISCAS).Paris,France,2010.
[10]王青云,趙力,趙立業,等.一種數字助聽器多通道響度補償方法[J].電子與信息學報,2009,31(4):832-835.WANG Qingyun,ZHAO Li,ZHAO Liye,et al.A multichannel loudness compensation method for digital hearing aids[J].Journal of Electronics& Information Technology,2009,31(4):832-835.
[11]BRIAN D P.Dynamic compression in a hearing aid[P].USA:US 7305100 B2,2007.
[12]SHIL F.Effect of dynamic compression characteristics on aided perception of reverberant speech[D].Syracuse:Syracuse University,2006:1-114.