吳小莉,鄭藝峰
(中國科學(xué)技術(shù)大學(xué) 物理學(xué)院,合肥 230000)
噪聲信號的去除是信號處理中很關(guān)鍵的環(huán)節(jié)。信號的傳輸和獲取中都存在著宏觀或微觀的噪聲,如車輛噪聲、熱噪聲、散粒噪聲等。它們影響著信號傳遞中信息的完整性,也影響著接收數(shù)據(jù)或傳輸數(shù)據(jù)的準(zhǔn)確性,給獲取和分析時序信號中的完整信息帶來了困難。濾波器是去噪的常用手段之一,濾波器的選擇與噪聲種類有關(guān),而濾波器的參數(shù)選擇與噪聲強(qiáng)度相關(guān)。目前研究中所提出的各種去噪算法,都是在噪聲強(qiáng)度已知的情況下進(jìn)行,從而得到了理想的去噪效果[1-3],而實際應(yīng)用中的帶噪聲信號噪聲強(qiáng)度通常未知,因此去噪?yún)?shù)的選擇變得非常困難。為了獲取信號中的準(zhǔn)確信息,有必要對帶噪聲信號中的噪聲信息進(jìn)行分析,從而可以根據(jù)噪聲信息選擇最合適的濾波器和去噪?yún)?shù),提高去噪效率。
一維噪聲信號包括語音噪聲和電子元器件中的噪聲等。關(guān)于噪聲種類識別算法的研究,一直是數(shù)據(jù)處理領(lǐng)域的研究焦點,也有許多噪聲種類分類模型被提出,如基于模糊邏輯的噪聲種類分類器[4]、基于environmental sniffing框架來對環(huán)境噪聲分類[5]和高斯混合模型噪聲分類器[6]等,但是目前提出噪聲分類模型對噪聲種類分類的精度都不夠高。由于機(jī)器學(xué)習(xí)熱潮的興起,采用機(jī)器學(xué)習(xí)算法對噪聲種類進(jìn)行識別提供了一個新的研究思路,而圖像噪聲來說是研究較多的,常用的方法有概率神經(jīng)網(wǎng)絡(luò)(Probabilistic Neural Network, PNN)[7]、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)[8]或模糊螢火蟲貝葉斯濾波器(Fuzzy Firefly Bayes Filter, FFBF)[9]等機(jī)器學(xué)習(xí)算法,而對于一維噪聲來說,由于噪聲的隨機(jī)性,同類同噪聲強(qiáng)度的噪聲的數(shù)據(jù)分布一般都不一樣,這給噪聲種類識別帶來了困難,因此找到同類噪聲的相似點和不同類噪聲的不同點是噪聲識別的關(guān)鍵。盡管采用機(jī)器學(xué)習(xí)算法對一維噪聲信號進(jìn)行種類識別的研究并不多,但卻為它的發(fā)展奠定了基礎(chǔ)。Balabanova等[10]提出了一種具有反向傳播誤差的人工神經(jīng)網(wǎng)絡(luò)多層結(jié)構(gòu)來識別7組純信號和6種噪聲信號,首次實現(xiàn)了信號與噪聲的混合識別,獲得了很高的識別精度。Cao等[11]提出以對數(shù)梅爾頻譜作為特征向量,用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)對城市噪聲種類進(jìn)行識別。Eamdeelerd等[12]采用在Bark域上噪聲信號的線性預(yù)測編碼(Linear Predictive Coding, LPC)系數(shù)作為特征向量,采用K近鄰(K-Nearest Neighbors,KNN)算法對噪聲種類進(jìn)行識別。袁文浩等[13-14]通過對信號進(jìn)行短時傅里葉變換,然后引入Bark域?qū)δ芰窟M(jìn)行劃分,以此作為特征向量再用支持向量機(jī)進(jìn)行分類識別,并且通過兩個數(shù)據(jù)庫驗證了算法的準(zhǔn)確性。文獻(xiàn)[13]的特征向量由于采用的是短時傅里葉變換只能反映信號的局部特征,不能體現(xiàn)噪聲信號的全局變化趨勢,因此,雖然上述文獻(xiàn)中所采用的機(jī)器學(xué)習(xí)算法對于噪聲種類識別都取得了不錯的識別精度,但都針對單噪聲的噪聲種類識別,混合噪聲的識別問題還沒有被解決,而實際信號中的噪聲大多是混合噪聲。
對于噪聲強(qiáng)度識別問題,研究較多的也是圖像噪聲強(qiáng)度估計,主要有奇異值分解法(Singular Value Decomposition, SVD)[15-16]、主成分分析法[17]、回歸分析法[18]和小波變換法[19]等。關(guān)于時序噪聲強(qiáng)度估計的研究主要是一些關(guān)于語音噪聲強(qiáng)度估計算法的提出,比較經(jīng)典的語音噪聲估計算法是最小遞歸控制平均(Minimum Recursive Control Averaging, MCRA)算法[20]。例如,胡岸等[21]提出一種在MCRA算法估計基礎(chǔ)上同時加入最大對數(shù)似然比的改進(jìn)噪聲強(qiáng)度估計算法,該方法可提高估計速度并降低了噪聲估計的延遲。除了語音噪聲強(qiáng)度估計算法的研究,還有GPS(Global Positioning System)信號噪聲方差估計方法的研究,包括最小范數(shù)二次無偏估計法[22]、極大似然估計法和最小二乘估計法等,但是這些強(qiáng)度估計算法主要針對的是單種噪聲強(qiáng)度估計,而對混合噪聲中源噪聲的強(qiáng)度估計沒有提及。單噪聲一般采用方差來表征噪聲強(qiáng)度,但是實際信號中含有的是混合噪聲,混合噪聲中各種單噪聲的強(qiáng)度估計是一個研究難題。
由于噪聲的隨機(jī)性,導(dǎo)致不同種類的噪聲在時域上的分布差異太小,但是頻域的數(shù)據(jù)分布卻有很大差異,而余弦距離對于衡量數(shù)據(jù)分布差異有很大的優(yōu)越性,且KNN算法可以采用余弦距離作為分類標(biāo)準(zhǔn),因此針對上述問題,本文提出基于有距離閾值的KNN算法來實現(xiàn)單噪聲和混合噪聲種類的識別,并且針對于混合噪聲中不同強(qiáng)度單噪聲的強(qiáng)度估計,提出了一種結(jié)合混合噪聲種類識別結(jié)果和噪聲基重構(gòu)的噪聲強(qiáng)度估計算法。針對噪聲種類識別,本文將噪聲數(shù)據(jù)零均值處理后,以歸一化后的頻域數(shù)據(jù)作為特征向量,采用有距離閾值的K近鄰法進(jìn)行分類。然后基于噪聲種類的結(jié)果,采用對可能域劃分取值和噪聲基重構(gòu)混合噪聲的方法,以重構(gòu)噪聲與實際混合噪聲頻域的余弦距離作為最優(yōu)化評價標(biāo)準(zhǔn),對混合噪聲中的單噪聲強(qiáng)度進(jìn)行估計。依據(jù)噪聲頻域數(shù)據(jù)分布特征,采用余弦距離來衡量分布差異,抓住了不同噪聲數(shù)據(jù)最本質(zhì)的差異,因此采用本文所提出的KNN算法和強(qiáng)度估計算法能夠得到較高的識別精度和較低的估計誤差。
首先是對噪聲種類進(jìn)行識別,結(jié)合傳統(tǒng)的KNN算法,提出有距離閾值的KNN算法,并且通過多種環(huán)境多通道聲學(xué)噪聲數(shù)據(jù)庫和Noise_92x數(shù)據(jù)庫中的部分噪聲數(shù)據(jù)驗證算法的正確性和泛化性。
采用有距離閾值的KNN算法對噪聲種類進(jìn)行識別,需要對算法中的參數(shù)進(jìn)行確定,并且需要選取合適的特征向量,因此需要對數(shù)據(jù)進(jìn)行處理。
1.1.1 有距離閾值的KNN算法
傳統(tǒng)KNN算法的原理是計算驗證集中的每一個數(shù)據(jù)與訓(xùn)練集所有數(shù)據(jù)的距離,選取距離最小的k個,在這k個中出現(xiàn)標(biāo)簽次數(shù)最多的就是該樣本的標(biāo)簽。KNN算法的具體數(shù)學(xué)描述[23]如下。
輸入的訓(xùn)練集設(shè)為T={(x1,y1),(x2,y2),…,(xN,yN)},其中x1,x2,…,xN表示訓(xùn)練集數(shù)據(jù)的特征向量,y1,y2,…,yN表示訓(xùn)練集數(shù)據(jù)的標(biāo)簽,xi∈χ?Rn,χ為特征空間,Rn為n維的實數(shù)向量空間,yi∈Y={c1,c2,…,cm}為訓(xùn)練集中標(biāo)簽類別。x是測試數(shù)據(jù),也是一個具有n維數(shù)據(jù)的實數(shù)特征向量。根據(jù)給定的距離度量,在訓(xùn)練集T中找出與x最近鄰的k個點,涵蓋著k個點的x的鄰域記作Nk(x)。在Nk(x)中根據(jù)分類決策規(guī)則(如多數(shù)表決)決定x的類別y:
j=1,2,…,m
(1)
其中,I為指示函數(shù),即當(dāng)yi=cj時I為1,否則為0。
此外,考慮到實際應(yīng)用數(shù)據(jù)存在訓(xùn)練集以外的噪聲類型,以及排除距離較遠(yuǎn)的數(shù)據(jù)樣本的影響,在傳統(tǒng)的KNN算法中增加距離閾值這個參數(shù),提高KNN算法的泛化性和抗噪性。在確定最鄰近的k個樣本后,判斷k個鄰域內(nèi)的數(shù)據(jù)的距離的平均值是否大于這個閾值。如果大于,則判定該數(shù)據(jù)的噪聲種類不屬于訓(xùn)練集樣本中的任何一類,給予標(biāo)簽為0;如果小于,則將這k個鄰近樣本中出現(xiàn)最多次數(shù)的標(biāo)簽賦予預(yù)測樣本。用di表示鄰域Nk(x)中的距離值,δ為距離閾值,因此式(1)可以寫為:
(2)
本文選取的距離度量是余弦距離,余弦距離可以反映兩個信號頻域上波形的相似性。余弦距離的計算與兩個向量的余弦夾角計算相似,設(shè)x1,x2是訓(xùn)練集中兩個樣本,計算這兩個向量的余弦距離公式如下:
(3)
余弦距離越小,越接近0,表示x1,x2兩個向量越相似,差異越小。
在該算法中有兩個需要確定的參數(shù):一個是k值,一個是距離閾值,一般采用交叉驗證的方法來計算兩個參數(shù)的最優(yōu)值。首先確定k值,在確定最優(yōu)k值大小過程中,為了保證精度足夠高的情況下,先不考慮距離閾值,采用交叉驗證方法確定k值的最優(yōu)取值。確認(rèn)k值之后,將最優(yōu)的k值代入KNN算法,同樣采用十折交叉驗證方法來確定,計算出在最優(yōu)k值下距離閾值的最優(yōu)取值。
在算法參數(shù)確定之后,有距離閾值的KNN算法對噪聲種類識別的具體步驟總結(jié)如下:
1)輸入訓(xùn)練集、測試集,給定算法參數(shù)。
2)計算每個測試樣本與所有訓(xùn)練集樣本的余弦距離,并且按從小到大的順序依次排列。
3)取前k個距離最小的樣本,計算其平均距離,并記錄相應(yīng)樣本的標(biāo)簽。
4)將前k個樣本的平均距離與距離閾值進(jìn)行比較,若平均距離小于閾值,則取前k個樣本中標(biāo)簽出現(xiàn)次數(shù)最多的作為測試樣本的標(biāo)簽,若大于閾值,則將測試樣本的標(biāo)簽標(biāo)記為0。
5)循環(huán)計算第2)~4)步,直到所有測試集樣本都測試后結(jié)束算法。
在機(jī)器學(xué)習(xí)中特征向量是指反映標(biāo)簽不同的數(shù)據(jù)之間的特征的數(shù)據(jù),特征向量的選取會直接影響機(jī)器學(xué)習(xí)算法的正確率。不同類別之間的噪聲時域上的數(shù)據(jù)都是波動無規(guī)律的一組隨機(jī)數(shù)據(jù),特征不明顯,而頻域上的噪聲數(shù)據(jù)更能反映出不同類噪聲之間的差異,因此本文選取頻域上的噪聲數(shù)據(jù)作為特征向量來對噪聲種類進(jìn)行識別。
在信號處理中,通常采用傅里葉變換將時域數(shù)據(jù)轉(zhuǎn)換成頻域數(shù)據(jù)。在進(jìn)行時頻域轉(zhuǎn)換之前,先對數(shù)據(jù)進(jìn)行零均值處理:
x′=xi-μ
(4)
其中:xi表示訓(xùn)練集中的第i個樣本;x′表示零均值處理后的樣本;δ表示樣本的均值。
由于大多數(shù)噪聲數(shù)據(jù)都是離散數(shù)據(jù),因此對噪聲信號進(jìn)行離散傅里葉變換,將數(shù)據(jù)從時域轉(zhuǎn)換到頻域:
(5)
為了排除數(shù)據(jù)量綱對算法識別結(jié)果的影響,還需對頻域噪聲數(shù)據(jù)進(jìn)行歸一化處理:
(6)
最后將零均值傅里葉變換歸一化之后的數(shù)據(jù)作為KNN算法中數(shù)據(jù)集的特征向量。
為了測試有距離閾值的KNN算法對噪聲種類識別的效果,進(jìn)行3個測試實驗,并且采用兩個不同的聲學(xué)數(shù)據(jù)庫測試算法的泛化性能。
第一個實驗采用的數(shù)據(jù)集是多種環(huán)境多通道聲學(xué)噪聲數(shù)據(jù)庫(Diverse Environments Multichannel Acoustic Noise Database, DEMAND)。它是一個真實環(huán)境噪聲庫,采用16個麥克風(fēng)陣列錄音得到的數(shù)據(jù),里面包含17種環(huán)境噪聲。這17種噪聲是包括:準(zhǔn)備食物時的廚房噪聲,簡稱為DK;洗衣機(jī)洗滌時的洗滌噪聲,簡稱DW;客廳里的噪聲,簡稱DL;附近有活動的運(yùn)動場的噪聲,簡稱NF;人流量很大的公園噪聲,簡稱NP;一條水流湍急的河流噪聲,簡稱NR;辦公樓內(nèi)走廊有人經(jīng)過的噪聲,簡稱OH;辦公室的會議室內(nèi)的噪聲,簡稱OM;辦公室內(nèi)三個人使用電腦的噪聲,簡稱OO;繁忙辦公室的自助餐廳內(nèi)的噪聲,簡稱PC;午餐時間大學(xué)餐廳內(nèi)的噪聲,簡稱PR;繁忙地鐵站換乘區(qū)域內(nèi)的噪聲,簡稱PS;游客很多的公共城鎮(zhèn)廣場處的噪聲,簡稱SP;一個繁忙的交通路口噪聲,簡稱ST;公共交通巴士內(nèi)的噪聲,簡稱TB;一輛私家車內(nèi)的噪聲,簡稱TC;地鐵上的噪聲,簡稱TM。這些噪聲文件有4 800 064個數(shù)據(jù)點,每種噪聲有16組。考慮到計算機(jī)計算內(nèi)存問題,在此對數(shù)據(jù)平均取點,進(jìn)行數(shù)據(jù)降維,轉(zhuǎn)換成10 000個數(shù)據(jù)點。由于每種噪聲有16組,將其中12組作為訓(xùn)練集數(shù)據(jù),其余4組作為測試集數(shù)據(jù),總共有204個訓(xùn)練集樣本,68個測試集數(shù)據(jù)。
為了強(qiáng)化產(chǎn)品源頭安全控制,九三集團(tuán)大力構(gòu)建從糧食種植、生產(chǎn)加工、消費(fèi)者食用的全產(chǎn)業(yè)鏈可追溯體系,真正實現(xiàn)從田間到舌尖的安全保障。一方面推進(jìn)“農(nóng)頭工尾”,實現(xiàn)首尾相連,建立龍頭企業(yè)和基地農(nóng)場一體化的經(jīng)營體系,帶動農(nóng)戶豐收與增收同步,提升農(nóng)業(yè)產(chǎn)業(yè)化龍頭企業(yè)作用,讓中國飯碗端得更穩(wěn),中國糧食裝得更滿。另一方面推進(jìn)“糧頭食尾”,延長產(chǎn)業(yè)鏈,在做百姓餐桌上豆制品大廚房的同時,進(jìn)一步強(qiáng)化食品安全生產(chǎn),與國際標(biāo)準(zhǔn)對標(biāo),讓“九三”成為安全、健康的代名詞。
首先進(jìn)行特征向量的選取,該數(shù)據(jù)集都是零均值的數(shù)據(jù),因此直接對數(shù)據(jù)進(jìn)行傅里葉變換,然后對數(shù)據(jù)進(jìn)行歸一化就能得到該數(shù)據(jù)集的特征向量。采用交叉驗證的方法確定有距離閾值的KNN算法的兩個參數(shù)的最優(yōu)取值,分別是K值的最優(yōu)取值為3,距離取值為0.29。采用最佳參數(shù)下的K近鄰模型對測試數(shù)據(jù)集進(jìn)行噪聲強(qiáng)度識別,平均識別精度為100%,說明該模型對噪聲種類的識別十分準(zhǔn)確。
第二個實驗采用的是Noise_92x數(shù)據(jù)庫,由于文獻(xiàn)[13]中也是采用了機(jī)器學(xué)習(xí)算法對該數(shù)據(jù)庫的噪聲種類識別,因此本文將與文獻(xiàn)[13]中算法得到的結(jié)果對比。文獻(xiàn)[13]采取的是將各個噪聲分成78份,取其中40份作為訓(xùn)練數(shù)據(jù),剩下38份作為測試數(shù)據(jù),然后用支持向量機(jī)來分別對各種單噪聲進(jìn)行噪聲種類。該數(shù)據(jù)庫中有8種噪聲類型,只采用白噪聲、車內(nèi)噪聲、粉紅噪聲和嘈雜噪聲四種生活中常見的噪聲作為測試集。為了能更好地與文獻(xiàn)中的識別方法對比,采取相同的數(shù)據(jù)分段方法,將每種單噪聲的一部分作為訓(xùn)練集,另一部分作為測試集,并且對數(shù)據(jù)零均值處理后,再通過傅里葉變換將數(shù)據(jù)轉(zhuǎn)換成頻域,歸一化之后的數(shù)據(jù)作為特征向量,然后對模型參數(shù)進(jìn)行確定,最優(yōu)K值為2,最優(yōu)距離閾值為0.27。最后采用KNN算法對噪聲種類進(jìn)行分類。采用下面是KNN算法噪聲識別精度與文獻(xiàn)[13]中四種噪聲的識別精度對比如圖1所示。
圖1 本文噪聲種類識別與文獻(xiàn)[13]中精度對比Fig. 1 Accuracy comparison of the proposed noise type recognition and that in reference [13]
從圖1中可以看出:在粉紅噪聲和嘈雜噪聲的識別上,本文的識別精度高于文獻(xiàn)[13]中的識別精度,平均精度也高于文獻(xiàn)的識別精度,說明本文的有距離閾值的KNN算法在噪聲種類識別的效果十分好。
第三個實驗是驗證有距離閾值的KNN算法對混合噪聲的識別效果?;旌显肼暿侵赣蓛蓚€或兩個以上的單噪聲疊加而成的噪聲,本文只研究兩個單噪聲線性疊加而成的混合噪聲。首先是DEMAND這個數(shù)據(jù)庫,由于它是一個環(huán)境噪聲,為了構(gòu)建混合噪聲數(shù)據(jù)集,在此考慮兩個地點靠近的兩個環(huán)境噪聲的疊加,因此構(gòu)建DK和DW、DK和DL、DW和DL、OH和OM、OH和OO以及OM和OO這6種混合噪聲。采用與單噪聲相同的數(shù)據(jù)處理方式,并且選取相同的模型參數(shù)對混合噪聲進(jìn)行強(qiáng)度識別,得到識別精度為100%。
其次本文還研究Noise_92x數(shù)據(jù)庫中4個單噪聲相互疊加所生成的混合噪聲的種類識別。由這4種單噪聲兩兩疊加生成6種混合噪聲。同樣采取文獻(xiàn)[13]中的數(shù)據(jù)處理方式,采用與單噪聲相同的模型參數(shù),最后得到識別精度如圖2所示。
圖2 混合噪聲識別精度結(jié)果Fig. 2 Results of mixed noise recognition accuracy
從圖2中可以看出:大部分的混合噪聲識別精度都很高,就是白噪聲跟車內(nèi)噪聲疊加的混合噪聲和車內(nèi)噪聲跟粉紅噪聲疊加的混合噪聲的稍微差一點。混合噪聲平均識別精度為92.54%。由于本數(shù)據(jù)集的采樣樣本是局域數(shù)據(jù),選取的是局部頻域數(shù)據(jù)作為特征向量,以及混合噪聲數(shù)據(jù)分布的復(fù)雜性導(dǎo)致了識別精度降低。
通過上面3個測試實驗證明有距離閾值的KNN算法對噪聲種類識別的高效性,并且對混合噪聲種類的識別精度也很高,在兩個數(shù)據(jù)庫都取得極高的正確率證明算法的泛化性能也很高。
噪聲強(qiáng)度是濾波器參數(shù)選擇的關(guān)鍵影響因素,因此噪聲強(qiáng)度估計是提高去噪效率的關(guān)鍵性參數(shù)。準(zhǔn)確估計混合噪聲中的不同源噪聲強(qiáng)度能夠在去噪過程中,針對混合噪聲中的各種源噪聲選擇相應(yīng)最優(yōu)的去噪方法和去噪?yún)?shù),避免對混合噪聲整體盲目去噪,導(dǎo)致信號失真或去噪不完全,提高去噪效率,因此對于實際信號中的混合噪聲強(qiáng)度估計本文在已知噪聲種類的情況下,提出對混合噪聲強(qiáng)度估計的算法,并且采用多種環(huán)境多通道聲學(xué)噪聲數(shù)據(jù)庫和Noise_92x數(shù)據(jù)庫構(gòu)建的混合噪聲驗證算法的準(zhǔn)確性。
對于隨機(jī)信號來說,用功率表示信號的強(qiáng)度,離散信號的功率計算公式如下:
(7)
從式(7)可以看出離散信號的功率計算與零均值信號的方差計算公式相同,因此與圖像噪聲相同,本文中時序噪聲的強(qiáng)度用方差來表示[16]。對于單噪聲來說,方差即為其強(qiáng)度,但是對于混合噪聲,即多種噪聲疊加而成的噪聲來說,在沒有得到更多關(guān)于混合噪聲的信息情況,要計算組成其的源噪聲的強(qiáng)度非常困難,因此本文首先進(jìn)行假設(shè),假設(shè)混合噪聲是由單噪聲線性疊加而成的,且僅由兩個單噪聲合成,xa,xb是零均值的單噪聲,是個n維的實數(shù)向量,混合噪聲即可表示為xc=xa+xb。
根據(jù)假設(shè)以及方差的性質(zhì)可知,由于混合噪聲中的單噪聲之間是獨(dú)立的,因此混合噪聲中的單噪聲的強(qiáng)度值之和等于混合噪聲的強(qiáng)度,用σ1,σ2是單噪聲的強(qiáng)度,即方差,σ是混合噪聲的強(qiáng)度,可以表示為:
σ1=(∑xa2)/n
(8)
σ2=(∑xb2)/n
(9)
σ=σ1+σ2
(10)
因此每個單噪聲的方差會小于混合噪聲的方差,即σ1,σ2<σ。根據(jù)混合噪聲的方差,可以確定單噪聲方差的變化范圍。將可取值范圍區(qū)間劃分成p份,得到方差的可能取值情況{0,σ/p,2σ/p,…,σ},同時根據(jù)方差性質(zhì)篩選掉一些可能取值,根據(jù)由方差可能取值重構(gòu)混合噪聲,根據(jù)最優(yōu)化準(zhǔn)則找出與預(yù)測混合噪聲最接近的方差作為真實混合信號的估計值。在此要重構(gòu)噪聲信號,必須定義每種混合噪聲的噪聲基。噪聲基是一種零均值、方差為1的單噪聲信號。假設(shè)所有混合噪聲是由兩種某一強(qiáng)度的噪聲基線性疊加構(gòu)成的,因此本文將可行域中滿足條件的方差取值與組成該混合噪聲的噪聲基信號相乘然后疊加可得到重構(gòu)的混合噪聲。
為了評價重構(gòu)混合噪聲與真實混合信號相似程度,定義一個最優(yōu)化準(zhǔn)則,從而得到最優(yōu)的方差估計值。由于余弦距離是判別兩個信號相似度非常有效的方法,因此本文著重考慮余弦距離對強(qiáng)度估計的效果影響,為此本文定義3個優(yōu)化標(biāo)準(zhǔn)分別是:1)重構(gòu)混合信號與真實混合信號各點之差的絕對值之和;2)重構(gòu)混合信號與真實混合信號時域余弦距離;3)重構(gòu)混合信號與真實混合信號頻域余弦距離。用公式表示出這三個標(biāo)準(zhǔn)如下:
(11)
(12)
(13)
對給定的這3個優(yōu)化標(biāo)準(zhǔn)進(jìn)行測試,以真實混合噪聲與重構(gòu)噪聲信號之間強(qiáng)度的誤差率作為評價標(biāo)準(zhǔn),最終確定重構(gòu)混合信號與真實混合信號頻域余弦距離為最優(yōu)化準(zhǔn)則。
強(qiáng)度估計過程就是最優(yōu)化問題,確定最優(yōu)化準(zhǔn)則可以將強(qiáng)度估計算法用下面的公式進(jìn)行描述:
(14)
其中:s1與s2表示混合噪聲中的源噪聲的噪聲基;σ1和σ2為混合噪聲中第一、二個源噪聲的方差;θ表示方差余量,是將式(10)中等式轉(zhuǎn)換成不等式的一個因子,取值范圍是[0,1],通常取0.98。
根據(jù)式(14)的數(shù)學(xué)表述,強(qiáng)度估計算法實現(xiàn)步驟如下:
1)對混合噪聲采用有距離閾值的KNN算法進(jìn)行噪聲種類識別,從而可以得知混合噪聲中的源噪聲種類,并且記錄種類識別結(jié)果。
2)根據(jù)混合噪聲種類中源噪聲的種類,并且根據(jù)噪聲基的定義來選取噪聲基,選取方式為選取均值為0、強(qiáng)度為1的源噪聲作為噪聲基,若有多個樣本滿足,則隨機(jī)選取其中一個作為噪聲基。
3)計算混合噪聲的噪聲強(qiáng)度,以此作為強(qiáng)度估計的上限。以0到強(qiáng)度上限之間p等分,均勻取值作為強(qiáng)度可行域的可能取值,并且兩兩排列組合成強(qiáng)度可能取值組。
4)給定強(qiáng)度余量,根據(jù)混合噪聲中源噪聲強(qiáng)度之和在混合噪聲強(qiáng)度的強(qiáng)度余量之間,排除不滿足該關(guān)系的強(qiáng)度可能取值組,縮小強(qiáng)度可能值的范圍,保留源噪聲強(qiáng)度最有可能的取值組合。
5)根據(jù)源噪聲強(qiáng)度最有可能的取值組合,分別與相應(yīng)源噪聲的噪聲基重構(gòu)混合噪聲,傅里葉變換后計算重構(gòu)混合噪聲與實際混合噪聲的余弦距離,取能使余弦距離最小的那一組取值組合作為該混合噪聲中源噪聲的強(qiáng)度估計值。
為了更加直觀地看出每個樣本強(qiáng)度估計值與真實強(qiáng)度值相差程度,可以通過誤差率來表征。真實值用σ*表示,估計值用σ′表示,誤差率可表示為:
η=|σ′-σ*|/σ*×100%
(15)
在此特別注明的是,由于存在一個標(biāo)簽為0的噪聲類別,對于這類噪聲本文的算法無法得到其單噪聲的強(qiáng)度,因為不能識別出其中單噪聲的種類,也無法得到其強(qiáng)度,這也是該算法的局限性。
為了測試噪聲強(qiáng)度估計的正確率,同樣采用之前所用的兩個數(shù)據(jù)庫(多種環(huán)境多通道聲學(xué)噪聲數(shù)據(jù)庫和Noise_92x數(shù)據(jù)庫)中的噪聲數(shù)據(jù)??紤]到計算量和復(fù)雜度的問題,在此只計算兩個單噪聲線性疊加而成混合噪聲的情況。在進(jìn)行混合噪聲種類識別的實驗中,已經(jīng)構(gòu)建出兩個混合噪聲數(shù)據(jù)集,因此以那兩個混合噪聲數(shù)據(jù)集為例,來對強(qiáng)度估計算法進(jìn)行測試。
圖3 強(qiáng)度估計值與真實值對比圖以及誤差率分布Fig. 3 Comparison of estimated intensity value with true intensity value and error rate distribution
在圖3(a)和(c)表示的是樣本真實強(qiáng)度值與估計強(qiáng)度值的對比,可以看出大部分樣本點的估計值與真實值相近,偏差較大的樣本較少。圖(b)和圖(d)是誤差率分布圖,可以看到的是大部分樣本強(qiáng)度估計誤差率都是在40%以前,平均誤差率為21.34%。從誤差率分布圖可以看出,該強(qiáng)度估計算法對混合噪聲中的源噪聲強(qiáng)度誤差比較小??紤]到噪聲的隨機(jī)性,誤差率不會太小,因此可以認(rèn)為該樣本集的誤差在考慮范圍內(nèi)。證實強(qiáng)度估計算法的有效性。
第二個測試實驗是對Noise_92x數(shù)據(jù)庫構(gòu)造的混合噪聲進(jìn)行測試。采用與DEMAND數(shù)據(jù)庫相同的混合噪聲構(gòu)造方式,將其兩兩線性疊加得到混合噪聲,能得到不重復(fù)混合噪聲信號6種。由于單噪聲的強(qiáng)度就是其方差,因此在6個混合噪聲樣本中源噪聲的強(qiáng)度是已知,可以作為真實值與用算法估計值進(jìn)行對比。
選取混合噪聲中的單噪聲作為噪聲基,估計由這些單噪聲合成6種混合噪聲中源噪聲的強(qiáng)度。噪聲基的確定與DEMAND數(shù)據(jù)庫的同理,確定噪聲基后,按照式(14)不等式方程組可以對6種混合噪聲進(jìn)行強(qiáng)度估計,估計結(jié)果如表1所示。
表1 混合噪聲源噪聲強(qiáng)度真實值與估計值對比 Tab. 1 Comparison of true value and estimated value of intensity of source noises in mixed noises
從表1可以看出,大部分強(qiáng)度估計值與強(qiáng)度真實值都很接近,只有在混合噪聲中的白噪聲強(qiáng)度估計值大部分偏離,總體的平均誤差率為20.58%。可以看出整體的強(qiáng)度估計值與DEMAND數(shù)據(jù)庫相比,兩個數(shù)據(jù)庫的誤差率都差不多是20%左右,可以說明本文所提出的強(qiáng)度估計算法能夠成功估計混合噪聲中源噪聲的強(qiáng)度值,雖然存在一定的偏差,但是所得到的強(qiáng)度估計值能夠幫助選擇更優(yōu)噪聲濾波器及其參數(shù),提高噪聲的去噪效率,獲得更加精準(zhǔn)的信號信息。
本文基于有距離閾值的KNN算法,對噪聲信號數(shù)據(jù)進(jìn)行零均值和歸一化處理,通過對頻域噪聲數(shù)據(jù)的波形相似性來對噪聲種類進(jìn)行識別,在普通的KNN算法上引入距離閾值,擴(kuò)寬算法的泛化性能,成功解決了對單噪聲和混合噪聲的種類識別問題。對DEMAND數(shù)據(jù)庫和Noise_92x數(shù)據(jù)庫兩個聲學(xué)數(shù)據(jù)庫的單噪聲種類識別精度高達(dá)100%,由兩個數(shù)據(jù)庫中單噪聲線性疊加的混合噪聲的噪聲種類識別精度分別為100%和92.54%,從驗證集的實驗結(jié)果證明,有距離閾值的KNN算法對單噪聲和混合噪聲的種類識別有非常高的正確率,表明了算法的準(zhǔn)確性和泛化性。根據(jù)混合噪聲識別結(jié)果,利用強(qiáng)度估計算法,同樣對DEMAND數(shù)據(jù)庫和Noise_92x數(shù)據(jù)庫所構(gòu)建的兩個混合噪聲數(shù)據(jù)集進(jìn)行強(qiáng)度估計,得到強(qiáng)度估計的誤差率分別是21.34%和20.58%,從實驗結(jié)果表明,噪聲強(qiáng)度估計算法能夠?qū)旌显肼曋性丛肼晱?qiáng)度估計作出估計,并且達(dá)到較好的估計結(jié)果,證實了強(qiáng)度估計算法的可行性。
此外,本文所提出的噪聲種類識別算法和結(jié)合混合噪聲種類識別和噪聲基重構(gòu)的強(qiáng)度估計算法為不同領(lǐng)域的實驗數(shù)據(jù)中的噪聲信號識別提供了處理思路,從而對于信號中的噪聲更加針對性地選取去噪濾波器和去噪?yún)?shù),提高去噪效率。在受控?zé)岷司圩兊膶嶒炑b置中,每一次放電過程裝置的診斷系統(tǒng)都會測出大量的實驗數(shù)據(jù)。例如在EAST中等離子體實驗時電子回旋輻射成像(Electron Cyclotron Emission Imaging, ECEI)系統(tǒng)產(chǎn)生了大量的實驗數(shù)據(jù),而這些數(shù)據(jù)一般會受到物理的或診斷設(shè)備的噪聲的影響,從而影響對實驗現(xiàn)象的理解。ECEI數(shù)據(jù)中一定含有熱噪聲[24-26],并且通過對系統(tǒng)噪聲分析,還存在其他噪聲,因此在對數(shù)據(jù)進(jìn)行去噪之前,先對噪聲數(shù)據(jù)進(jìn)行種類識別和強(qiáng)度估計,確定其中含有的可能噪聲種類和噪聲強(qiáng)度,從而可以實現(xiàn)數(shù)據(jù)更加完全的去噪,獲取更加準(zhǔn)確的數(shù)據(jù)信息。
但是不管是噪聲種類識別還是強(qiáng)度估計都存在不可避免的誤差,這是由于噪聲的隨機(jī)性、噪聲基確定方式的多樣性、可行域的取值間距等原因造成的。為了提高算法的正確性,選擇合適特征向量,改進(jìn)算法以減少算法所占用的計算資源,改良噪聲基的確定方式以減少隨機(jī)性誤差是下一步的研究工作。