Matlab怎么计算信号的能量,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

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值