• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于卡爾曼濾波的STFT域回聲抵消算法

      2022-12-05 07:49:38楊飛然梁兆杰
      聲學技術 2022年5期
      關鍵詞:頻點卡爾曼濾波復雜度

      劉 楊,楊飛然,3,梁兆杰,楊 軍,3

      (1.中國科學院聲學研究所,北京 100190;2.中國科學院大學,北京 100049;3.中科新聲(蘇州)科技有限公司,江蘇 蘇州 215163;4.深圳供電局有限公司,廣東 深圳 518000)

      0 引言

      受到新冠疫情全球大流行的影響,在線會議系統(tǒng)得到了快速的發(fā)展,語音通信是該系統(tǒng)的核心功能。聲音也是人工智能與物聯(lián)網(wǎng)融合時代最關鍵的入口之一。近年來,人機交互技術在自動導航系統(tǒng)、智能音箱、語音遙控電視機等一系列產(chǎn)品中獲得成功應用。回聲抵消是語音通信和人機交互的關鍵問題之一[1-2]。上述這些技術的快速發(fā)展拓展了回聲抵消的應用場景并對回聲抵消提出了更高的要求。

      自適應濾波是回聲抵消問題最成熟的解決方案。該方法通過辨識揚聲器到近端傳聲器之間的回聲路徑來估計近端傳聲器采集到的回聲信號,再用傳聲器信號減去估計的回聲信號得到誤差信號,即需要的近端語音信號。聲學回聲路徑通常需要利用幾千階的FIR濾波器來進行建模,因而算法的計算復雜度是首先需要考慮的問題之一。目前,頻域自適應濾波算法是聲學回聲抵消的標準解決方案[3-4]。約束的頻域自適應濾波算法利用快速傅里葉變換(Fast Fourier Transformation,FFT)來實現(xiàn)精確的線性卷積和線性相關操作[2],因而相比直接在時域?qū)崿F(xiàn)具有更低的復雜度。

      還有一類回聲抵消方法是在短時傅里葉變換域(Short Time Fourier Transformation,STFT)直接進行的。與上述基于線性卷積的方法不同,短時傅里葉變換域的算法實現(xiàn)的一般不是一個精確的線性卷積[5],而只是一個逼近的方法。早期的算法[6-10]首先估計出回聲信號的功率譜再利用語音增強中常用的維納濾波來完成回聲抑制,但這些算法都忽略了相位信息,因而得到的近端語音質(zhì)量較差。最近發(fā)展的一類算法[11-14]同時估計回聲信號的幅度和相位信息,因而近端語音質(zhì)量得到了保證。文獻[11]和[13]的算法沒有討論在雙端對講狀態(tài)下濾波器的更新問題。文獻[12]和[14]的算法分別直接采用卡爾曼濾波和遞歸最小二乘(Recursive Least Squares,RLS)在每一個頻點進行濾波器系數(shù)更新,因而復雜度較高。

      本文研究了短時傅里葉變換域的單通道線性回聲抵消問題。首先給出了標準的卡爾曼濾波更新方程,討論了過程噪聲和觀測噪聲的估計方法,進一步給出了簡化的卡爾曼濾波算法來降低計算復雜度。本文另一個貢獻是引入了遠端信號更多的臨近頻點來進一步提高回聲抵消的性能。最后通過實驗驗證了所提算法的有效性。

      1 模型

      考慮如圖1所示的單通道回聲抵消模型,傳聲器接收到的信號可以表示為

      圖1 單通道回聲抵消模型Fig.1 Single-channel echo cancellation model

      其中:回聲信號d(t)=h(t)*x(t)是遠端參考信號x(t)通過揚聲器到傳聲器的回聲路徑h(t)后得到的,v(t)包括近端語音s(t)和噪聲信號n(t)。傳聲器接收信號在STFT域可表示為

      其中:Y(k,n)、D(k,n)和V(k,n)分別表示第n個時間幀和第k個頻點的傳聲器信號、回聲信號和近端信號。在STFT域的回聲信號可以表示為[14-15]

      其中:X(k,n)是第n個時間幀和第k個頻率塊的遠端參考信號,H(k,k',l)為頻點k和k'之間的交叉子帶濾波器系數(shù),N為傅里葉變換窗長。

      直接使用式(3)進行計算復雜度較高,因而是不現(xiàn)實的。下面我們給出幾種近似的實現(xiàn)方法。假設STFT分析窗的頻率分辨率足夠高,則各頻率之間信號相互獨立,即當 k≠k'時,H(k,k',l)=0。當k=k'時,可以將H(k,k',l)重寫為第n個時間幀和第k個頻點的第l個時延塊的回聲路徑Hl(k,n)。隨著l的增加,Hl(k,n)的值隨時延塊的衰減越來越快,因而可以只保留L個系數(shù)對STFT域回聲信號進行近似。從而,STFT域的回聲信號可以近似表示為

      其中:h(k,n)=[H0(k,n)...HL-1(k,n)]T為濾波器系數(shù)向量,x(k,n)=[X(k,n)...X(k,n-L+1)]T為輸入信號向量。

      在實際應用中,STFT分析窗的頻率分辨率可能不足以使 k≠k'時的H(k,k',l)=0。此時引進相鄰時間幀和頻率幀的信息,可以進一步提高算法的回聲抵消量[10]。如圖2所示是擴充鄰近頻點信息的兩種方式。第一種擴充的遠端參考信號向量x(1)(k,n)表示為

      式(5)使用L個時間幀以及每個時間幀當前頻點上下各K個頻率幀的信息,向量長度為(2K+1)L。第二種擴充的遠端參考信號向量x(2)(k,n)表示為

      式(6)使用L個時間幀以及當前時頻點上下各K個頻率幀的信息,向量長度變?yōu)長+2K,圖2中的箭頭是向量元素的填充順序。遠端信號向量進行擴充之后,每個時頻點對應的回聲路徑向量h(k,n)的長度也擴充成相應的長度。

      圖2 鄰近頻率幀信息擴充類型Fig.2 Expansion types of adjacent frequency frame information

      假設估計的第n個時間幀,第k個頻率塊的房間回聲路徑系數(shù)向量為,則估計的頻域回聲信號為

      從而可以得到估計的頻域近端信號:

      2 STFT域卡爾曼濾波

      2.1 狀態(tài)方程和觀測方程

      在回聲抵消問題中,實際要估計的是房間回聲路徑的頻域系數(shù)向量h(k,n)。本文采用一階馬爾可夫模型對回聲路徑的變化進行建模:

      其中:w(n)是體現(xiàn)回聲路徑變化的狀態(tài)噪聲。假設w(n)服從0均值高斯分布,狀態(tài)噪聲的協(xié)方差矩陣為Φw(k,n)=E[w(n)wH(n)]。

      利用式(4),得到STFT域觀測方程的表達式:

      2.2 卡爾曼濾波器的更新過程

      在卡爾曼濾波中,狀態(tài)向量估計誤差的協(xié)方差矩陣為

      最小化目標函數(shù)(11),得到卡爾曼濾波器的更新過程為[15]

      其中:K(k,n)是卡爾曼增益。

      2.3 狀態(tài)噪聲和觀測噪聲的估計

      狀態(tài)噪聲協(xié)方差Φw(k,n)估計的準確性影響到系統(tǒng)對通道變化的跟蹤能力和算法的穩(wěn)態(tài)性能。我們假設w(n)的各個元素之間互不相關,則Φw(k,n)變?yōu)閷蔷仃?Φw(k,n)=φw(k,n)I。利用下式估計φw(k,n):

      其中:參數(shù)c的值越大,算法的穩(wěn)態(tài)收斂誤差越小,跟蹤能力越差,反之亦然。

      觀測噪聲協(xié)方差ΦV(k,n)的估計準確性影響到系統(tǒng)的雙端對講性能。當系統(tǒng)達到穩(wěn)態(tài)時,誤差信號近似為近端信號,因而可以直接利用誤差信號來估計觀測噪聲方差:

      其中:α是遺忘因子。

      2.4 低復雜度實現(xiàn)

      為了簡化卡爾曼濾波的計算復雜度,首先將誤差協(xié)方差矩陣 Φe(k,n)簡化為對角矩陣 Φe(k,n)≈φe(k,n)IL[16]。則卡爾曼增益的更新公式變?yōu)閇16]

      低復雜度STFT域卡爾曼濾波器(Low Complexity STFT-Kalman,LC-STFT-Kalman)更新時,按順序更新式(12)、(19)、(14)、(20),其中狀態(tài)噪聲協(xié)方差的估計仍然采用式(16)和(17)。

      3 計算復雜度

      表1列出了STFT域的歸一化最小均方誤差[11](STFT-NLMS)、STFT-RLS[14]、變步長分塊頻域自適應濾波[4](VS-PBFDAF)、STFT-Kalman和LC-STFT Kalman5種算法更新每個采樣點所需的乘法數(shù)。

      表1 各算法更新每個采樣點所需的乘法數(shù)Table 1 Numbers of multiplications required for each output of different algorithms

      設定用于估計回聲路徑的濾波器長度為M,STFT域算法的FFT點數(shù)為N,重疊率為R∈[0,1],即每次幀移N(1-R)個采樣點,每個時頻點估計的濾波器長度為P=M/[ ]N(1-R)。VS-PBFDAF算法的FFT點數(shù)為N,重疊率為50%,即每次幀移N/2點,則主濾波器塊數(shù)為B=2M/N,陰影濾波器塊數(shù)為Bb=B/2。已知計算所需要的乘法次數(shù)N點FFT(IFFT)所需實數(shù)乘法次數(shù)為Nlog2N、復數(shù)乘法為實數(shù)乘法的4倍、開方運算為實數(shù)乘法的40倍、除法運算為實數(shù)乘法的20倍。

      圖3給出了5種算法更新每個采樣點所需的乘法次數(shù)隨濾波器長度M的變化,其中短時傅里葉變換點數(shù)N=512,重合率R=75%。從圖中可以看出,STFT-Kalman和STFT-RLS更新一個采樣點所需的乘法次數(shù)隨著回聲路徑的長度增加的趨勢比其他三種算法快很多,其原因是這兩種算法的計算量與每個時頻點的濾波器長度的平方成正比。LCSTFT-Kalman的計算量比STFT-NLMS算法大,但比VS-PBFDAF小。

      圖3 5種算法更新每個采樣點所需乘法次數(shù)隨M的變化Fig.3 The numbers of multiplications required for each output of different algorithms as a function of filter length M

      4 實驗結(jié)果和分析

      為了區(qū)分回聲和近端語音,把TIMIT數(shù)據(jù)集中截取的英文作為遠端信號,漢語普通話識別句表[17]中截取的中文作為近端信號。每段信號的總長度為40 s,采樣率為16 kHz。如圖4所示,遠端信號為持續(xù)干凈語音,近端信號在20~30 s出現(xiàn)語音,在近端傳聲器接收信號中加入白噪聲,信噪比(Signal to Noise Ratio,SNR)為30 dB。在生成回聲時,回聲路徑采用實際錄制的房間脈沖響應并截斷至2048點。在混合近端傳聲器接收信號時,近端信號與回聲信號之比(Signal to Echo Ratio,SER)為0 dB。STFT的幀重合率為75%,分析窗和合成窗都采用漢寧窗。采用回聲往返損耗增強(Echo Return Loss Enhancement,ERLE)對回聲抵消算法的性能進行評估,其計算方法為

      圖4 實驗采用的遠端和近端信號Fig.4 Far-end and near-end signals used in the experiment

      但ERLE僅能評估回聲抵消量,無法體現(xiàn)通過算法后的近端語音失真程度,因此采用感知語音質(zhì)量評價[18](Perceptual Evaluation of Speech Quality,PESQ)對回聲抵消算法收斂后在雙講階段的性能進行評估。狀態(tài)轉(zhuǎn)移因子c∈(0,1],越接近1,算法的穩(wěn)態(tài)收斂誤差越小,收斂后的回聲抵消性能越好。本文中采用c=0.999 992和α=0.8,狀態(tài)噪聲協(xié)方差和觀測噪聲方差的初值分別為Φw(k,0)=φw(k,0)I=0.05I和ΦV(k,0)=0.05。

      圖5比較了不擴充鄰近頻點的卡爾曼濾波算法、STFT-RLS[14]和VS-PBFDAF[6]的性能。設SNR為30 dB,SER為0 dB,將STFT-Kalman和LCSTFT-Kalman的參數(shù)都設置成N=512、L=16。STFT-RLS的傅里葉變換點數(shù)為512,每個時頻點的濾波器長度為16,重疊率為75%。VS-PBFDAF估計的時域濾波器長度為2 048,分成4塊,每個子濾波器的長度為512。從圖5可以看出,基于STFT域的3種算法都比傳統(tǒng)的VS-PBFDAF算法具有更快的收斂速度,這主要是由于前者在每個頻點需要更新的系數(shù)較少。算法達到穩(wěn)態(tài)后,VS-PBFDAF的ERLE最大,簡化后的卡爾曼濾波算法LC-STFT Kalman比原來的精確實現(xiàn)形式性能有所下降。STFT-RLS、 STFT-Kalman、 LC-STFT-Kalman 和VS-PBFDAF等4種算法更新每個采樣點所需的乘法數(shù)目分別為5 732、4 776、744、1 028。

      圖5 4種不同算法的回聲往返損耗增強(ERLE)隨時間變化曲線Fig.5 Variations of ERLE with time for different algorithms

      圖6比較了不同的遠端頻段擴充方式對回聲抵消性能ERLE的影響。圖6(a)為N=512,L=16的LC-STFT-Kalman算法的ERLE與擴充方式、擴充頻點數(shù)的關系。從收斂速度來看,第一種擴充(type1)隨著擴充頻點的增加收斂速度明顯變慢,第二種擴充(type2)對收斂速度的影響不大。這是由于采用第一種擴充方式后每個頻點需要更新的濾波器系數(shù)明顯增加。從算法收斂后的ERLE來看,第一種擴充收斂后的回聲抵消量整體比未擴充時的高,K=1時效果最好。第二種擴充對回聲抵消量的增加并不明顯。圖6(b)為N=2 048,L=4的LC-STFT Kalman算法的ERLE與擴充方式、擴充頻點數(shù)的關系,其收斂規(guī)律與圖6(a)相同。

      圖6 擴充頻點對ERLE的影響Fig.6 Influence of expanded frequency points on ERLE

      表2中給出了各算法收斂后雙講階段的PESQ。對比表2和圖5,VS-PBFDAF因其回聲抵消量最大,且收斂后對語音的損傷最小,在雙講階段的PESQ是最大的。LC-STFT-Kalman使用第一種擴充的PESQ更高,且N=2 048,L=4時的雙講穩(wěn)定性比N=512,L=16時好,算法的PSEQ整體更高。

      表2 各算法雙講階段的感知語音質(zhì)量評價(PSEQ)對比Table 2 Comparison of PESQ in the double-talk phase of the algorithms

      表3給出了不同擴充方式和不同鄰近頻點數(shù)K對算法計算復雜度的影響。從表3中可以看出,N=512,L=16的組合要比N=2 048,L=4的計算復雜度高很多。同一種組合中,在上下擴充頻點數(shù)K相同時,第二種擴充方式濾波器長度增加比第一種方式要少得多,因而其計算復雜度也小很多。

      表3 更新單個采樣點的計算復雜度隨擴充方式和K的變化Table 3 Variation of the computational complexity of updating a single sample point with expansion mode and K

      5 結(jié)論

      本文提出了用于單通道回聲抵消的STFT域的卡爾曼濾波算法,并給出了其快速實現(xiàn)方法。本文還在簡化模型的基礎上應用兩種擴充臨近頻點提高回聲抵消性能的方式,使得擴充頻點后的簡化卡爾曼濾波算法的回聲抵消量性能有了顯著提升。使用K=1的第一種擴充頻點方式,可以使得LC-STFTKalman的回聲抵消量達到40 dB,比精確實現(xiàn)的STFT-Kalman高5 dB。所提算法不需要雙講檢測,具有比傳統(tǒng)的頻域自適應濾波算法更低的復雜度和更快的收斂速度,在很多場景下均具有較好應用前景。

      猜你喜歡
      頻點卡爾曼濾波復雜度
      基于4G MR的大數(shù)據(jù)分析優(yōu)化EPSFB語音時延
      一種低復雜度的慣性/GNSS矢量深組合方法
      基于遞推更新卡爾曼濾波的磁偶極子目標跟蹤
      求圖上廣探樹的時間復雜度
      基于模糊卡爾曼濾波算法的動力電池SOC估計
      電源技術(2016年9期)2016-02-27 09:05:39
      某雷達導51 頭中心控制軟件圈復雜度分析與改進
      基于測量報告數(shù)據(jù)優(yōu)化CSFB頻點配置的方法
      基于擴展卡爾曼濾波的PMSM無位置傳感器控制
      電源技術(2015年1期)2015-08-22 11:16:28
      出口技術復雜度研究回顧與評述
      基于自適應卡爾曼濾波的新船舶試航系統(tǒng)
      浦县| 称多县| 修文县| 陵川县| 呼伦贝尔市| 含山县| 新竹县| 卢氏县| 波密县| 岱山县| 墨脱县| 江永县| 江安县| 紫阳县| 襄汾县| 澄江县| 闵行区| 三江| 虹口区| 克什克腾旗| 水城县| 邢台县| 沙河市| 图们市| 洱源县| 海丰县| 营口市| 榆林市| 兴业县| 东至县| 清镇市| 石棉县| 虹口区| 外汇| 平阳县| 察雅县| 常熟市| 巴塘县| 高雄县| 金湖县| 古田县|