天天看點

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

一、小波門檻值法去噪概述

電能品質擾動信号的噪聲大多以高斯白噪聲的形式存在,利用小波變換對信号進行多分辨率分解,由于小波變換具有去除資料相關性的特點,故可以将有用信号與噪聲的能量分離開來。信号中有效的資訊主要集中在較大的小波系數上,而噪聲大多分布在較小的系數中,是以通過設定門檻值可以将低于該門檻值的系數當做噪聲去除進而達到濾波的目的。

假設一個線性非平穩并含噪的一維信号表達式如下:

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

其中,f(t)為原始信号,ε(t)為高斯白噪聲,x(t)為含噪信号。接着根據該信号的特點,采用合适的小波基和分解層數,對x(t)進行一維離散小波變換:

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

其中,ψ(t)為離散小波尺度函數。式(2)對應的小波系數表達式為:

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

其中,dj,k為含噪信号x(t)經過小波變換多尺度分解後的各層小波細節系數,uj,k與ej,k分别為原始信号f(t)和噪聲信号ε(t)經過小波變換多尺度分解後的細節系數。基于小波門檻值去噪的流程圖如圖1所示。

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

圖1 小波去噪流程

小波門檻值去噪的具體步驟如下:

(1)多尺度分解:根據含噪信号的特點選擇适合的小波基和分解層數,經過離散小波變換得到各層的小波細節系數dj,k;

(2)門檻值去噪:通過确定門檻值λ和門檻值函數對小波細節系數dj,k進行處理,得到處理後的各層小波細節系數d’j,k;

(3)小波重構:依據得到的小波細節系數d’j,k和近似系數對電能品質擾動信号進行重構,得到去噪後的擾動信号x’(t)。

這些步驟中,門檻值和門檻值函數的選擇是小波門檻值去噪的關鍵,直接影響着重構信号的品質。如果選擇的門檻值過大,則會導緻有用的信号被當做噪聲濾除;門檻值過小,則導緻噪聲的濾除不夠徹底。傳統的硬、軟門檻值函數如下所示:

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

軟門檻值函數的定義:

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

式中sign(dj,k)為符号函數,,N為信号長度;σ=Mmid/0.6745,Mmid是最低層小波系數的中位數。根據硬、軟門檻值函數可以看出,對含噪信号進行小波多尺度分解後,将每一層的細節系數與門檻值相比較,保留大于門檻值的系數,将小于門檻值的系數置零,由此得到去除噪聲後的細節系數。但是,硬門檻值函數在信号長度内不是連續的,在λ處存在間斷點,使得重構的信号不夠平滑,重構信号後會産生“吉布斯”現象。軟門檻值函數雖然保證了連續性的問題,但是其噪聲估計值與真實值存在着固定的偏差,不僅容易造成噪聲去除不夠徹底,還可能會丢失部分有用的資訊。

2 小波門檻值去噪的改進方法

通過上一節對硬、軟門檻值的分析可知,傳統小波門檻值去噪方法對于各層的小波系數門檻值的設定是恒定不變的,但是噪聲在各層小波系數中都是不太相同的,是以采用固定的門檻值其自适應性較差,去噪效果不太理想。為了解決上述的這些問題,提出了一種改進的小波門檻值去噪算法,它會根據噪聲的分布情況自适應的修正門檻值,并且其門檻值函數通過可變參數可以實作多種不同的軟硬特征,使其更加适用于多種不同類型的電能品質擾動信号。

2.1 門檻值的修正

門檻值作為區分有效資訊與噪聲的邊界,它的選擇直接影響着去噪效果。傳統的通用門檻值對每個尺度的小波細節系數都做了同樣的處理,但是噪聲的分布具有随機性,用一個固定的門檻值進行處理會使得有些尺度上的有用資訊丢失,而有些尺度上的噪聲濾除的不夠幹淨,這樣就無法達到較好的去噪效果。考慮到噪聲的小波細節系數随尺度的增加而減小,而信号的小波細節系數随尺度的增加而增大。是以為了使門檻值的取值更加符合噪聲的變化規律,本章結合了文獻[7]中的峰和比(peak-to-sum ratio,PSR),提出了基于PSR的修正因子,對通用門檻值進行修正,第j層小波細節系數的峰和比公式如下:

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

式中,dj,k是小波細節系數。在小波的多尺度分解中,信号的有用資訊主要集中在較大的小波細節系數上,而噪聲成分則分散在各層的小波細節系數中。是以,當Sj值較大時,意味着這一尺度存在着較大的系數,說明了該層包含的有用資訊較多;而Sj值較小時,則意味者這一尺度存在着較小的系數,說明了該層包含的噪聲較多。基于這一特點,則引入修正因子Fj為:

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

式中,Lj為第j層小波細節系數的長度。将Fj與ln(j+1)相結合來對門檻值進行自适應調節。經過修正後的門檻值為:

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

由式(8)可知,ln(j+1)随着j的增加逐漸增大,相應的門檻值就逐漸減小,這符合噪聲分布的一般規律。2.2 改進門檻值函數

為了克服傳統硬門檻值函數在門檻值處不連續和軟門檻值函數會造成部分高頻資訊丢失的問題,提出了一種新的門檻值函數如下所示:

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

式中sign函數為符号函數。該門檻值函數在(-!,+!)内連續,證明如下:

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

該函數在λj處連續,同理可得函數在-λj處也是連續的。證明其确實克服了硬門檻值函數在門檻值處不連續的問題。并且該門檻值函數在dj,k→±!時等效于硬門檻值函數。證明如下:

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

由上式可以看出,随着小波細節系數dj,k的增加,新門檻值函數曲線逐漸向硬門檻值函數逼近,克服了軟門檻值函數所存在的恒定偏差的問題。新門檻值函數的示意圖如圖2所示。

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

圖2 新門檻值函數曲線圖

2.3 小波基與分解層數

應用小波變換對電能品質擾動信号進行去噪、突變點定位和特征提取時,小波基的選擇至關重要,隻有選擇了合适的小波基,才能準确的對電能品質擾動進行分析。是以,在實際應用中,需要根據所選信号的特征來選擇合适的小波基。小波變換的實質是用一系列的小波函數去逼近原始信号的過程,對于同一個信号,選取不同的小波基,其小波變換後的結果也是不同的。對電能品質信号進行小波變換分析,根據其波形的特點,需要采用時域和頻域同時具有良好的局部性,且對不規則的部分比較敏感的小波。通常利用傳統的軟、硬門檻值函數來考察小波變換對信号去噪效果的影響。為了驗證去噪效果,通常采用信噪比(Signal Noise Ratio,SNR)和均方根誤差(Root Mean Square Error,RMSE)作為評價标準。其定義表達式如下所示:

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

當信噪比(SNR)越高,均方根誤差(RMSE)越低時,就證明了該信号的去噪效果越好。這裡選擇電壓中斷擾動信号作為原始資料,通過将不同類型的小波基函數與軟、硬門檻值函數相結合來進行小波門檻值去噪。

二、部分源代碼

%% 小波多種方法去噪和信噪比
 clear
 close all
 clc%% 産生一個長為2^10點,包含高斯白噪聲的正弦信号,信噪比0.1。
sqrt_snr=2;
figure
 subplot(211)
 plot(x)
 title(‘原始信号’)
 subplot(212)
 plot(xn)
 title(‘去噪信号’)
 set(gcf,‘Color’,[1 1 1])lev=5;
 %% 用全局預設門檻值進行去噪處理
 [thr,sorh,keepapp]=ddencmp(‘den’,‘wv’,x); % 擷取全局預設門檻值
 xd=wdencmp(‘gbl’,x,‘dmey’,lev,thr,sorh,keepapp); %利用全局預設門檻值對信号去噪      

三、運作結果

【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】
【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】
【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】
【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】
【數字信号去噪】基于matlab小波阙值數字信号去噪和求信噪比【含Matlab源碼 2191期】

四、matlab版本及參考文獻

1 matlab版本

2014a

繼續閱讀