wpdec2函式
% 當前延拓模式是補零
% 裝載影象
load tire
% x包含裝載的影象
% 使用下面的函式進行影象分解
t = wpdec2(x,2,'db1');
% 預設的熵準則是shannon熵
% 畫出小波包四叉樹
plot(t)
###################################
wpdec函式
% 當前延拓模式是補零
% 裝載訊號
load noisdopp; x = noisdopp;
% 使用db1小波包對x進行3層分解,使用shannon熵
wpt = wpdec(x,3,'db1','shannon');
% 結果得到了小波包樹wpt
% 畫出小波包樹
plot(wpt)
###################################
wpfun函式
% 計算db2的wn 函式,n 從0~7,產生db2小波包
[wp,x] = wpfun('db2',7);
% 畫出各個wn小波包
for i=1:8
w=wp(i,:);
subplot(4,2,i);
plot(w);
ylabel(['w',num2str(i)]);
end
###################################
wpjoin函式
% 當前延拓模式是補零
% 載入訊號
load noisdopp; x = noisdopp;
% 使用db1小波包在第3層對x進行分解
wpt = wpdec(x,3,'db1');
% 畫出小波包樹 wpt
plot(wpt)
% 重組小波包(1,1)或結點2
wpt = wpjoin(wpt,[1 1]);
% 畫出小波包樹wpt
plot(wpt)
###################################
wprcoef函式
% 當前延拓模式是補零
% 載入訊號
load noisdopp; x = noisdopp;
figure(1); subplot(211);
plot(x); title('原始訊號');
% 利用db1小波包在第3層對x進行分解,使用shannon熵
t = wpdec(x,3,'db1','shannon');
% 畫出小波包樹
plot(t)
% 重構小波包結點(2,1)
rcfs = wprcoef(t,[2 1]);
figure(1); subplot(212);
plot(rcfs); title('重構小波包結點(2,1)');
###################################
wpsplt函式
% 當前延拓模式是補零
% 載入訊號
load noisdopp;
x = noisdopp;
% 利用db1小波包在第3層對x進行分解
wpt = wpdec(x,3,'db1');
% 畫出小波包樹
plot(wpt)
% 分解小波包結點(3,0)
wpt = wpsplt(wpt,[3 0]);
% 或使用wpsplt(wpt,7)函式,兩者等價
% 畫出小波包樹wpt
plot(wpt)
###################################
wpcutree函式
% 當前延拓模式是補零
% 裝載訊號
load nois
dopp; x = noisdopp;
% 使用db1小波包對x進行3層分解,使用shannon熵
wpt = wpdec(x,3,'db1');
% 畫出小波包樹
plot(wpt)
% 剪掉第2層小波包樹
nwpt = wpcutree(wpt,2);
% 畫出新的小波包樹
plot(nwpt)
###################################
wpcoef函式
% 當前延拓模式是補零
% 裝載訊號
load noisdopp; x = noisdopp;
figure(1); subplot(211);
plot(x); title('原始訊號');
% 使用db1小波包對x進行3層分解,使用shannon熵
wpt = wpdec(x,3,'db1');
% 畫出小波包樹
plot(wpt)
% 讀取小波包(2,1)的係數
cfs = wpcoef(wpt,[2 1]);
figure(1); subplot(212);
plot(cfs); title('小波包(2,1)的係數');
###################################
wp2wtree函式
% 當前延拓模式是補零
% 裝載訊號
load noisdopp; x = noisdopp;
% 使用db1小波包對x進行3層分解,使用shannon熵
wpt = wpdec(x,3,'db1');
% 畫出小波包樹
plot(wpt)
% 計算小波樹
wt = wp2wtree(wpt);
% 畫出小波樹
plot(wt)
###################################
wentropy函式
% 當前的延拓模式是補零
% 產生原始訊號
x = randn(1,200);
% 計算x的shannon熵
e1 = wentropy(x,'shannon')
% 計算x的對數能量熵
e2 = wentropy(x,'log energy')
% 計算x的閾值熵,閾值取為0.2
e3 = wentropy(x,'threshold',0.2)
% 計算x的「sure」熵,閾值等於3
e4 = wentropy(x,'sure',3)
% 計算x的範數熵,範數指數為1.1
e5 = wentropy(x,'norm',1.1)
###################################
entrupd函式
% 當前的延拓模式是補零
% 裝載訊號
load noisdopp; x = noisdopp;
% 使用預設熵(shannon熵),用db1小波對x進行2層分解
t = wpdec(x,2,'db1','shannon');
% 讀取所有結點的熵值
nodes = allnodes(t);
ent = read(t,'ent',nodes);
ent'
% 更新結點熵
t = entrupd(t,'threshold',0.5);
nent = read(t,'ent');
nent'
###################################
besttree函式
% 當前的延拓模式是補零
% 裝載訊號
load noisdopp; x = noisdopp;
% 使用預設熵(shannon熵),用db1小波對x進行3層分
wpt = wpdec(x,3,'db1');
% 分解小波包[3 0]
wpt = wpsplt(wpt,[3 0]);
% 畫出小波包樹
plot(wpt)
% 計算最優小波包樹
bt = besttree(wpt);
% 畫出最優小波包樹
plot(bt)
###################################
wpsplt函式
% 當前的延拓模式是補零
% 裝載訊號
load noisdopp;
x = noisdopp;
% 使用預設熵(shannon熵),用db1小波對x進行3層分解
wpt = wpdec(x,3,'db1');
% 分解小波包[3 0]
wpt = wpsplt(wpt,[3 0]);
% 畫出小波包樹
plot(wpt)
% 計算最優小波包樹
blt = bestlevt(wpt);
% 畫出最優小波包樹
plot(blt)
###################################
小波包變換的入門 MATLAB
最近用到小波方面的知識,尤其是小波包變換。小波包變換的優勢 大部分書上 網上都有,我就簡單摘了點過來 由於正交小波變換只對訊號的低頻部分做進一步分解,而對高頻部分也即訊號的細節部分不再繼續分解,所以小波變換能夠很好地表徵一大類以低頻資訊為主要成分的訊號,但它不能很好地分解和表示包含大量細節資訊 細小...
小波變換應用
改變塊變換編碼中所使用變換的種類 dft與dct 結果圖如下 dct變換結果優於dft。離散傅利葉變換dft是傅利葉變換在時域和頻域上都呈離散的形式。實際應用中通常採用快速傅利葉變換計算dft。離散余弦變換dct是與傅利葉變換相關的一種變換,dct相當於乙個長度大概是它兩倍的dft,但dct是對乙個...
傅利葉變換介紹及應用
傅利葉變換 transform e de fourier 在物理學 數論 組合數學 訊號處理 概率論 統計學 密碼學 聲學 光學 海洋學 結構動力學等領域都有著廣泛的應用 例如在訊號處理中,傅利葉變換的典型用途是將訊號分解成幅值分量和頻率分量 傅利葉變換能將滿足一定條件的某個函式表示成三角函式 正弦...