李 海,王 慧
(中山職業(yè)技術(shù)學(xué)院,廣東中山528404)
傾角傳感器是測量平面傾斜角度的工具,由于制造原理自身的限制,在動態(tài)測量中會引入各種干擾信號,如加速度、振動、電磁以及高斯白噪聲等,這使得傳感器信號具有隨機(jī)、非平穩(wěn)的特點,傳統(tǒng)的傅立葉分析方法對這種類型的信號并不適用。小波變換是一種有效的非平穩(wěn)信號處理方法,通過將信號在小波域上進(jìn)行多分辨分析,我們可以得到信號的不同頻率成分。由于小波變換中的窗函數(shù)是自動隨尺度成反比變化的,從而可以在低頻(較大尺度)處用較大時間窗取得較好頻率分辨率,而在高頻處用較小時間窗取得好的時間分辨率。
閾值消噪來源于小波變換的多分辨分析思想。圖1是信號進(jìn)行三層小波分解的示意圖。從圖中我們可以看出,通過對信號S進(jìn)行小波分解,我們將信號首先分解為低頻A1和高頻D1兩部分,接下來再將低頻部分進(jìn)一步分解,而高頻部分則予以保留。由于有效信號和噪聲在小波域中有不同的表現(xiàn),使得它們的小波系數(shù)幅度隨尺度變化的趨勢不同,有效信號的小波系數(shù)隨尺度的增大而增大或保持不變,而噪聲的小波系數(shù)隨尺度的增大而減小。因此尺度最小時,就認(rèn)為小波系數(shù)幾乎完全由噪聲所控制,而當(dāng)變換尺度最大時,小波系數(shù)幾乎完全由信號所控制,此特性為區(qū)分信號和噪聲提供了依據(jù)[1]。
圖1 小波塔式分解圖
小波閾值消噪一般分為3步驟:
(1)小波分解:選取小波類型并確定分解的尺度,對信號S進(jìn)行N個尺度的小波分解后得到每層的小波系數(shù);
(2)高頻系數(shù)的閾值處理:對每一層高頻系數(shù)選擇一個閾值進(jìn)行量化處理;
(3)信號重構(gòu):利用低頻系數(shù)和經(jīng)過量化處理后的高頻系數(shù),進(jìn)行信號的小波重構(gòu)。
第二步中閾值處理一般有軟、硬閾值方法:設(shè)wj為分解所得的第j層小波系數(shù),λ為閾值,則硬閾值處理的方法為:
而軟閾值則為:
這兩種方法有各自的缺點。硬閾值由于在λ點處不連續(xù),所以會導(dǎo)致在重構(gòu)信號時出現(xiàn)Pseudo—Gibbs現(xiàn)象,軟閾值函數(shù)雖然整體連續(xù)性好,但是w*j和wj之間總是存在固定的偏差,而且軟閾值函數(shù)的導(dǎo)數(shù)不連續(xù),從而具有一定的局限性。本文采用改進(jìn)的閾值函數(shù)[2]:
從前面的介紹中我們可以知道,閾值的確定是非常重要的。如果閾值太小,信號仍會有噪聲存在;如果閾值太大,那么重要的信息就會被一同除去,造成偏差過大。每一個尺度都估計合理的閾值是比較困難的,大多數(shù)閾值選擇過程是針對一組小波系數(shù),根據(jù)統(tǒng)計特性計算出一個閾值。當(dāng)信號f的高頻部分在噪聲域很小時,極大極小值閾值規(guī)則和無偏似然估計原理比較保守(不易丟失信號中的有用成分,但只除去較少的噪聲)。啟發(fā)式閾值選取和固定閾值去噪效果更好,但它們有可能把有用的高頻特征信號當(dāng)作噪聲信號消除。
上述方法需要預(yù)先知道信號或者對信號的噪聲進(jìn)行方差估計,在實際應(yīng)用中有很大的局限。所以這里采用GCV規(guī)則[3],這是一種不需要估計噪聲方差的方法。本文采用對每一層的高頻系數(shù)都采用不同的閾值標(biāo)準(zhǔn)。這樣一來,N個尺度的小波分解就需要N個不同的閾值。問題就轉(zhuǎn)換成為多元函數(shù)求最優(yōu)值的問題。遺傳算法是一種模仿生物進(jìn)化過程的計算方法。通過對群體中的所有個體進(jìn)行選擇、交叉和變異操作,遺傳算法可以得到適應(yīng)能力最強(qiáng)的個體[4]。這里,我們將閾值作為遺傳操作的個體,目的是得到效果最佳的閾值(個體)。關(guān)于遺傳算法的文獻(xiàn)較多,這里就不詳細(xì)介紹其具體內(nèi)容,下面直接說明如何利用遺傳算法結(jié)合GCV規(guī)則進(jìn)行閾值的選取。
在實際的去噪問題中由于原始信號的小波系數(shù)并不知道,均方誤差函數(shù)(MSE)的計算變得很困難。假設(shè)原始信號在某點的值fi可以近似由它的領(lǐng)域值線性表示。因為領(lǐng)域系數(shù)gi的線性組合可以在某種程度上消除部分噪音,所以用這個較接近原始信號且與噪聲獨立的值來近似計算均方誤差[5]。設(shè)是對的閾值處理后結(jié)果,于是將預(yù)測gi的能力作為最優(yōu)閾值選擇的衡量,GCV函數(shù)定義為:
由于小波變換的正交性,將式(4)中的gi換成小波系數(shù)wi仍舊成立。所以在小波域中GCV函數(shù)定義為:
于是可以通過最小化GCV(λ)得到GCV值:
其中N為小波系數(shù)的個數(shù),N0表示信號在閾值萎縮中被置為0的系數(shù)個數(shù)。wi和wλi分別表示帶噪小波系數(shù)和閾值萎縮后的系數(shù)。與通常的閾值估計方法不同的是,它不需要估計噪聲的方差,并且由于用這種準(zhǔn)則得到的最優(yōu)閾值趨近于理想閾值,所以經(jīng)常能夠獲得較好的去噪效果。
首先是種群的產(chǎn)生。設(shè)種群大小用popsize表示,個體基因數(shù)用var_num表示。根據(jù)問題處理的對象,將個體的基因定義為閾值本身,即每個層次的閾值[6]。各個層次的閾值共同組成一個個體,即 P={P1,P2,…,Pi,…,Ppopsize},i=1,2,…,popsize,其中:
var_min和var_max分別是個體所能取得的最小和最大值。
遺傳算法根據(jù)優(yōu)勝劣汰的法則來篩選個體,個體的好壞用適應(yīng)度大小來表示。由前面GCV介紹我們可以知道,對于個體Pi,設(shè)其適應(yīng)度為fi,那么尋找最優(yōu)個體的過程就是尋找使得GCV(Pij)最小的個體的過程,于是,我們將適應(yīng)度函數(shù)設(shè)定為:
初始化種群和個體,并確定適應(yīng)度函數(shù)后,我們進(jìn)行選擇操作。使用輪盤賭的法則,適應(yīng)度越高的個體,在輪盤上占有的面積就越大,被選擇上的幾率就越高。選擇前先均勻隨機(jī)產(chǎn)生一個[0,1]之間的數(shù),顯然適應(yīng)度越高的個體被選擇到的幾率就越大,被多次選擇到的幾率也越大,均勻的隨機(jī)數(shù)則能夠保證種群的多樣性。
然后是交叉操作,交叉就是對已選擇的兩個父個體進(jìn)行重新組合產(chǎn)生新個體的過程。令父個體為P1和P2,P1={P11,P12,…,P1j}以及 P2={P21,P22,…,P2j}。隨機(jī)地產(chǎn)生一個和 Pi等長的{0,1}掩碼向量,例如產(chǎn)生的向量為[111203… 0j-11j],則根據(jù)此掩碼向量得到子個體:C1={P11P12P23…P2j-1P1j},即掩碼向量元素為1則將父個體1的對應(yīng)位置基因傳給子個體,元素為0則將個體2的基因傳給子個體。
最后是變異操作,讓個體依照較少的概率或步長進(jìn)行轉(zhuǎn)變,從而產(chǎn)生新的個體。變異操作決定了遺傳算法的局部搜索能力。本文采用隨機(jī)變異的方法,使之具有較強(qiáng)的局部隨機(jī)搜索能力的同時,還能保持種群的多樣性,防止出現(xiàn)非成熟收斂。首先按照Gaussian規(guī)則產(chǎn)生3個變異的個體:
然后對三個個體分別進(jìn)行如下處理:
(1)隨機(jī)產(chǎn)生一個范圍在[1,var_num]之間的數(shù)i,然后在C1中的基礎(chǔ)上增加一個范圍在[var_min,var_max]之間的隨機(jī)數(shù)。
(2)第二個個體C2保持不變。
完成上述步驟后,產(chǎn)生一個[0,1]之間的隨機(jī)數(shù) r,對r值進(jìn)行判斷:
(1)對于r>0.5,在 C1、C2、C3中選擇適應(yīng)度最大的個體,并用其代替種群中適應(yīng)度最小的個體。
(2)對于r<0.5,在 C1、C2、C3中選擇適應(yīng)度最小的個體,并用其代替種群中適應(yīng)度最小的個體。
(3)如果r=0.5,則用 C1、C2、C3中選擇適應(yīng)度中等的個體代替種群中適應(yīng)度最小個體。
實驗中使用的傾角傳感器型號是芬蘭VTI公司生產(chǎn)的SCA61T傾角傳感器,這是一款單軸的高精度產(chǎn)品,采用電容式感應(yīng)原理,測量范圍是±90°,采用單級5 V供電,比例電壓輸出,支持?jǐn)?shù)字SPI或模擬輸出,內(nèi)置溫度傳感器,穩(wěn)定性好,分辨率高,低噪聲,工作溫度范圍寬。
實驗處理了傾角傳感器處于60度斜坡并且不斷上升時的信號。上升的過程不是絕對的勻速運動,中間會夾雜速度的突然變化。由于運行的平面摩擦較大,而傾角傳感器的靈敏度高,響應(yīng)時間短,所以在采集過程中很容易引入干擾,采集到信號中除了加速度或者傾斜所引起的突變以外,還有很多由于摩擦所引起的突變。用基于rigrsure規(guī)則的處理方法和基于GCV規(guī)則處理方法進(jìn)行對比。
圖2 實驗結(jié)果對比
圖2中a、b和c分別是原始信號、rigrsure規(guī)則結(jié)果和GCV規(guī)則結(jié)果。實驗的結(jié)果表明:處理傳感器輸出的非平穩(wěn)信號,運用GCV規(guī)則的信號處理方法能得到更好的消噪結(jié)果。但是不能完全消除由于速度發(fā)生突然變化而引起的加速度干擾成份。
針對傳感器信號屬于非平穩(wěn)的隨機(jī)信號的情況,本文給出了基于GCV規(guī)則的小波閾值處理方法。根據(jù)要求解問題的特點,通過采用具有強(qiáng)大最優(yōu)結(jié)果搜索能力的遺傳算法,我們可以得到近似最優(yōu)的閾值。實驗表明,采用遺傳算法的閾值,并使用GCV規(guī)則,小波閾值消噪的效果比采用rigrsure規(guī)則的方法效果更好。
[1]韋力強(qiáng),譚陽紅,賀迅宇,等.基于新閾值函數(shù)的小波閾去噪研究[J].計算技術(shù)與自動化,2006,25(4):189 -191.
[2]付煒,彭光劍.基于小波閾值去噪的改進(jìn)方法[J].電子測量技術(shù),2006,29(6):46 -48.
[3]Nason G P.Wavelet Shrinkage Using Cross-Validation[J].Journal of the Royal Statistical Society.Series B(Methodological),1996,58(2):463 -479.
[4]王小平,曹立明.遺傳算法—理論、應(yīng)用與軟件實現(xiàn)[M].西安:西安交通大學(xué)出版社,2003.
[5]馮軻.基于GCV規(guī)則的小波閾值去噪算法研究[J].科學(xué)之友,2007(10):59-60.
[6]馬鈞水,劉貴忠,賈玉蘭.改進(jìn)遺傳算法的搜索性能的大變異操作[J].控制理論與應(yīng)用,1998,15(3):405-407.