小波包8层分解与重构MATLAB代码,MATLAB小波包的分解与重构
該文章用來(lái)直觀上先感受一下小波包的分解與重構(gòu)
例1
有一個(gè)信號(hào),變量名為wave,隨便找一個(gè)信號(hào)load進(jìn)來(lái)就行了。
t=wpdec(wave,3,'dmey');
t2 = wpjoin(t,[3;4;5;6]);
sNod = read(t,'sizes',[3,4,5,6]);
cfs3 ?= zeros(sNod(1,:));
cfs4 ?= zeros(sNod(2,:));
cfs5 ?= zeros(sNod(3,:));
cfs6 ?= zeros(sNod(4,:));
t3 = write(t2,'cfs',3,cfs3,'cfs',4,cfs4,'cfs',5,cfs5,'cfs',6,cfs6);
wave2=wprec(t3);
解釋:
第一行:將wave 用 meyr小波進(jìn)行3層小波包分解,獲得一個(gè)小波包樹(shù) t
第二行:將小波包樹(shù)的第二行的四個(gè)節(jié)點(diǎn)收起來(lái),也就是讓第二行的節(jié)點(diǎn)變?yōu)闃?shù)的最底層節(jié)點(diǎn)。因?yàn)榈谝恍兄行〔ò鼧?shù)的節(jié)點(diǎn)個(gè)數(shù)是 第一層2個(gè),第二層4個(gè),第三層8個(gè)。現(xiàn)在將t2就是將第三層的節(jié)點(diǎn)再聚合回第二層。
第三行:讀取第二層四個(gè)節(jié)點(diǎn)系數(shù)的size
第四~七行:將所有四個(gè)節(jié)點(diǎn)的小波包系數(shù)變?yōu)?
第八行:將四個(gè)節(jié)點(diǎn)的系數(shù)重組到t3小波樹(shù)中。
第九行:對(duì)t3小波樹(shù)進(jìn)行重構(gòu),獲得信號(hào)wave2
可以預(yù)見(jiàn),因?yàn)槲覀儼研〔?shù)的節(jié)點(diǎn)系數(shù)都變?yōu)?了,所以信號(hào)也就全為0了。所以wave2是一個(gè)0向量。讀者可以自行plot一下wave和wave2看看。進(jìn)一步,如果我們只聚合第二層中的某幾個(gè)節(jié)點(diǎn),比如 4和5,即將第三行到第八行中 節(jié)點(diǎn) 3 和節(jié)點(diǎn) 6的語(yǔ)句刪除或修改,那么意思就是將 4 5 節(jié)點(diǎn)的系數(shù)變?yōu)?,那么wave2肯定就不是0向量了。
例2
t=wpdec(wave,3,'dmey');
t2 = wpjoin(t,[3;4;5;6]);
cfs3=wpcoef(t,3);
cfs4=wpcoef(t,4);
cfs5=wpcoef(t,5);
cfs6=wpcoef(t,6);
t3 = write(t2,'cfs',3,cfs3,'cfs',4,cfs4,'cfs',5,cfs5,'cfs',6,cfs6);
wave2=wprec(t3);
解釋:
第一行:將wave 用 meyr小波進(jìn)行3層小波包分解,獲得一個(gè)小波包樹(shù) t
第二行:將小波包樹(shù)的第二行的四個(gè)節(jié)點(diǎn)收起來(lái),也就是讓第二行的節(jié)點(diǎn)變?yōu)闃?shù)的最底層節(jié)點(diǎn)。
第三~六行:獲取四個(gè)節(jié)點(diǎn)的小波包系數(shù) (小波包系數(shù)就是一個(gè)一維向量)
第七行:將四個(gè)節(jié)點(diǎn)的系數(shù)重組到t3小波樹(shù)中
第八行:對(duì)t3小波樹(shù)進(jìn)行重構(gòu),獲得信號(hào)wave2
可以看出,該例子就是對(duì)一個(gè)小波包展開(kāi)了,又原封不動(dòng)的裝回去了,所以說(shuō) wave2和wave是一樣的。
注意,wpjoin命令在這里是必要的,因?yàn)閣rite函數(shù)只能將最底層的節(jié)點(diǎn)寫(xiě)進(jìn)去。也就是說(shuō),如果我們將第三層的小波包系數(shù)進(jìn)行修改的話,就不用wpjoin了,具體可以看例3
例3
t=wpdec(wave,3,'dmey');
cfs7=wpcoef(t,7);
cfs8=wpcoef(t,8);
cfs9=wpcoef(t,9);
cfs10=wpcoef(t,10);
cfs11=wpcoef(t,11);
cfs12=wpcoef(t,12);
cfs13=wpcoef(t,13);
cfs14=wpcoef(t,14);
t3=write(t,'cfs',7,cfs7,'cfs',8,cfs8,'cfs',9,cfs9,'cfs',10,cfs10,'cfs',11,cfs11,'cfs',...
12,cfs12,'cfs',13,cfs13,'cfs',14,cfs14);
y=wprec(t3);
該例子也是對(duì)一個(gè)小波包展開(kāi)了,又原封不動(dòng)的裝回去了,只不過(guò)這次是直接對(duì)第三層節(jié)點(diǎn)進(jìn)行的。
這就是小波包的分解與重構(gòu)的感受,希望對(duì)想學(xué)習(xí)小波的讀者一點(diǎn)點(diǎn)啟發(fā)。
【轉(zhuǎn)】小波與小波包、小波包分解與信號(hào)重構(gòu)、小波包能量特征提取 暨 小波包分解后實(shí)現(xiàn)按頻率大小分布重新排列(Matlab 程序詳解)
轉(zhuǎn):https://blog.csdn.net/cqfdcw/article/details/84995904 小波與小波包.小波包分解與信號(hào)重構(gòu).小波包能量特征提取? ?(Matlab 程序詳解) ...
小波包分解 仿真 matlab
clc;close all;clear;fs = 100000;t = 1: 100;x = sin(2*pi*4000* t/fs) + sin(2*pi*40000*t/fs); %db8[Lo_ ...
Matlab小波工具箱的使用2
Matlab小波工具箱的使用2 (2011-11-11 09:32:57) 轉(zhuǎn)載▼ http://blog.sina.com.cn/s/blog_6163bdeb0102dw7a.html#cmt_5 ...
matlab 小波工具箱
wavemenu --- >wavelet ---->wavelet packet1-D Matlab小波工具箱的使用1 轉(zhuǎn)載▼ http://blog.sina.com.cn/s/blo ...
MATLAB小函數(shù):將列向量轉(zhuǎn)化為0-1矩陣
MATLAB小函數(shù):將列向量轉(zhuǎn)化為0-1矩陣 作者:凱魯嘎吉 - 博客園?http://www.cnblogs.com/kailugaji/ 將列向量轉(zhuǎn)化為0-1矩陣,例如 A = 1 2 1 5 3 ...
matlab列優(yōu)先與高維矩陣重構(gòu) 及 CNN 逐層可視化 on Matlab
由于matlab在列化a(:)以及reshape(a)等操作中是列優(yōu)先的,所以要重構(gòu)出新的高維度矩陣,通常要把reshape和permute結(jié)合起來(lái)使用. 先到?http://caffe.berkel ...
matlab 小波處理工具箱
1. wavedec:多尺度(multilevel)一維小波分解 [C,L] = wavedec(X,N,'wname') [C,L] = wavedec(X,N,Lo_D,Hi_D) 返回值 L(b ...
matlab小段代碼學(xué)習(xí)
matlab讀hdf文件到txt filename='E:\data\H1BDLD10110607231863921.L2B.HDF'; h=hdftool(filename); Latitude = ...
Matlab小技巧
記錄一些用Matlab的技巧. //imshow全屏 subplot(1,3,3); imshow(topSketMat); hold on; set(gcf, 'units', 'normalize ...
隨機(jī)推薦
Java 異常處理
異常是程序中的一些錯(cuò)誤,但并不是所有的錯(cuò)誤都是異常,并且錯(cuò)誤有時(shí)候是可以避免的. 比如說(shuō),你的代碼少了一個(gè)分號(hào),那么運(yùn)行出來(lái)結(jié)果是提示是錯(cuò)誤java.lang.Error:如果你用System.out ...
Oracle PL/SQL
PL/SQL 簡(jiǎn)介 PL/SQL 是過(guò)程語(yǔ)言(Procedural Language)與結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)結(jié)合而成的編程語(yǔ)言,是對(duì) SQL 的擴(kuò)展,它支持多種數(shù)據(jù)類(lèi)型,如大對(duì)象和集合類(lèi)型,可使用 ...
codeforces 21D:Traveling Graph
Description You are given undirected weighted graph. Find the length of the shortest cycle which sta ...
華碩飛行堡壘zx50安裝Ubunutu折騰記
今年8月入手了華碩zx50,配置不錯(cuò),作為一個(gè)合格的Linux愛(ài)好者,沒(méi)買(mǎi)來(lái)一臺(tái)電腦肯定得裝上Linux編個(gè)程序什么的吧,,可惡的是,筆記本安裝Linux系統(tǒng)往往比較麻煩,必須折騰很久才安裝上,我手上 ...
HttpClient和WebService的區(qū)別和介紹
1. HTTP?協(xié)議可能是現(xiàn)在?Internet?上使用得最多.最重要的協(xié)議了,越來(lái)越多的?Java?應(yīng)用程序需要直接通過(guò)?HTTP?協(xié)議來(lái)訪問(wèn)網(wǎng)絡(luò)資源. ?HttpClient用來(lái)調(diào)用服務(wù),它是模擬 ...
Redis斷線重連編碼注意事項(xiàng)
應(yīng)用在Redis重啟.網(wǎng)絡(luò)閃斷并恢復(fù)正常后,應(yīng)用必須能夠自恢復(fù),下面以Java語(yǔ)言的jedis客戶(hù)端為例說(shuō)明: 1.作為發(fā)布者 Jedis對(duì)象不能作為單例,網(wǎng)絡(luò)閃斷后該Jedis對(duì)象無(wú)法自恢復(fù).應(yīng)該每 ...
BaLaBaLa
#include#include#include#include#include
VR元年,VR虛擬現(xiàn)實(shí)這只風(fēng)口上的豬有怎樣的變化?
走過(guò)了2016年,無(wú)論我們承認(rèn)不承認(rèn),這一年到底是不是VR元年,我們都很難否定,在這一年,VR虛擬現(xiàn)實(shí)生態(tài)圈有很大的變化,那么,這一年VR虛擬現(xiàn)實(shí)到底有怎樣的改變呢?我們的VR虛擬現(xiàn)實(shí)生態(tài)圈,發(fā)生了什 ...
IOS-QQ第三方登錄
iOS QQ第三方登實(shí)現(xiàn) ? 我們經(jīng)常會(huì)見(jiàn)到應(yīng)用登陸的時(shí)候會(huì)有QQ,微信,微博等的第三方登陸 如圖: 下面我們主要講一下qq的第三方登陸如何實(shí)現(xiàn) 首先,到官網(wǎng)注冊(cè): http://wiki.conne ...
章節(jié)九、4-ChromDriver介紹
一.首先下載Chrom瀏覽器驅(qū)動(dòng),將驅(qū)動(dòng)解壓到存放火狐瀏覽器驅(qū)動(dòng)文件路徑中(請(qǐng)觀看前面的章節(jié)) 1.進(jìn)入該網(wǎng)址下載匹配本地瀏覽器版本的驅(qū)動(dòng) http://chromedriver.storage.go ...
總結(jié)
以上是生活随笔為你收集整理的小波包8层分解与重构MATLAB代码,MATLAB小波包的分解与重构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MicroSIP注册点星PBX后拨打电话
- 下一篇: 超宽带 DWM1000模块 引脚连接