日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Matlab小波包分解后如何求各频带信号的能量值?

發布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matlab小波包分解后如何求各频带信号的能量值? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
clear;
clc;
n=3;
wpname='db3';
% [b,a]=butter(8,[5/100 99/100]);
% load a1_1-1;
load k301_1-4;
% Data=filter(b,a,Data);
Data=Data-mean(Data);
Data=detrend(Data);
wpt1=wpdec(Data,n,wpname); %對數據進行小波包分解
for i=1:2^n %wpcoef(wpt1,[n,i-1])是求第n層第i個節點的系數
E(i)=norm(wpcoef(wpt1,[n,i-1]),2);%求第i個節點的范數平方,其實也就是平方和
end
% disp('每個節點的能量E(i)');
% E
% disp('小波包分解總能量E_total');
E_total=sum(E); %求總能量
for i=1:2^n
pfir(i)= E(i)/E_total;%求每個節點的概率
end
pfir
% load a1_1-2;
load k302_1-4;
% Data=filter(b,a,Data);
Data=Data-mean(Data);
Data=detrend(Data);
wpt2=wpdec(Data,n,wpname); %對數據進行小波包分解
for i=1:2^n %wpcoef(wpt1,[n,i-1])是求第n層第i個節點的系數
E(i)=norm(wpcoef(wpt2,[n,i-1]),2);%求第i個節點的范數平方,其實也就是平方和
end
E_total=sum(E); %求總能量
for i=1:2^n
psec(i)= E(i)/E_total;%求每個節點的概率
end
psec
% load a1_1-4;
load k303_1-4;
% Data=filter(b,a,Data);
Data=Data-mean(Data);
Data=detrend(Data);
wpt3=wpdec(Data,n,wpname); %對數據進行小波包分解
for i=1:2^n %wpcoef(wpt1,[n,i-1])是求第n層第i個節點的系數
E(i)=norm(wpcoef(wpt3,[n,i-1]),2);%求第i個節點的范數平方,其實也就是平方和
end
E_total=sum(E); %求總能量
for i=1:2^n
pthi(i)= E(i)/E_total;%求每個節點的概率
end
pthi

格式:

y = detrend(x) % 消除時間序列中的線性趨勢項
y = detrend(x,'constant') % 消除時間序列中的均值
y = detrend(x,'linear',bp) % 分段消除時間序列中的線性趨勢項,bp為分段點向量


detrend的一個實例 sig = [0 1 -2 1 0 1 -2 1 0]; % 無線性趨勢的信號
trend = [0 1 2 3 4 3 2 1 0]; % 有兩段線性的趨勢
x = sig+trend; % 將上面趨勢疊加到信號上
y = detrend(x,'linear',5) % 根據指定的分段點去除兩段線性趨勢


y =


? ?-0.0000 ? ?1.0000 ? -2.0000 ? ?1.0000 ? ? ? ? 0 ? ?1.0000 ? -2.0000 ? ?1.0000 ? ?0.0000

總結

以上是生活随笔為你收集整理的Matlab小波包分解后如何求各频带信号的能量值?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。