于增輝,黑勇,薛金勇,于伽,陳黎明,周玉梅
(中國科學(xué)院微電子研究所 專用集成電路與系統(tǒng)研究室,北京 100029)
數(shù)字助聽器因具有高精度、低噪聲、抗干擾、可控性好、算法靈活等優(yōu)點(diǎn),成為聽障患者康復(fù)的新希望.但是我國數(shù)字助聽器的研究遠(yuǎn)落后于國際先進(jìn)水平[1],目前國內(nèi)還沒有數(shù)字助聽器專用DSP流片成功的報(bào)道.
作為便攜式醫(yī)療電子設(shè)備,數(shù)字助聽器對(duì)功耗開銷有著極為嚴(yán)格的要求:整機(jī)功耗1 mW左右,其中數(shù)字部分一般小于500μW[2].聽力補(bǔ)償是數(shù)字助聽器中最重要的功能,通常采用多通道寬動(dòng)態(tài)范圍壓縮(WDRC)算法實(shí)現(xiàn)[3-7].但是該算法的增益計(jì)算需要在線性刻度和分貝刻度間來回轉(zhuǎn)換,涉及較多的非線性運(yùn)算(對(duì)數(shù)、指數(shù)),硬件實(shí)現(xiàn)時(shí)功耗開銷較大.關(guān)于簡化增益計(jì)算中的非線性運(yùn)算,文獻(xiàn)[8]給出了一種基于泰勒級(jí)數(shù)展開的近似計(jì)算方法.但是該方法在輸入信號(hào)范圍較寬時(shí),會(huì)引起較大的誤差.文獻(xiàn)[9]給出一種通過查表法簡化對(duì)數(shù)和指數(shù)運(yùn)算的方法,但是該方法仍然沒有避免分貝刻度和線性刻度的轉(zhuǎn)換,仍存在較多的運(yùn)算開銷.
由于WDRC增益計(jì)算所依據(jù)的信號(hào)聲壓級(jí)(SPL)檢測本身存在較大的波動(dòng)性和不準(zhǔn)確性,從而允許采用一定的近似方法來簡化運(yùn)算.據(jù)此提出一種多通道WDRC的低功耗硬件實(shí)現(xiàn)方法.該方法基于查表實(shí)現(xiàn)了輸入信號(hào)的平均能量和線性刻度的WDRC增益之間的直接映射,完全避免了指數(shù)和對(duì)數(shù)運(yùn)算.并且,所采用的表格區(qū)間劃分方法,使得查表誤差遠(yuǎn)小于SPL檢測本身的波動(dòng)和誤差;對(duì)查表結(jié)果進(jìn)行遞歸平滑,在較好的抑制增益波動(dòng)的同時(shí),可通過靈活調(diào)整平滑常數(shù)來滿足啟動(dòng)時(shí)間和釋放時(shí)間的要求.仿真結(jié)果表明,在啟動(dòng)時(shí)間、釋放時(shí)間相同的情況下,該方法得到的WDRC增益與直接計(jì)算的結(jié)果比較吻合,同時(shí)波動(dòng)較小.此外,因無需對(duì)WDRC的輸入輸出(I/O)曲線作分段線性的約束,該方法可用于多種形狀I(lǐng)/O曲線的配置,且不會(huì)增加控制復(fù)雜度以及存儲(chǔ)和計(jì)算開銷,相比文獻(xiàn)[8-9]給出的方法而言有較大的優(yōu)勢.
在SMIC的0.13μm工藝條件下,基于該方法,完成了數(shù)字助聽器DSP芯片中32通道WDRC模塊的低功耗VLSI設(shè)計(jì),并進(jìn)行了流片.
聽障患者的聽力損失一般表現(xiàn)為聽閾(人耳可感知的聲壓最小值)高于正常人,而痛閾(引起人耳痛覺的聲壓閾值)卻不比正常人高.并且,在不同的頻段上聽力損失也不同,往往是高頻部分的損失比較嚴(yán)重.聽覺區(qū)域(聽覺動(dòng)態(tài)范圍)是介于聽閾和痛閾之間的聲壓范圍[10].多通道WDRC算法,可在不同頻段上,有針對(duì)性地對(duì)輸入聲音進(jìn)行壓縮或者放大,將正常人聽覺動(dòng)態(tài)范圍內(nèi)的聲音,“映射”到聽障患者的聽覺動(dòng)態(tài)范圍內(nèi)[11],從而能有效的提高患者對(duì)語音的辨識(shí)度.
圖1和圖2分別給出了基于多通道WDRC聽力補(bǔ)償?shù)臄?shù)字助聽器系統(tǒng)結(jié)構(gòu)框圖和WDRC模塊的結(jié)構(gòu)圖[5].圖1中的分析、綜合濾波器組,分別實(shí)現(xiàn)對(duì)信號(hào)的多頻率通道分離與合成.
圖1 基于多通道WDRC的數(shù)字助聽器Fig.1 Digital hearing aid based on multi-channel WDRC
圖2 WDRC模塊結(jié)構(gòu)圖Fig.2 Structure of the WDRC module
多通道WDRC的特性通常用通道數(shù)、I/O曲線以及啟動(dòng)時(shí)間、釋放時(shí)間來描述.通道數(shù)反映了助聽器對(duì)聲音信號(hào)按頻段處理的細(xì)致程度.I/O曲線描述的是輸出與輸入信號(hào)SPL的關(guān)系.2種常見的分段線性的I/O曲線如圖3所示[2].啟動(dòng)時(shí)間和釋放時(shí)間描述的是WDRC對(duì)輸入信號(hào)能量發(fā)生變化時(shí)的反應(yīng)速度.對(duì)于常用的音節(jié)壓縮方式,啟動(dòng)時(shí)間和釋放時(shí)間一般分別取5~10ms和50~100ms[2,5,12].通常要求助聽器的I/O曲線和啟動(dòng)時(shí)間、釋放時(shí)間是可配置的,以滿足不同病人的需要.
圖3 常見WDRC聽力補(bǔ)償I/O曲線Fig.3 Common type of I/O curves for WDRC
下面具體說明多通道WDRC算法的實(shí)現(xiàn)流程.
1)輸入信號(hào)的 SPL 檢測[5].
首先計(jì)算輸入信號(hào)的平均能量p(n):
則聲壓級(jí)SPL為:
式中:n為時(shí)間幀標(biāo)號(hào),x(n)為輸入信號(hào)(省略了通道標(biāo)號(hào)),常數(shù)α和β用來調(diào)節(jié)啟動(dòng)時(shí)間和釋放時(shí)間.圖4給出了啟動(dòng)時(shí)間和釋放時(shí)間分別取為5 ms和75 ms時(shí),在輸入信號(hào)的2.5 kHz處SPL檢測的仿真結(jié)果.圖中縱坐標(biāo)為分貝刻度的信號(hào)瞬時(shí)能量和SPL檢測結(jié)果.
圖4 SPL檢測結(jié)果Fig.4 The SPL detection result
2)增益值gain計(jì)算.
WDRC的增益是根據(jù)輸入信號(hào)的SPL和對(duì)應(yīng)通道的I/O曲線計(jì)算得到.以圖3(a)為例,當(dāng)輸入信號(hào)的SPL小于th1時(shí),處于線性放大區(qū),增益為預(yù)先設(shè)定的固定值.當(dāng)th1≤SPL(n)<th2時(shí),處于壓縮區(qū),設(shè)該區(qū)的壓縮比為 CR,I/O曲線斜率k=1/CR,則分貝刻度的增益計(jì)算方法為[6]
若SPL(n)≥th2,則處于限幅區(qū),增益為:
由gdB(n)計(jì)算線性刻度的增益:
3)對(duì)輸入信號(hào)進(jìn)行壓縮/放大.
經(jīng)過WDRC后輸出的信號(hào)y(n)為
4)對(duì)每一個(gè)通道按照上述過程進(jìn)行處理,然后經(jīng)過綜合濾波器組合并為一路信號(hào),即得到聽力補(bǔ)償后的輸出.
根據(jù)上述實(shí)現(xiàn)過程,WDRC的增益計(jì)算需在分貝刻度和線性刻度間來回轉(zhuǎn)換,涉及較多對(duì)數(shù)和指數(shù)運(yùn)算,開銷很大.如何簡化或消除這些非線性運(yùn)算,是多通道WDRC低功耗硬件實(shí)現(xiàn)的關(guān)鍵.
根據(jù)文獻(xiàn)[2]以及上一節(jié)的仿真結(jié)果顯示,SPL檢測具有如下特點(diǎn):
1)通過選擇較長的啟動(dòng)/釋放時(shí)間可以減小SPL檢測結(jié)果的波動(dòng),但該波動(dòng)不可完全消除(如圖4的信號(hào)波峰處,SPL的波動(dòng)幅度達(dá)3 dB以上);
2)較長的釋放時(shí)間,使得在信號(hào)能量下降階段的SPL檢測結(jié)果明顯大于信號(hào)實(shí)際的SPL;
3)SPL的檢測結(jié)果隨啟動(dòng)時(shí)間和釋放時(shí)間設(shè)定的不同,也存在較大的變化.
上述特點(diǎn)造成SPL檢測結(jié)果必然存在較大的波動(dòng)性和不準(zhǔn)確性,依據(jù)該檢測結(jié)果對(duì)WDRC增益進(jìn)行完全精確的直接計(jì)算,是沒有必要的.在滿足啟動(dòng)時(shí)間、釋放時(shí)間要求,并且保證較小的計(jì)算誤差和增益波動(dòng)的前提下,可采用適當(dāng)?shù)暮喕?jì)算的方法.基于此,提出一種基于查表法計(jì)算WDRC增益的方法,完全避免了線性刻度和分貝刻度的轉(zhuǎn)換,從而徹底消除非線性運(yùn)算.具體如下:
1)按照SPL劃分表格區(qū)間.
首先,將助聽器每個(gè)通道輸入信號(hào)的SPL范圍(一般不大于120 dB)均分為64個(gè)區(qū)間,每個(gè)區(qū)間包含的SPL范圍小于2 dB.以區(qū)間中心的SPL值代表整個(gè)區(qū)間的SPL,則最大誤差小于1 dB,且該誤差遠(yuǎn)小于上文提到的SPL檢測結(jié)果大約3 dB的波動(dòng).
以每個(gè)區(qū)間中心的SPL值對(duì)應(yīng)的增益作為該區(qū)間的增益.預(yù)先根據(jù)患者的聽力補(bǔ)償I/O曲線將每一個(gè)通道的64個(gè)增益值計(jì)算出來,并作為表格參數(shù)存放在存儲(chǔ)器中,從而不占用硬件計(jì)算資源.
2)查找Leading位確定信號(hào)SPL所處區(qū)間.
在設(shè)計(jì)中采用的輸入輸出數(shù)據(jù)為16 bit(含1 bit符號(hào)位),平均能量p(n)以32 bit表示.這里p(n)的計(jì)算方法同式(1).為了查表方便,先將p(n)平方得p2(n),p2(n)為64 bit.則聲壓級(jí)SPL計(jì)算如下:
設(shè)p2(n)的Leading位(這里是最高非零位)是第 M 位,M=0,1,2,……63.則滿足
即:
則p2(n)對(duì)應(yīng)的SPL處于第M區(qū)間內(nèi).因此,可以用查找Leading位的方法(見圖5),由p2(n)直接確定信號(hào)的SPL所處區(qū)間,避免了對(duì)數(shù)運(yùn)算.同時(shí),查找Leading位操作本身的硬件和功耗開銷均很小.
圖5 查找Leading位Fig.5 The leading bit searching
3)查表求WDRC增益.
設(shè)通道標(biāo)號(hào)為k,則增益查表地址Alut為
式中:k=0,1,2……K -1,K 為通道總數(shù).實(shí)際上直接將M作為地址Alut的低6位,通道標(biāo)號(hào)k直接作為高位即可,從而無需加法運(yùn)算.
以此地址讀取增益參數(shù)存儲(chǔ)器,即可得到對(duì)應(yīng)的增益值glut(n).并且該增益值直接以線性刻度表示,避免了指數(shù)運(yùn)算.
4)增益平滑與啟動(dòng)/釋放時(shí)間調(diào)整.
增益值較大的波動(dòng)會(huì)造成失真,影響聽力補(bǔ)償后的音質(zhì)[2].因?yàn)樾盘?hào)的SPL檢測本身存在較大的誤差和波動(dòng),加上查表帶來的誤差,由上述過程所得到的增益值不可避免的存在波動(dòng).為了減少波動(dòng),采用下式對(duì)glut(n)進(jìn)行遞歸平滑,得到最終的增益:
式中:αg和βg是平滑常數(shù).該式除了可平滑增益,還可與式(1)一起調(diào)整啟動(dòng)時(shí)間和釋放時(shí)間.此時(shí),啟動(dòng)時(shí)間和釋放時(shí)間可通過靈活選擇αg、βg、α、β這4個(gè)平滑常數(shù)的值來調(diào)整.
5)通道組合減小存儲(chǔ)及計(jì)算開銷.
考慮到濾波器組的硬件實(shí)現(xiàn)復(fù)雜度和線性相位等方面的要求,目前的多通道處理一般采用等帶寬通道劃分方式.但由于人耳對(duì)聲音頻率的感知與頻率高低近似為對(duì)數(shù)關(guān)系[10],高頻部分無需在每個(gè)通道計(jì)算增益.因此,助聽器設(shè)計(jì)中常常在將高頻通道進(jìn)行組合后計(jì)算增益,降低參數(shù)存儲(chǔ)和增益計(jì)算的開銷[2].
高端數(shù)字助聽器的輸入采樣率一般為16 kHz,為了在低頻部分達(dá)到較細(xì)致的頻段劃分,設(shè)計(jì)中采用32通道劃分方案(K=32).同時(shí),采用將高頻通道按照倍頻程進(jìn)行組合的方式,將32個(gè)通道合并為10個(gè)頻帶,以每個(gè)頻帶內(nèi)各通道的總平均能量來查表計(jì)算該頻帶的WDRC增益.這樣存儲(chǔ)和計(jì)算開銷僅為通道組合前的10/32.
圖6(a)是在輸入信號(hào)2.5 kHz頻率處的SPL檢測結(jié)果,圖6(b)和(c)分別是對(duì)應(yīng)的按照直接計(jì)算法和所提出的方法仿真得到的WDRC增益.其中啟動(dòng)時(shí)間和釋放時(shí)間分別設(shè)置為5 ms和75 ms.由圖可見,采用所提出方法得到的增益和直接計(jì)算得到增益比較吻合,同時(shí)波動(dòng)也比較小.
圖6 增益計(jì)算仿真結(jié)果分析Fig.6 Simulation results analysis of gain computing
表1是采用所提出的低功耗硬件實(shí)現(xiàn)方法和文獻(xiàn)[9]給出的方法進(jìn)行一次WDRC增益計(jì)算(按照?qǐng)D3的分段線性I/O曲線),在運(yùn)算和存儲(chǔ)器讀寫方面的開銷比較(包含了增益平滑的開銷).所提出的方法無需對(duì)輸入信號(hào)的SPL所處的區(qū)段(線性區(qū)、壓縮區(qū)、限幅區(qū)等)進(jìn)行判斷,從而在所有SPL值情況下的開銷完全相同.從表1可以看到,在每個(gè)區(qū)段,該方法均比文獻(xiàn)[9]給出的方法開銷要小.
表1 所提出的方法與文獻(xiàn)[9]方法的開銷比較Table 1 Comparison of operating costs between the proposed method and the method in reference[9]
另外,直接計(jì)算法以及文獻(xiàn)[8]和[9]給出的實(shí)現(xiàn)方法,在計(jì)算增益時(shí),均需對(duì)I/O曲線作分段線性的約束,且分段越多,控制就越復(fù)雜,存儲(chǔ)和計(jì)算的開銷也越大.而所提出的方法,實(shí)現(xiàn)過程無需對(duì)I/O曲線作任何約束,從而除了圖3給出的I/O曲線外,該方法還可以用于非分段線性等多種形狀的I/O曲線配置,并且不會(huì)增加控制復(fù)雜度以及存儲(chǔ)和計(jì)算開銷.因此,在I/O曲線配置的靈活性方面,所提出的方法遠(yuǎn)比文獻(xiàn)[8]和[9]給出的方法有優(yōu)勢.
綜上,所提出的WDRC實(shí)現(xiàn)方法在確保較小的查表誤差和增益波動(dòng)的前提下,實(shí)現(xiàn)了輸入信號(hào)的平均能量和線性刻度的WDRC增益之間的直接映射,完全避免了非線性運(yùn)算,降低了總體計(jì)算開銷.而啟動(dòng)時(shí)間和釋放時(shí)間的要求,可以通過靈活調(diào)整α、β,αg、βg這4 個(gè)平滑常數(shù)來滿足.最后,相比文獻(xiàn)[8]和[9]給出的方法而言,該方法還具有I/O曲線配置比較靈活的優(yōu)勢.
所提出的多通道WDRC低功耗硬件實(shí)現(xiàn)的具體電路結(jié)構(gòu)以及與數(shù)字助聽器中其他主要模塊的連接如圖7所示,其中白線框內(nèi)的為多通道WDRC模塊.基于第2部分給出的低功耗實(shí)現(xiàn)方法進(jìn)行設(shè)計(jì),該模塊僅涉及乘法、加法、查找Leading位、存儲(chǔ)器讀寫等簡單的操作.
圖7 所提出的多通道WDRC硬件實(shí)現(xiàn)結(jié)構(gòu)圖Fig.7 The proposed hardware realization framework for multi-channel WDRC
圖7中計(jì)算p(n)以及遞歸平滑子模塊分別按照式(1)和(12)進(jìn)行,累加運(yùn)算實(shí)現(xiàn)對(duì)需要組合的通道的能量進(jìn)行累加.M0~M3為位寬和深度各不相同的存儲(chǔ)器,其中M2中的增益參數(shù),采用在系統(tǒng)上電瞬間由片外FLASH加載的方式實(shí)現(xiàn)配置.控制子模塊提供其余各個(gè)子模塊的操作時(shí)序控制信號(hào);地址產(chǎn)生及譯碼子模塊產(chǎn)生各存儲(chǔ)器的讀寫地址,因?yàn)椴捎猛ǖ澜M合后M3只有10個(gè)地址單元,設(shè)計(jì)中采用了開銷極小的譯碼電路實(shí)現(xiàn)地址范圍從0~31到0~9的轉(zhuǎn)換.
此外,數(shù)據(jù)從M0讀出直到增益gain寫入M3的處理過程,采用流水線的方式,減少了總體運(yùn)算時(shí)間的開銷,從而有助于降低系統(tǒng)時(shí)鐘頻率和時(shí)鐘樹的翻轉(zhuǎn)功耗.在此基礎(chǔ)上,利用Design Compiler綜合工具自動(dòng)插入時(shí)鐘門控,關(guān)斷不工作的子模塊,減少無用翻轉(zhuǎn),進(jìn)一步降低動(dòng)態(tài)功耗.
最后,基于上述方法,在SMIC的0.13μm工藝條件下完成了32通道WDRC模塊的低功耗VLSI設(shè)計(jì),并作為整個(gè)數(shù)字助聽器專用DSP芯片Aid101的一部分進(jìn)行了流片.圖8為Aid101芯片的版圖,其中白線框內(nèi)的是所設(shè)計(jì)的32通道WDRC模塊,該模塊的版圖面積為 0.45 ×0.55 mm2.
圖8 數(shù)字助聽器DSP芯片Aid101的版圖Fig.8 Layout of the digital hearing aid DSP Aid101
圖9為Aid101芯片的板級(jí)測試系統(tǒng).經(jīng)過測試,該系統(tǒng)能較好的實(shí)現(xiàn)數(shù)字助聽功能.圖10是多通道WDRC模塊的性能測試結(jié)果(顯示的是某時(shí)刻的頻譜分析).從聽力補(bǔ)償功能開啟與關(guān)閉狀態(tài)下的語音處理結(jié)果的頻譜曲線對(duì)比可知,該模塊能在不同的頻段根據(jù)聽力損失和SPL的不同,對(duì)信號(hào)能量進(jìn)行不同程度的補(bǔ)償,同時(shí)很好的保持了頻譜原有的形狀.最后,在1.3 V內(nèi)核工作電壓和2.3 MHz的系統(tǒng)工作頻率下,所設(shè)計(jì)的32通道WDRC聽力補(bǔ)償模塊的功耗僅為19.2μW.
圖9 Aid101芯片的PCB測試系統(tǒng)Fig.9 PCB testing system for Aid101
圖10 WDRC功能測試結(jié)果Fig.10 Testing result of WDRC
在分析了數(shù)字助聽器多通道WDRC算法中聲壓級(jí)檢測特點(diǎn)的基礎(chǔ)上,提出一種基于查表法的低功耗硬件實(shí)現(xiàn)方法.
1)該方法實(shí)現(xiàn)了輸入信號(hào)的平均能量和線性刻度的WDRC增益之間的直接映射,同時(shí)采用合適的表格區(qū)間劃分和對(duì)查表結(jié)果進(jìn)行遞歸平滑的方法,可以保證較小的查表誤差和較小的增益波動(dòng).與中已有方法相比,該方法完全避免了非線性運(yùn)算,在計(jì)算開銷方面優(yōu)勢明顯;另外,在不增加控制復(fù)雜度以及存儲(chǔ)和計(jì)算開銷的前提下,可實(shí)現(xiàn)比較靈活的I/O曲線配置.
2)由于每個(gè)通道需要存儲(chǔ)64個(gè)增益參數(shù),盡管可以采用通道組合的方法,但是仍需要較多的存儲(chǔ)器開銷,這是該方法的一個(gè)主要缺點(diǎn).
3)在SMIC的0.13μm工藝條件下,基于該實(shí)現(xiàn)方法,完成了數(shù)字助聽器 DSP芯片中32通道WDRC模塊的低功耗VLSI設(shè)計(jì),并進(jìn)行了流片.實(shí)測結(jié)果表明,該模塊能很好地實(shí)現(xiàn)聽力補(bǔ)償?shù)墓δ埽⑶艺9ぷ鞯墓膬H為19.2μW.現(xiàn)[D].北京:清華大學(xué),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]翁海波.雙麥克風(fēng)輸入的數(shù)字助聽算法研究與嵌入式實(shí)
[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,F(xiàn)RANK 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,F(xiàn)rance,2010.
[10]王青云,趙力,趙立業(yè),等.一種數(shù)字助聽器多通道響度補(bǔ)償方法[J].電子與信息學(xué)報(bào),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.