為提高強噪聲環境下電子耳蝸的語音質量,改善電子耳蝸使用者的聽覺感知力,本文構建了一個用于電子耳蝸前端的語音增強系統。該系統以數字信號處理(DSP)為核心,利用其多通道緩沖串口(McBSP),并結合音頻擴展芯片TLV320AIC10,實現語音信號的高速采集及輸出。針對傳統語音增強技術適應性差、收斂速度慢、穩態誤差大等問題,本文利用箕舌線函數與解相關原理對現有自適應濾波算法做了改進,有效增強了語音通信的質量。實驗結果證實了該系統穩定性強,算法降噪性能好,能為耳聾或耳鳴患者提供清晰的語音信號。
引用本文: 王瑜琳, 田學隆. 一種改進的電子耳蝸語音增強算法及其數字信號處理實現. 生物醫學工程學雜志, 2014, 31(4): 742-746,754. doi: 10.7507/1001-5515.20140138 復制
引言
電子耳蝸是一種利用電刺激的方法來實現聲音信號到電信號的轉換,從而幫助重度或以上耳聾患者恢復部分聽覺的電子裝置。目前該技術已經取得了較好的效果,一些成熟的電子耳蝸產品也已進入實用階段。然而由于電子耳蝸工作時僅僅依靠幾個包含某一頻率語音信號的電極刺激聽覺神經外周纖維來合成語音,使得由電子耳蝸誘發的聽覺與正常人的聽覺存在著一定的差異。更重要的是,當周圍環境噪聲的強度增加時,電子耳蝸的語音質量會急劇降低。因此研究如何在強噪聲環境下,提高電子耳蝸的抗噪性能便顯得尤為重要[1]。針對這一問題,需要設計一種用于電子耳蝸前端處理的語音增強系統,對帶噪語音信號進行降噪預處理,使進入內耳的特征信號包含更多有用的聲音信號,讓刺激電極重構出清晰、純凈的語音。
自適應濾波[2]是一種簡單有效的語音增強算法,可在信號統計特性未知或系統變化的情況下,自動跟蹤輸入信號的變化,并不斷調整自身參數,來達到最佳的降噪效果。與早期譜減法相比,該方法可有效避免譜減技術[3]因對背景噪聲估計不準確而產生較大殘留噪聲的問題。憑借其簡單且易于實現的特點,自適應濾波技術逐漸成為語音增強的首選算法。然而它依然存在收斂速度慢、收斂精度差等問題。所以本文使用箕舌線函數[4]來更新自適應濾波步長因子,并引入解相關運算[5]來更新權系數的迭代方向,加快自適應濾波算法收斂的速度的同時提高收斂的精度。
在硬件實現上,數字信號處理(digital signal processing,DSP)以其高速的幀處理能力、靈活的應用方式且低能耗等特點而成為處理數字語音的首選[6]。本文選用TI公司的TMS320F2812芯片,并結合音頻接口芯片TLV320AIC10(以下簡稱AIC10)共同構成了系統的處理核心。完成了基于DSP的語音增強系統的硬件設計以及含噪語音信號的高速采集、降噪處理與輸出。軟件仿真及實測結果顯示,經本系統處理后的信號達到了清晰度與可懂度的較好統一,證實了算法的有效性以及系統的可行性,為語音增強系統在電子耳蝸中的應用打下了堅實的基礎。
1 基于DSP的自適應濾波系統設計
1.1 自適應濾波器原理
自適應濾波原理的實質是在某一準則的約束下,逐步使誤差信號的均方值最小,以實現對參考信號的最佳估計。但是傳統自適應濾波器大多采用雙通道方式,為濾波器提供一個或多個參考噪聲作為輔助輸入,這在一定程度上增加了系統設計的復雜性。然而針對語音信號而言,它具有短時平穩特性,在10~30 ms內其頻譜特性和相關特征參數基本不變,具有較強的相關性和準周期特性。而噪聲通常是隨機的,其自相關函數僅在原點處存在峰值。所以基于這一點,有研究指出取含噪語音信號的延時量作為濾波器的參考輸入來構造單通道語音增強系統,簡化系統設計的復雜性[7-8]。濾波系統的結構形式如圖 1所示。

1.2 語音增強系統硬件電路設計
DSP提供了多種與外設通信的接口:串行通信接口(serial control interface,SCI)、串行外設接口(serial peripheral interface,SPI)、多通道緩沖串口(multi-channel buffered serial port,McBSP)等。其中McBSP支持全雙工通信方式,提供了雙倍緩沖的發送和三倍緩沖的接收,且允許連續的數據流傳輸,數據傳輸長度通過編程設置。它可與工業標準的解碼器、模擬接口芯片以及A/D或D/A芯片等直接相連,簡化接口電路設計的復雜性。v(k)為原始含噪語音信號,x(k)為v(k)的延時,y(k)為語音信號的估計輸出,e(k)為估計誤差。
AIC10是一款高性能的Σ-Δ型音頻接口芯片,內部集成了16位A/D、D/A轉換器及進行信號調理所需的抗混疊濾波器、重建濾波器等。其采樣速率由DSP編程設置,可與DSP芯片的McBSP進行無縫連接,高速實現數據的接收/發送。本文選用TMS320F2812作為主控芯片與AIC10及相應外圍電路共同完成系統的硬件設計,硬件結構框圖如圖 2所示。其中帶通濾波的作用除去除語音頻段外的噪聲外,還可將輸入轉換為差分方式,通過正負信號加減,去除部分隨機噪聲。

設置AIC10工作于主模式,即由AIC10提供時鐘,并通過分頻產生串口通信移位時鐘及幀同步信號。其中CLKX、CLKR、SCLK為時鐘同步信號,FSX、FSR、FS為幀同步信號。由于AIC10的控制數據與串行通信數據經同一串口傳輸,使得其與McBSP之間的通信有主串行通信和從串行通信兩種數據傳輸模式。其中主串行通信用來傳送A/D和待D/A轉換的數據,從串行通信則用來讀寫AIC10內部控制寄存器以達到配置AIC10的目的。主串行通信發生于每一次轉換周期,而從串行通信則僅在需要時通過請求產生。
串行口在發送/接收數據前需要先對McBSP的相關寄存器和AIC10內部的4個控制寄存器進行初始化,以協調好AIC10與DSP的串行傳輸協議。其中McBSP初始化主要是對內部各寄存器(SPCR1、SPCR2、XCR1、XCR2、PCR1、PCR2、RCR等)寫入適當的控制字,使其在收/發時鐘的控制下,完成數據的接收/發送。設置McBSP的串行通信格式為單相位,每個相位一個字,每字傳輸16位,采用無壓縮方式進行數據的傳輸。AIC10采用默認的15+1位數據傳輸格式,在主通信中,由McBSP向AIC10發送控制字0x01,請求從通信,配置AIC10控制寄存器。通過連續請求4次從通信可完成對AIC10的配置。設置其采樣頻率為8 kHz,使能抗混疊濾波,并設置適當的輸入、輸出信號增益。
基于DSP與AIC10的語音信號采集/發送流程如圖 3所示。即語音信號輸入到AIC10進行抗混疊濾波、A/D轉換,并經McBSP傳至DSP芯片進行降噪處理。處理完的數據再經McBSP傳回AIC10進行D/A轉換、重構濾波,并通過TPA4861功放進行功率放大,最后經揚聲器輸出經過處理后的語音信號。

2 語音增強系統的軟件設計
2.1 自適應濾波算法設計
在一系列自適應濾波算法,如最小均方誤差(least mean square,LMS)算法、最小二乘(recursive least-squares,RLS)算法等中,LMS算法以其簡單、易于實現且優良的穩健性能等優點成為了自適應信號處理中最常用的算法,廣泛應用于信號分離、系統辨識、信道均衡等。LMS算法的基本迭代過程如下:
$y\left( k \right)={{X}^{T}}\left( k \right)*W\left( k \right)$ |
$e(k)=v(k)-y(k)$ |
$W\left( k+1 \right)=W\left( k \right)+2\mu *e\left( k \right)*X\left( k \right)$ |
LMS算法迭代過程中,步長因子μ的取值尤為關鍵,它對算法的性能起著決定性的作用。取值較小的μ可減少系統的穩態誤差,提高算法的收斂精度,但卻降低了算法收斂速度;取值較大的μ雖可加快收斂速度,但卻是以大的失調為代價。在實際應用中對μ的選取通常只能做一個相對折中的選擇,使得算法很難達到最優狀態。針對這一問題,出現了較多的改進型算法,分別以變步長或變換域為核心來優化LMS算法。
變步長就是在濾波過程中用一個變化的μ來更新濾波器的輸出。它的核心思想就是在算法的初始階段用一個較大的μ來加快算法收斂速度,而收斂階段則用一個較小的μ來減少系統的穩態誤差。通過動態改變值的大小來獲取最優的濾波效果。
LMS算法迭代過程中,e(k)及W(k)是變化的,因此可選用e(k)或W(k)為調控機制實現對μ的更新。基于箕舌線函數而建立的μ與e(k)之間的函數關系式為
$\mu \left( k \right)=\beta (1-\frac{1}{\alpha {{e}^{2}}\left( k \right)+2}),$ |
其中α、β分別為函數形狀及幅度控制因子。
由于LMS算法收斂的條件為μ∈(0,1/γmax),γmax為的X(k)最大特征值,所以式(4)需滿足β≤1/λmax。
另一方面,LMS算法收斂速率除受μ影響外還與濾波器輸入自相關矩陣的特征值有關,定義λmax、λmin分別為自相關矩陣R=XT(k)*X(k)的最大和最小特征值,條件數d=λmax/λmin,在相同μ控制下,收斂速率與d成反比。此時若引入解相關原理,用輸入向量的正交分量來更新權系數,即可減少自相關矩陣的最大特征值,加快算法收斂的速率。定義輸入向量在k及k-1時刻的相關系數為
$\varepsilon \left( k \right)=\frac{{{X}^{T}}\left( k \right)*X\left( k-1 \right)}{{{X}^{T}}\left( k-1 \right)*X\left( k-1 \right)},$ |
式中ε(k)代表k及k-1時刻輸入信號之間的關聯性。從X(k)中減去X(k)與X(k-1)之間相關的部分便稱為“解相關”運算,由此得新的更新表達式為
$Z\left( k \right)=X\left( k \right)-\varepsilon \left( k \right)X\left( k-1 \right)$ |
結合式(5)、(6)可得X(k-1)ZT(k)=0即解相關向量與k-1時刻的輸入信號正交,也正是這種正交關系,加快了LMS算法收斂的速率。基于解相關的權值迭代可表示為
$W\left( k+1 \right)=W\left( k \right)+\mu \left( k \right)e\left( k \right)Z\left( k \right)$ |
2.2 自適應濾波算法的軟件實現
完成算法的改進后,就需要基于本文設計的系統實現含噪語音的降噪處理。考慮到語音信號的研究需以短時分析技術為基礎,在硬件實現上將語音信號以幀的形式進行處理。具體處理流程如下:
(1)合理分配程序和數據內存空間,將程序段和查表數據定義在FLASH中,僅進行讀操作,數據段分配在DARAM中,可同時進行讀寫操作,避免調用和跳轉造成流水延遲。
(2)配置片內時鐘方式寄存器CLKMD,實現DSP的CPU頻率的初始化。
(3)初始化McBSP,完成其各串口寄存器的配置。同時利用McBSP初始化AIC10,實現串口正常通信。
(4)開辟多幀數據緩沖區,避免語音濾波速度跟不上發送速度時造成丟幀。
(5)開啟串口接收中斷,開始接收數據。并在CPU空閑時間調用自適應濾波算法,完成緩存數據的降噪處理。算法處理流程圖如圖 4所示。

3 實驗結果分析
3.1 MATLAB仿真測試
為驗證變步長解相關算法的有效性,本文測試了同一仿真信號在LMS算法、箕舌線變步長LMS(versiera least mean square,VS_LMS)算法及改進的箕舌線變步長LMS (new least mean square,New_LMS)算法作用下的LMS。其中仿真信號使用隨機取值為+1和-1的雙極性隨機序列,讓其經過FIR濾波器,并在信道輸出端加高斯白噪聲。所得信號作用于時延濾波系統,仿真計算采樣點數為2 000,重復次數為1 000時的LMS。此外,為了研究算法對時變系統的跟蹤能力,系統在1 000個采樣點處,改變FIR濾波器的系數,測試未知系統發生時變時,三種算法的收斂性能曲線。測試結果如圖 5所示。其中LMS為標準LMS、VS_LMS為箕舌線變步長LMS及New_LMS為箕舌線解相關變步長LMS。

由圖 5可知在變步長作用下,三種算法的收斂速度、穩態誤差均得到了顯著的改善。針對兩種變步長算法(VS_LMS算法和New_LMS算法)而言,引入解相關原理后,在不影響穩態誤差的前提下,New_LMS算法(即本文算法)收斂速度得到了進一步的提高。且當未知系統發生變化時,本文算法仍然能快速跟蹤系統的變化,并迅速調整自身參數,實現對未知信號的最佳估計。由此證明了本文算法的有效性。
為進一步驗證三種算法的去噪效果,本文對實測語音信號進行了降噪處理。實驗中通過計算機聲卡采集一段女生朗讀音頻,音頻信號采樣頻率為11.025 kHz,對其添加信噪比為-5.283 6 dB的白噪聲,使用上述三種算法對其進行降噪處理,處理結果如圖 6所示。

從圖 6可看出,采用本文算法處理后信號的剩余噪聲較小,可較好地保持原始信號的頻譜特征,進一步證明了本文算法的有效性。此外,表 1列出了語音信號在不同程度噪聲干擾下,經本文算法降噪前后的信噪比。結合圖 5、圖 6及表 1,可知變步長解相關算法在快速收斂的前提下,可較好地還原語音信號,同時顯著提升含噪語音信號的信噪比。

3.2 DSP實時測試分析
完成算法的仿真測試后,就需要基于DSP系統實現含噪語音信號的實時降噪效果分析。本文利用集成開發環境(code composer studio,CCS),對實際的含噪語音信號進行在線測試,實現含噪語音的降噪處理及輸出。為了直觀對比信號處理前后的實時波形效果,可依靠CCS強大的圖形顯示窗口功能。調試時進入CCS的圖形觀察窗口,并設置待顯示語音段的起始地址、顯示區的長度等參數,就可得出處理前后語音信號的波形圖如圖 7所示。

對比圖 7上、下兩圖可以看出,改進型LMS算法移植到DSP系統上的實時測試結果與MATLAB理論仿真效果較接近,可獲得顯著的去噪效果。此外,在DSP系統輸出端直接接耳機進行主觀聽覺測試的雙盲實驗中,聽出語音信號中夾雜著的嘈雜噪聲已明顯減弱。因此,該語音增強系統可較好地應用于電子耳蝸的前端處理中,為耳聾患者提供帶有更多可懂度的語音信息。
4 結論
復雜環境降低了電子耳蝸獲取有用信息的效率。本文采用基于時間延遲方式的單通道濾波系統,減少了語音增強系統設計的復雜性。并基于DSP平臺實現了語音信號的高速采集和輸出。而在語音降噪處理上,基于箕舌線函數與解相關原理提出了一種改進的自適應濾波算法,顯著提高了算法的收斂速度與收斂精度,有效地解決了跟蹤速度與穩態誤差之間的矛盾。將該系統應用于電子耳蝸前端處理中,能更好地抑制背景噪聲,獲得更多有用的語音信號成分;能進一步提高電子耳蝸的抗噪性能及最終合成語音的清晰度與可懂度,從而為耳聾患者提供更為準確的語音信息。
引言
電子耳蝸是一種利用電刺激的方法來實現聲音信號到電信號的轉換,從而幫助重度或以上耳聾患者恢復部分聽覺的電子裝置。目前該技術已經取得了較好的效果,一些成熟的電子耳蝸產品也已進入實用階段。然而由于電子耳蝸工作時僅僅依靠幾個包含某一頻率語音信號的電極刺激聽覺神經外周纖維來合成語音,使得由電子耳蝸誘發的聽覺與正常人的聽覺存在著一定的差異。更重要的是,當周圍環境噪聲的強度增加時,電子耳蝸的語音質量會急劇降低。因此研究如何在強噪聲環境下,提高電子耳蝸的抗噪性能便顯得尤為重要[1]。針對這一問題,需要設計一種用于電子耳蝸前端處理的語音增強系統,對帶噪語音信號進行降噪預處理,使進入內耳的特征信號包含更多有用的聲音信號,讓刺激電極重構出清晰、純凈的語音。
自適應濾波[2]是一種簡單有效的語音增強算法,可在信號統計特性未知或系統變化的情況下,自動跟蹤輸入信號的變化,并不斷調整自身參數,來達到最佳的降噪效果。與早期譜減法相比,該方法可有效避免譜減技術[3]因對背景噪聲估計不準確而產生較大殘留噪聲的問題。憑借其簡單且易于實現的特點,自適應濾波技術逐漸成為語音增強的首選算法。然而它依然存在收斂速度慢、收斂精度差等問題。所以本文使用箕舌線函數[4]來更新自適應濾波步長因子,并引入解相關運算[5]來更新權系數的迭代方向,加快自適應濾波算法收斂的速度的同時提高收斂的精度。
在硬件實現上,數字信號處理(digital signal processing,DSP)以其高速的幀處理能力、靈活的應用方式且低能耗等特點而成為處理數字語音的首選[6]。本文選用TI公司的TMS320F2812芯片,并結合音頻接口芯片TLV320AIC10(以下簡稱AIC10)共同構成了系統的處理核心。完成了基于DSP的語音增強系統的硬件設計以及含噪語音信號的高速采集、降噪處理與輸出。軟件仿真及實測結果顯示,經本系統處理后的信號達到了清晰度與可懂度的較好統一,證實了算法的有效性以及系統的可行性,為語音增強系統在電子耳蝸中的應用打下了堅實的基礎。
1 基于DSP的自適應濾波系統設計
1.1 自適應濾波器原理
自適應濾波原理的實質是在某一準則的約束下,逐步使誤差信號的均方值最小,以實現對參考信號的最佳估計。但是傳統自適應濾波器大多采用雙通道方式,為濾波器提供一個或多個參考噪聲作為輔助輸入,這在一定程度上增加了系統設計的復雜性。然而針對語音信號而言,它具有短時平穩特性,在10~30 ms內其頻譜特性和相關特征參數基本不變,具有較強的相關性和準周期特性。而噪聲通常是隨機的,其自相關函數僅在原點處存在峰值。所以基于這一點,有研究指出取含噪語音信號的延時量作為濾波器的參考輸入來構造單通道語音增強系統,簡化系統設計的復雜性[7-8]。濾波系統的結構形式如圖 1所示。

1.2 語音增強系統硬件電路設計
DSP提供了多種與外設通信的接口:串行通信接口(serial control interface,SCI)、串行外設接口(serial peripheral interface,SPI)、多通道緩沖串口(multi-channel buffered serial port,McBSP)等。其中McBSP支持全雙工通信方式,提供了雙倍緩沖的發送和三倍緩沖的接收,且允許連續的數據流傳輸,數據傳輸長度通過編程設置。它可與工業標準的解碼器、模擬接口芯片以及A/D或D/A芯片等直接相連,簡化接口電路設計的復雜性。v(k)為原始含噪語音信號,x(k)為v(k)的延時,y(k)為語音信號的估計輸出,e(k)為估計誤差。
AIC10是一款高性能的Σ-Δ型音頻接口芯片,內部集成了16位A/D、D/A轉換器及進行信號調理所需的抗混疊濾波器、重建濾波器等。其采樣速率由DSP編程設置,可與DSP芯片的McBSP進行無縫連接,高速實現數據的接收/發送。本文選用TMS320F2812作為主控芯片與AIC10及相應外圍電路共同完成系統的硬件設計,硬件結構框圖如圖 2所示。其中帶通濾波的作用除去除語音頻段外的噪聲外,還可將輸入轉換為差分方式,通過正負信號加減,去除部分隨機噪聲。

設置AIC10工作于主模式,即由AIC10提供時鐘,并通過分頻產生串口通信移位時鐘及幀同步信號。其中CLKX、CLKR、SCLK為時鐘同步信號,FSX、FSR、FS為幀同步信號。由于AIC10的控制數據與串行通信數據經同一串口傳輸,使得其與McBSP之間的通信有主串行通信和從串行通信兩種數據傳輸模式。其中主串行通信用來傳送A/D和待D/A轉換的數據,從串行通信則用來讀寫AIC10內部控制寄存器以達到配置AIC10的目的。主串行通信發生于每一次轉換周期,而從串行通信則僅在需要時通過請求產生。
串行口在發送/接收數據前需要先對McBSP的相關寄存器和AIC10內部的4個控制寄存器進行初始化,以協調好AIC10與DSP的串行傳輸協議。其中McBSP初始化主要是對內部各寄存器(SPCR1、SPCR2、XCR1、XCR2、PCR1、PCR2、RCR等)寫入適當的控制字,使其在收/發時鐘的控制下,完成數據的接收/發送。設置McBSP的串行通信格式為單相位,每個相位一個字,每字傳輸16位,采用無壓縮方式進行數據的傳輸。AIC10采用默認的15+1位數據傳輸格式,在主通信中,由McBSP向AIC10發送控制字0x01,請求從通信,配置AIC10控制寄存器。通過連續請求4次從通信可完成對AIC10的配置。設置其采樣頻率為8 kHz,使能抗混疊濾波,并設置適當的輸入、輸出信號增益。
基于DSP與AIC10的語音信號采集/發送流程如圖 3所示。即語音信號輸入到AIC10進行抗混疊濾波、A/D轉換,并經McBSP傳至DSP芯片進行降噪處理。處理完的數據再經McBSP傳回AIC10進行D/A轉換、重構濾波,并通過TPA4861功放進行功率放大,最后經揚聲器輸出經過處理后的語音信號。

2 語音增強系統的軟件設計
2.1 自適應濾波算法設計
在一系列自適應濾波算法,如最小均方誤差(least mean square,LMS)算法、最小二乘(recursive least-squares,RLS)算法等中,LMS算法以其簡單、易于實現且優良的穩健性能等優點成為了自適應信號處理中最常用的算法,廣泛應用于信號分離、系統辨識、信道均衡等。LMS算法的基本迭代過程如下:
$y\left( k \right)={{X}^{T}}\left( k \right)*W\left( k \right)$ |
$e(k)=v(k)-y(k)$ |
$W\left( k+1 \right)=W\left( k \right)+2\mu *e\left( k \right)*X\left( k \right)$ |
LMS算法迭代過程中,步長因子μ的取值尤為關鍵,它對算法的性能起著決定性的作用。取值較小的μ可減少系統的穩態誤差,提高算法的收斂精度,但卻降低了算法收斂速度;取值較大的μ雖可加快收斂速度,但卻是以大的失調為代價。在實際應用中對μ的選取通常只能做一個相對折中的選擇,使得算法很難達到最優狀態。針對這一問題,出現了較多的改進型算法,分別以變步長或變換域為核心來優化LMS算法。
變步長就是在濾波過程中用一個變化的μ來更新濾波器的輸出。它的核心思想就是在算法的初始階段用一個較大的μ來加快算法收斂速度,而收斂階段則用一個較小的μ來減少系統的穩態誤差。通過動態改變值的大小來獲取最優的濾波效果。
LMS算法迭代過程中,e(k)及W(k)是變化的,因此可選用e(k)或W(k)為調控機制實現對μ的更新。基于箕舌線函數而建立的μ與e(k)之間的函數關系式為
$\mu \left( k \right)=\beta (1-\frac{1}{\alpha {{e}^{2}}\left( k \right)+2}),$ |
其中α、β分別為函數形狀及幅度控制因子。
由于LMS算法收斂的條件為μ∈(0,1/γmax),γmax為的X(k)最大特征值,所以式(4)需滿足β≤1/λmax。
另一方面,LMS算法收斂速率除受μ影響外還與濾波器輸入自相關矩陣的特征值有關,定義λmax、λmin分別為自相關矩陣R=XT(k)*X(k)的最大和最小特征值,條件數d=λmax/λmin,在相同μ控制下,收斂速率與d成反比。此時若引入解相關原理,用輸入向量的正交分量來更新權系數,即可減少自相關矩陣的最大特征值,加快算法收斂的速率。定義輸入向量在k及k-1時刻的相關系數為
$\varepsilon \left( k \right)=\frac{{{X}^{T}}\left( k \right)*X\left( k-1 \right)}{{{X}^{T}}\left( k-1 \right)*X\left( k-1 \right)},$ |
式中ε(k)代表k及k-1時刻輸入信號之間的關聯性。從X(k)中減去X(k)與X(k-1)之間相關的部分便稱為“解相關”運算,由此得新的更新表達式為
$Z\left( k \right)=X\left( k \right)-\varepsilon \left( k \right)X\left( k-1 \right)$ |
結合式(5)、(6)可得X(k-1)ZT(k)=0即解相關向量與k-1時刻的輸入信號正交,也正是這種正交關系,加快了LMS算法收斂的速率。基于解相關的權值迭代可表示為
$W\left( k+1 \right)=W\left( k \right)+\mu \left( k \right)e\left( k \right)Z\left( k \right)$ |
2.2 自適應濾波算法的軟件實現
完成算法的改進后,就需要基于本文設計的系統實現含噪語音的降噪處理。考慮到語音信號的研究需以短時分析技術為基礎,在硬件實現上將語音信號以幀的形式進行處理。具體處理流程如下:
(1)合理分配程序和數據內存空間,將程序段和查表數據定義在FLASH中,僅進行讀操作,數據段分配在DARAM中,可同時進行讀寫操作,避免調用和跳轉造成流水延遲。
(2)配置片內時鐘方式寄存器CLKMD,實現DSP的CPU頻率的初始化。
(3)初始化McBSP,完成其各串口寄存器的配置。同時利用McBSP初始化AIC10,實現串口正常通信。
(4)開辟多幀數據緩沖區,避免語音濾波速度跟不上發送速度時造成丟幀。
(5)開啟串口接收中斷,開始接收數據。并在CPU空閑時間調用自適應濾波算法,完成緩存數據的降噪處理。算法處理流程圖如圖 4所示。

3 實驗結果分析
3.1 MATLAB仿真測試
為驗證變步長解相關算法的有效性,本文測試了同一仿真信號在LMS算法、箕舌線變步長LMS(versiera least mean square,VS_LMS)算法及改進的箕舌線變步長LMS (new least mean square,New_LMS)算法作用下的LMS。其中仿真信號使用隨機取值為+1和-1的雙極性隨機序列,讓其經過FIR濾波器,并在信道輸出端加高斯白噪聲。所得信號作用于時延濾波系統,仿真計算采樣點數為2 000,重復次數為1 000時的LMS。此外,為了研究算法對時變系統的跟蹤能力,系統在1 000個采樣點處,改變FIR濾波器的系數,測試未知系統發生時變時,三種算法的收斂性能曲線。測試結果如圖 5所示。其中LMS為標準LMS、VS_LMS為箕舌線變步長LMS及New_LMS為箕舌線解相關變步長LMS。

由圖 5可知在變步長作用下,三種算法的收斂速度、穩態誤差均得到了顯著的改善。針對兩種變步長算法(VS_LMS算法和New_LMS算法)而言,引入解相關原理后,在不影響穩態誤差的前提下,New_LMS算法(即本文算法)收斂速度得到了進一步的提高。且當未知系統發生變化時,本文算法仍然能快速跟蹤系統的變化,并迅速調整自身參數,實現對未知信號的最佳估計。由此證明了本文算法的有效性。
為進一步驗證三種算法的去噪效果,本文對實測語音信號進行了降噪處理。實驗中通過計算機聲卡采集一段女生朗讀音頻,音頻信號采樣頻率為11.025 kHz,對其添加信噪比為-5.283 6 dB的白噪聲,使用上述三種算法對其進行降噪處理,處理結果如圖 6所示。

從圖 6可看出,采用本文算法處理后信號的剩余噪聲較小,可較好地保持原始信號的頻譜特征,進一步證明了本文算法的有效性。此外,表 1列出了語音信號在不同程度噪聲干擾下,經本文算法降噪前后的信噪比。結合圖 5、圖 6及表 1,可知變步長解相關算法在快速收斂的前提下,可較好地還原語音信號,同時顯著提升含噪語音信號的信噪比。

3.2 DSP實時測試分析
完成算法的仿真測試后,就需要基于DSP系統實現含噪語音信號的實時降噪效果分析。本文利用集成開發環境(code composer studio,CCS),對實際的含噪語音信號進行在線測試,實現含噪語音的降噪處理及輸出。為了直觀對比信號處理前后的實時波形效果,可依靠CCS強大的圖形顯示窗口功能。調試時進入CCS的圖形觀察窗口,并設置待顯示語音段的起始地址、顯示區的長度等參數,就可得出處理前后語音信號的波形圖如圖 7所示。

對比圖 7上、下兩圖可以看出,改進型LMS算法移植到DSP系統上的實時測試結果與MATLAB理論仿真效果較接近,可獲得顯著的去噪效果。此外,在DSP系統輸出端直接接耳機進行主觀聽覺測試的雙盲實驗中,聽出語音信號中夾雜著的嘈雜噪聲已明顯減弱。因此,該語音增強系統可較好地應用于電子耳蝸的前端處理中,為耳聾患者提供帶有更多可懂度的語音信息。
4 結論
復雜環境降低了電子耳蝸獲取有用信息的效率。本文采用基于時間延遲方式的單通道濾波系統,減少了語音增強系統設計的復雜性。并基于DSP平臺實現了語音信號的高速采集和輸出。而在語音降噪處理上,基于箕舌線函數與解相關原理提出了一種改進的自適應濾波算法,顯著提高了算法的收斂速度與收斂精度,有效地解決了跟蹤速度與穩態誤差之間的矛盾。將該系統應用于電子耳蝸前端處理中,能更好地抑制背景噪聲,獲得更多有用的語音信號成分;能進一步提高電子耳蝸的抗噪性能及最終合成語音的清晰度與可懂度,從而為耳聾患者提供更為準確的語音信息。