- 相關推薦
用來評職稱的,非平穩信號去噪方法研究(一)
摘要:針對一類非平穩信號的小波系數的非高斯分布特征,提出了基于軟、硬閾值的自動一維信號除噪法和非平穩信號小波變換除噪法。前者使用[XD,CXD,LXD]=wden(Xtptr,sorh,scal,n,’wavename’)的語法應用Matlab程序輔助工具對非平穩信號進行小波直接分解結構除噪;后者則利用離散小波分解函數DWT將非平穩信號分解為高頻成分和低頻成分,即細節(小尺度)和近似(大尺度)。因此這兩種方法可以獲得比常規的小波去噪方法更好的去噪效果。仿真信號和實際信號的實驗都驗證了這兩種方法的有效性。
關鍵字:非平穩信號 去噪 小波軟硬閾值 DWT Matlab
一、引言
語音信號大多是非平穩信號,研究非平穩信號的去噪在許多領域具有重要的意義。自從小波問世以來,基于小波變換的去噪方法便層出不窮。Donoho和Johnslone提出了硬、軟閾值法和閾值收縮法,就是用閾值的方法來保留大于閾值的小波系數而達到去噪的目的。它們在小波去噪領域應用極其廣泛,并在閾值及閾值函數的選取方面不斷有新的方法提出。再者,利用離散小波變換分解非平穩信號為低頻成分和高頻成分,對于許多信號,低頻成分常蘊涵著信號的特征:而對于高頻成分,常給出信號的細節或差別。例如。人的語音,如果除去高頻成分,語音聽起來有所不同,但仍能知道所說的內容,然而除去足夠的高頻成分,則聽到的是一些無意義的聲音。在小波分析中常用大的近似與細節。近似表示信號的大尺度,低頻率成分;而細節表示的是小尺度,高頻成分,因此原始信號通過兩個互補濾波器產生兩個信號。
二、小波消噪的基本原理方法
運用小波分析進行信號噪聲消除是小波分析的一個非常重要的應用之一。
一個含噪聲的一維信號的模型可表示為:
s(i)=f(i)+δ·e(i) i=0,1,2,3…,n-1
式中, f(i)為真實信號;e(i)為噪聲;s(i)為含噪信號。這里以一個簡單的噪聲,模型加以說明,即e(i)為高斯白噪聲 N(0,1),噪聲級為1。在實際工程中,有用信號通常表現為低頻信號或平穩的信號,噪聲信號則表現為高頻信號,所以消噪過程可按以下方法進行處理。
首先對實際信號進行小波分解,選擇小波并確定分解層次為N,則噪聲部分通常包含在高頻中。然后對小波分解的高頻系數進行門限閾值量化處理。最后根據小波分解的第N層低頻系數和經過量化后的1——N層高頻系數進行小小重構,達到消除噪聲的目的,即抑制信號的噪聲,在實際信號中恢復真實信號。
三、小波消噪的方法一般有3種:
強制消噪處理該方法利用Matlab中DWT函數把小波分解結構中的高頻部分全變成零,即把高頻部分全部消除,再對信號進行重構。此方法簡單,消噪后信號也比較平滑,但易丟失有用信號。
默認閾值消噪處理在Matlab 中利用ddencmp函數產生信號默認閾值,然后利用wden 函數進行消噪處理。
給定軟或硬閾值消噪處理在實際消噪處理過程中,閾值可通過經驗公式獲得,而且這種閾值比默認閾值更具有可信度。
四、非平穩信號的小波軟、硬閾值除噪分析方法
利用小波進行自動一維信號除噪
語法:
[XD,CXD,LXD]=wden(X,tptr,sorh,scal,n.’wavename’)
[XD,CXD,LXD]=wden(C,L,tptr,sorh,scal,n,’wavename’)
說明:
[XD,CXD,LXD]=wden(X,tptr,sorh,scal,n,’wavename’)使用小波系數閾值,返回輸入信號X除噪后的信號XD,輸出參數[CXD,LXD]表示XD的小波分解結構。
輸入參數中,tptr同thselect()函數;sorh為‘ s’或‘h’表示軟硬閾值;n表示在n層上的小波分解;wavename指定小波名稱;scal定義閾值調整比例:
‘one’不設定比例;
‘sln’使用的基于第單層系數噪聲估計,設置比例;
‘mln’用噪聲層的層相關估計,調整比例。
[XD,CXD,LXD]=wden(C,L,tptr,sorh,scal,n,’wavename’)使用同上面一樣選項,返回直接對小波分解結構[C,L]鋤除噪后的信號XD,在n層上,使用‘wavename’指定的正交小波。
利用小波進行自動一維信號除噪。
程序清單如下:
winrect=[100 100 600 600];
figure;
[W,Fs,bits]=wavread('C:\Documents and Settings\ÕÔÑô\×ÀÃæ\456.wav');
tptr='sqtwolog';n=5;
[thr,sorh,keepapp]=ddencmp('den','wv',W(:,1));
scal='one';
[XD,CXD,LXD]=wden((W(:,1)),tptr,sorh,scal,n,'db5');
subplot(4,2,1);plot(W(:,1));
subplot(4,2,3);plot(XD);
subplot(4,2,4);plot(W(:,1)-XD);
scal='sln';
[XD,CXD,LXD]=wden((W(:,1)),tptr,sorh,scal,n,'db5');
subplot(4,2,5);plot(W(:,1)-XD);
subplot(4,2,6);plot(W(:,1)-XD);
[XD,CXD,LXD]=wden((W(:,1)),tptr,sorh,scal,n,'db5');
subplot(4,2,7);plot(W(:,1)-XD);
subplot(4,2,8);plot(W(:,1)-XD);
小波進行自動一維信號除噪如圖1
(圖1)
五、基于小波變換分解的信號去噪技術及實現
研究利用小波變換技術對信號噪聲進行抑制和去除非平穩信號的噪聲,然后利用Matlab軟件編制程序實現了基于小波分解非平穩信號的去噪仿真分析。仿真結果表明小波去除噪聲的效果比傳統的Fourior變換方法具有極大的優越性。
對于非平穩信號進行不斷的分解過程,將近似信號連續分解,就可將信號分解成許多低頻和高頻成分。圖就是這樣一個小波分解樹。圖2中S表示原始信號,A表示近似,D表示細節,下標表示分解的層數。
( 圖2 )小波分解樹示意圖
由于分解過程是重復迭代的,從理論上說可以無限地連續分解下去,但事實上,分解可以進行到細節只包含單個樣本為止。因此在實際應用中,一般依據信號的特性或合適的標準來選擇適當的分解層數。
MATLAB 中提供的離散小波分解函數有
dwt
作用:單層一維小波變換函數。特定的小波或小波濾波器執行單層一維小波分解。
語法:
[cA,cD]=dwt(X,’wavename’)
[cA,cD]=dwt(X,Lo_D,Hi_D)
[cA,cD]=dwt(x,’wavename’,’mode’,mode)
說明:
[cA,cD]=dwt(x,’wavename’) 通過向量X的小波分解,計算近似小波系數向量cA和細節小波系數向量cD.其中:‘wavename’表示指定小波名稱。
[cA,cD]=dwt(X,Lo_D,Hi_D)以給定的濾波器計算單層一維小波分解。其中Lo_D表示分解低通濾波器,Hi_D表示分解高通濾波器,兩者長度一樣。
如果dwt()擴展模式為周期模式,若濾波器長度為Lf,X長度為Lx,則length(cA)=length(cD)=floor((Lx+Lf-1)/2).
[cA,cD]=dwt(x,’wavename’,’mode’,mode)
[cA,cD]=dwt(X,Lo_D,Hi_D,’mode’,mode) 計算小波分解并指定擴展模式。
用dwt()函數,來分解一聲音信號。
程序清單如下:
format compact
[W,Fs,bits]=wavread('c:\Documents and Settings\ÕÔÑô\×ÀÃæ\456.wav');
Fs
bits
winrect=[170 170 800 400];
figure;
subplot(2,1,1);plot(W(:,1));
subplot(2,1,2);plot(W(:,2));
dwtmode('sym');
[cA_L,cD_L]=dwt(W(:,1),'coif4');
[cA_R,cD_R]=dwt(W(:,2),'coif4');
l=length(cA_L);
figure;
subplot(2,2,1);plot(cA_L);
subplot(2,2,2);plot(cD_L);
用dwt()函數來分解一聲音信號如圖4
(圖3)
左聲道細節信號 右聲道細節信號
(圖4)
結語:
由以上圖中的結果均可以看出,用小波進行信號的消噪可以很好地保留有用信號中的尖峰和突變部分。而用Fourior分析進行濾波時,由于信號集中在低頻部分,噪聲分布在高頻部分,所以用低通濾波器進行濾波。但是他不能將有用信號的高頻部分和由噪違拗上起的高頻干擾有效區分。若低通濾波器太窄,則濾波后信號中仍存在大量噪聲;若低通濾波器太寬,則將一部分有用信號當作噪聲濾除了。因此小波分析方法對非平穩信號的消噪比Fourior分析更加優越。
對于非平穩信號的去噪處理,小波軟硬閾值法、小波變換分解法都能夠很好的處理聲音信號。通過MATLAB編制程序進行給定信號的噪聲抑制和非平衡信號的噪聲消除實驗表明:基于以上兩種的消噪方法是一種提取有用信號、展示突變信號的優越方法,具有廣闊的實用價值。
參考文獻
Delyon B,Juditsky A, Benveniste A.Accuracy Analysis forWavelet Approximation[J]. IEEE Transactions on Neural Networks,1995, 6(2): 320-350.
Divid L, Donoho.Denoising by Softthreshold ing.[J]IEEE Transaction on information theory1995, 41(3): 609- 632.
劉貴忠,邸雙亮.小波分析及其應用[M].西安:西安電子科技大學出版社,1997.
吳湘淇.信號、系統與信號處理(下)[M].北京:電子工業出版社,1996.
胡昌華,張軍波,夏軍,等.基于Matlab的系統分析與設計(小波分析) [M].西安:西安電子科技大學出版社,1999.
張明照,劉政波,劉斌等.用MATLAB實現信號分析和處理 [M] 北京:科學出版社,2006.1
劉永本.非平穩信號分析導論 [M] 北京.國防工業出版社,2006.2
【用來評職稱的,非平穩信號去噪方法研究(一)】相關文章:
非現場審計的實現方法研究03-24
基于提升小波構造在圖像去噪的應用研究03-07
基于希爾伯特-黃變換的信號處理方法研究11-22
微型熱流陀螺信號檢測方法03-07
生物醫學信號研究概況03-18
一種降低OFDM信號峰均功率比的方法03-07
基于BP算法紅外遙感圖像去條帶方法研究03-07
基于小波閾值的信號降噪方法03-07