db9小波包分解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_D1, Hi_D1] = wfilters('db1', 'd');%從db1到db8. 濾波器系數個數不同 2
[Lo_D2, Hi_D2] = wfilters('db2', 'd');%從db1到db8. 4
[Lo_D3, Hi_D3] = wfilters('db4', 'd');%從db1到db8. 8
[Lo_D4, Hi_D4] = wfilters('db8', 'd');%從db1到db8. 16
freqz(Lo_D1);
hold on;
freqz(Lo_D2);
hold on;
freqz(Lo_D3);
hold on;
freqz(Lo_D4);%等級越高,衰減越厲害,過渡帶越窄
close all;
%cwt連續小波變換,dwt離散小波變換
%dwt僅僅對單一尺度的變化
[cA1, cD1 ]= dwt(x, 'db1');%cA1低頻分量 信號的近似, cD1高頻分量 信號的細節
%A1=upcoef('a',cA1,'db1');%單尺度低頻系數向上一步的重構信號
%D1=upcoef('a',cA2,'db1');%高頻系數 ...
X = idwt(cA1, cD1, 'db1');%
figure(10);
subplot(3, 1,1)
plot(x);
title('原始');
subplot(3, 1,2)
plot(X);
title('重構');
subplot(3, 1,3)
plot(x-X);
title('誤差');
%wavedec多尺度分解 僅僅對低頻分量分解
%[C,L] = WAVEDEC(X,N,Lo_D,Hi_D) 已有的濾波器系數
%wavedec 由多次調用 dwt ,將輸出的低頻分量,再次傳入,如此
[C, L]= wavedec(x, 2, 'db1');% L對應于每個節點的樣本點數; 從最底層到頂層
%多尺度重構, a3 = wrcoef('a'或者'd',C,L,'db1');%'a'表示低頻近似系數,'d'高頻細節系數
cA1 = appcoef(C, L, 'db1', 1);%approximation coefficients
cA2 = appcoef(C, L, 'db1', 2);
%多尺度 低高頻重構 X = waverec(C,L,'db1');
figure(1);%僅僅對低頻分量逐步分解,精細化
subplot(3,1,1)
plot(x);
subplot(3,1,2)
plot(cA1);
title('尺度1的低頻系數');
subplot(3,1,3)
plot(cA2);
title('尺度2的低頻系數');
cD1 = detcoef(C, L, 1);%extracts the detail coefficients
cD2 = detcoef(C, L, 2);
figure(2)
subplot(3,1,1)
plot(x);
subplot(3,1,2)
plot(cD1);
title('尺度1的高頻系數');
subplot(3,1,3)
plot(cD2);
title('尺度2的高頻系數');
%小波包分解是對小波分解的推廣,它提供了位置、尺度和頻率
%它克服了小波分解在高頻段的頻率分辨率差,在低頻段的時間分辨率差的問題。
%每一層的節點 左孩子節點 傳入父數據,低通濾波器濾波,下采樣,存數據 右孩子節點 傳入父數據, 高通濾波器濾波,下采樣,存數據
%不斷的下采樣,頻譜相對變大,頻域分辨率提升。
%所有的左孩子和右孩子對應的高低通濾波器系數分別一致
wpt = wpdec(x, 2, 'db1');
%小波包重構 rex = wprec(wpt)
plot(wpt);
figure(4)
subplot(2,1,1);
plot(x);
cfs = wpcoef(wpt, [2 0]);
subplot(2,1,2);
plot(cfs);
title('結點(2,0)系數')
figure;
rcfs = wprcoef(wpt, [2 0]);
plot(rcfs);
title('重構小波節點(2,0)');
% %wavlet
% High_coe = [ -5.44158422430816093862e-02,
% 3.12871590914465924627e-01,
% -6.75630736298012846142e-01,
% 5.85354683654869090148e-01,
% 1.58291052560238926228e-02,
% -2.84015542962428091389e-01,
% -4.72484573997972536787e-04,
% 1.28747426620186011803e-01,
% 1.73693010020221083600e-02,
% -4.40882539310647192377e-02,
% -1.39810279170155156436e-02,
% 8.74609404701565465445e-03,
% 4.87035299301066034600e-03,
% -3.91740372995977108837e-04,
% -6.75449405998556772109e-04,
% -1.17476784002281916305e-04];
%
% Low_coe = [ -1.17476784002281916305e-04,
% 6.75449405998556772109e-04,
% -3.91740372995977108837e-04,
% -4.87035299301066034600e-03,
% 8.74609404701565465445e-03,
% 1.39810279170155156436e-02,
% -4.40882539310647192377e-02,
% -1.73693010020221083600e-02,
% 1.28747426620186011803e-01,
% 4.72484573997972536787e-04,
% -2.84015542962428091389e-01,
% -1.58291052560238926228e-02,
% 5.85354683654869090148e-01,
% 6.75630736298012846142e-01,
% 3.12871590914465924627e-01,
% 5.44158422430816093862e-02];
%
% %濾波器系數與采樣率 無關。
% %顯示歸一化頻率對應
%
% freqz(High_coe);
% hold on;
% freqz(Low_coe);
【轉】小波與小波包、小波包分解與信號重構、小波包能量特征提取 暨 小波包分解后實現按頻率大小分布重新排列(Matlab 程序詳解)
轉:https://blog.csdn.net/cqfdcw/article/details/84995904 小波與小波包.小波包分解與信號重構.小波包能量特征提取? ?(Matlab 程序詳解) ...
MATLAB小波包的分解與重構
該文章用來直觀上先感受一下小波包的分解與重構 ? 例1 有一個信號,變量名為wave,隨便找一個信號load進來就行了. t=wpdec(wave,3,'dmey'); t2 = wpjoin(t,[ ...
小波分解和合成的simulink仿真
采用5-3提升小波的方法 小波分解 數據拆分 預測 更新 數據輸出使能電路 電路共有兩個輸入三個輸出,in1是數據輸入,in2是輸入數據有效信號,out1是更新后的低頻信號,out2是預測的高頻信號, ...
二維離散平穩小波分解swt2
對信號X進行N尺度平穩小波分解 [A,H,V,D]=swt2(X,N,'wname'); clc,clear all,close all; load woman; [cA,cH,cV,cD]=swt2 ...
多尺度二維離散小波分解wavedec2
對X進行N尺度小波分解 [C,S]=wavedec2(X,N,'wname'); clc,clear all,close all; load woman; [c,s]=wavedec2(X,2,'db ...
單尺度二維離散小波分解dwt2
clc,clear all,close all; load woman; [cA,cH,cV,cD]=dwt2(X,'haar');%單尺度二維離散小波分解.分解小波函數haar figure,ims ...
一階RC高通濾波器詳解(仿真+matlab+C語言實現)
文章目錄 預備知識 關于電容 HPF的推導 simulink 仿真 simulink 運行結果 matlab 實現 matlab 運行結果 C語言實現 如果本文幫到了你,幫忙點個贊: 如果本文幫到了你 ...
一階RC低通濾波器詳解(仿真+matlab+C語言實現)
文章目錄 1 預備知識 2 simulink 仿真 3 simulink 運行結果 4 matlab實現 5 matlab運行結果 6 C語言實現 7 C語言運行結果 如果本文幫到了你,幫忙點個贊: ...
矩陣的五種分解的matlab實現
由于這學期修了矩陣分析這門課,課程要求用matlab實現矩陣的5種分解,僅僅是實現了分解,上傳到博客存檔,萬一哪天某位同學就需要了呢.. 1.矩陣的滿秩分解 代碼實現 %矩陣的滿秩分解 clear % ...
隨機推薦
AX2012修改properties字體
參考自http://www.ithao123.cn/wenku/list_310_2.html static void GD_Eric_ChangeUserinfoFont(Args _args){? ...
事件異步(EAP)使用事件異步處理一些耗時操作
比如需要下載一些比較大的文件,如果使用會UI卡頓,使用異步可以節省一些時間 下面是一些例子: using System; using System.Collections.Generic; using ...
[Computer structure] Written Notes
To some extent, taking notes using my pen and pencil is also an interesting thing! bingo! ~ 2016-03- ...
Ubuntu桌面版本和服務器版本之間的區別(轉載)
轉載自:http://blog.csdn.net/fangaoxin/article/details/6335992 http://www.linuxidc.com/Linux/2010-11/297 ...
CMSIS Example - Signal
/*---------------------------------------------------------------------------- * RL-ARM - RTX *----- ...
Linux系統編程(27)——線程控制
進程在各自獨立的地址空間中運行,進程之間共享數據需要用mmap或者進程間通信機制,那么如何在一個進程的地址空間中執行多個線程呢.有些情況需要在一個進程中同時執行多個控制流程,這時候線程就派上了用場,比 ...
表達式 - PHP手冊筆記
PHP是一種面向表達式的語言.表達式的定義可以描述為,任何有值的東西. PHP支持全等運算符===(值和類型均相同)和非全等運算符!==(值或者類型不同). PHP的三元條件運算符貌似和C語言不太一樣 ...
jQuery地圖插件jVectorMap的簡單使用
1.官網下載jVectorMap插件壓縮文件 官網地址:http://www.jvectormap.com/ 2.解壓文件包括jVectorMap庫及基礎樣式表,編寫Html文件,引入jQuery框架 ...
接觸node第一步
趁著工作不忙,今天來系統記錄一下安裝node環境: 1.node下載地址為:https://nodejs.org/en/,檢查是否安裝成功:如果輸出版本號,說明我們安裝node環境成功:node -v ...
PAT 1087?有多少不同的值(20)(STL-set代碼)
1087?有多少不同的值(20?分) 當自然數?n?依次取 1.2.3.--.N?時,算式??n/2?+?n/3?+?n/5??有多少個不同的值?(注:?x??為取整函數,表示不超過?x?的最大自然數 ...
總結
以上是生活随笔為你收集整理的db9小波包分解matlab,小波包分解 仿真 matlab的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高级Bash脚本编程指南——一本深入学习
- 下一篇: 对抗样本(三)FGSM