小波包分解與構(gòu)建目錄
1小波包分解、重構(gòu)原理1.1小波變換
小波變換只對(duì)訊號(hào)的低頻部份做進(jìn)一步分解,而對(duì)高頻部份也即訊號(hào)的細(xì)節(jié)部份不再繼續(xù)分解,所以小波變換才能挺好地表征一大類以低頻信息為主要成份的訊號(hào),不能挺好地分解和表示包含大量細(xì)節(jié)信息(細(xì)小邊沿或紋理)的訊號(hào),如非平穩(wěn)機(jī)械震動(dòng)訊號(hào)、遙感圖像、地震訊號(hào)和生物醫(yī)學(xué)訊號(hào)等。
1.2小波包變換
小波包變換既可以對(duì)低頻部份訊號(hào)進(jìn)行分解,也可以對(duì)高頻部份進(jìn)行分解力的正交分解法的基本過程,并且這些分解既無冗余,也無疏漏,所以對(duì)包含大量中、高頻信息的訊號(hào)才能進(jìn)行更好的時(shí)頻局部化剖析。
2小波包使用到的函數(shù)及示例代碼
以上即是小波包樹,其中節(jié)點(diǎn)的命名規(guī)則是從(1,0)開始,叫1號(hào)力的正交分解法的基本過程,(1,1)是2號(hào)………依這種推,(3,0)是7號(hào),(3,7)是14號(hào)。每位節(jié)點(diǎn)都有對(duì)應(yīng)的小波包系數(shù),這個(gè)系數(shù)決定了頻度的大小,也就是說頻度信息早已有了,而且頻域信息在那兒呢?那就是order。這個(gè)order就是這種節(jié)點(diǎn)的次序,也就是頻度的次序。
2.1小波包分解2.1.1T=wpdec(X,N,‘wname’)
T=wpdec(X,N,‘wname’)小波分解函數(shù)
T為小波包分解樹,X為待分解訊號(hào),N分解層數(shù),'wname’小波基選擇
% Load signal. 載入原始信號(hào)
load noisdopp;
x = noisdopp;
figure(1); subplot(211);
plot(x); title('Original signal');
% Decompose x at depth 3 with db1 wavelet packets
% using Shannon entropy.
wpt = wpdec(x,3,'db1');
plot(wpt) % 打印小波包分解樹
2.1.2X=(T,N)
X=(T,N)小波包分解系數(shù)函數(shù)
X為返回的小波包系數(shù),T為小波包分解樹,N為小波樹節(jié)點(diǎn)
% Read packet (2,1) coefficients. 讀取小波包(2,1)節(jié)點(diǎn)系數(shù)
cfs = wpcoef(wpt,[2 1]);
figure(1); subplot(212);
plot(cfs); title('Packet (2,1) coefficients');
須要注意的是:小波包節(jié)點(diǎn)系數(shù)的寬度等于250,為原始訊號(hào)寬度1000/N=250。其中N為2^2,為第N層小波包樹的節(jié)點(diǎn)個(gè)數(shù)
2.2小波包構(gòu)建2.2.1X=(T,N)
X=(T,N)小波包構(gòu)建系數(shù)函數(shù)
X為構(gòu)建后的小波包節(jié)點(diǎn)系數(shù),T為小波包分解樹,N為小波分解節(jié)點(diǎn)數(shù)
% Reconstruct packet (2,1). 重構(gòu)小波包節(jié)點(diǎn)系數(shù)(2,1)
rcfs = wprcoef(wpt,[2 1]);
figure(1); subplot(212);
plot(rcfs); title('Reconstructed packet (2,1)');
須要注意的是:小波構(gòu)建系數(shù)的訊號(hào)寬度與原始訊號(hào)寬度一致
2.2.2[T,X]=(T,N)
[T,X]=(T,N)用于合并小波包樹的節(jié)點(diǎn)
返回T:為更改后的小波包樹T
返回X:合并后的節(jié)點(diǎn)系數(shù)
T:輸入的小波包數(shù)T
N:為合并的節(jié)點(diǎn)
% Recompose packet (1,1) 重寫小波包節(jié)點(diǎn)(1,1)
wpt = wpjoin(wpt,[1 1]);
% Plot wavelet packet tree wpt.
plot(wpt)
% 創(chuàng)建小波包樹
load noisdopp; x = noisdopp;
t = wpdec(x,3,'db3');
t = wpjoin(t,[4;5]); % 合并第4、5個(gè)小波樹節(jié)點(diǎn)
plot(t);
2.2.3T=write(T,‘cfs’,NODE,COEFS)
T=write(T,‘cfs’,NODE,COEFS)將
返回T:更改后的小波包樹
T:輸入的小波包樹
NODE:小波包節(jié)點(diǎn)序號(hào)
COEFS:小波包系數(shù)
% 將值寫入第4、5、6個(gè)小波包樹節(jié)點(diǎn)中
sNod = read(t,'sizes',[4,5,7]);
cfs4 = zeros(sNod(1,:));
cfs5 = zeros(sNod(2,:));
cfs7 = zeros(sNod(3,:));
t = write(t,'cfs',4,cfs4,'cfs',5,cfs5,'cfs',7,cfs7);
% Plot tree t and click the node (0,0) (see the plot function).
% 打印原始節(jié)點(diǎn)(0,0),即小波包重構(gòu)信號(hào)的節(jié)點(diǎn)
plot(t)
2.2.4X=wprec(T)
對(duì)于一位小波包分解構(gòu)建
X=wprec(T)重組小波包
X:為小波包分解樹
T:構(gòu)建后的訊號(hào)
wpt = write(t,'cfs',4,cfs4,'cfs',5,cfs5,'cfs',7,cfs7);% 將值寫入第4、5、6個(gè)小波包樹節(jié)點(diǎn)中
xrec = wprec(wpt); % 重構(gòu)后的信號(hào)
2.2.5原始訊號(hào)小波包分解后的構(gòu)建方式可由小波包分解后,借助(T,N)函數(shù),對(duì)最后一層的小波包進(jìn)行系數(shù)構(gòu)建,得到與原始數(shù)據(jù)寬度一樣的構(gòu)建小波包系數(shù),之后將小波包系數(shù)相乘,可以得到原始訊號(hào)可以使用write(T,‘cfs’,NODE,COEFS)函數(shù),將小波包系數(shù)加入小波包分解樹,之后借助wprec(T)函數(shù)進(jìn)行原始訊號(hào)構(gòu)建,即可得到原始訊號(hào)2.3小波包去噪2.3.1[THR,SORH,,CRIT]=(IN1,IN2,X)
[THR,SORH,,CRIT]=(IN1,IN2,X)
THR是閥值,SORH是閥值函數(shù),近似系數(shù),CRIT熵的選擇(僅用于小波包)
:選擇0或1可對(duì)近似系數(shù)進(jìn)行閥值處理
IN1:‘den’表示去噪,‘cmp’表示壓縮.
IN2:'wv’用于小波,'wp’用于小波包
X:表示待去噪的訊號(hào)
下邊是小波去噪代碼:
[thr,sorh,keepapp] = ddencmp('den','wv',x);
[A,D] = dwt(x,'db1');
noiselev = median(abs(D))/0.6745;
thresh = sqrt(2*log(length(x)))*noiselev;
2.3.2[XC,CXC,LXC,PERF0,]=(‘gbl’,X,‘wname’,N,THR,SORH,)
[XC,CXC,LXC,PERF0,]=(‘gbl’or‘lvd’,X,‘wname’,N,THR,SORH,)
返回值XC:
返回值CXC:XC的小波包分解結(jié)構(gòu)
返回值LXC:XC的小波包分解結(jié)構(gòu)
返回值PERF0:恢復(fù)L^2的范數(shù)比率,是用百分制表明降噪所保留的能量成份
返回值:壓縮L^2的范數(shù)比率,是用百分制表明壓縮所保留的能量成份
‘gbl’:表示每層都采用同一個(gè)閥值進(jìn)行處理
‘lvd’:對(duì)每層采用不同的閥值進(jìn)行處理
X:輸入的訊號(hào)
‘wname’:小波基
N:小波分解的層數(shù)
THR:閥值向量的寬度
SORH:閥值函數(shù),'s’軟閥值,'h’硬閥值
:0對(duì)低頻近似系數(shù)不進(jìn)行閥值量化處理;1對(duì)低頻近似系數(shù)進(jìn)行閥值量化處理
[thr,sorh,keepapp] = ddencmp('den','wv',x);
xd = wdencmp('gbl',x,'db3',2,thr,sorh,keepapp);
subplot(211)
plot(x); title('Original Signal');
subplot(212)
plot(xd); title('Denoised Signal');
參考文獻(xiàn)
1.自帶的help
2.