tonghuayuxing 发表于 2009-9-10 12:40

求关于频带局部能量

本帖最后由 wdhd 于 2016-9-20 13:39 编辑

  现在我编了个程序如下  load noismima;%加载数据  a=noismima;  depth=4;%分解层数  =wpdec(a,depth,'db4');%小波包分解  for i=1:2^depth  x=wprcoef(T,i);%重构最后一层小波包系数  E(i)=wenergy(x,i);%求小波包能量  end  t=1:2^depth;  bar(t,E)  但是这种方法求出来的能量是与时间没有关系的,请问matlab里有可以依据上述公式(1)求出来的与时间有关的能量的语句吗?假如将小波包分解后每个频带信号等分为3个时间段:  [ 0, 0.2 ], [ 0.2, 0.4 ], [ 0.4, 0.6 ],最后求出来的是个时间,频率还有能量的三维图形  希望帮个忙吧  求每个时间段能量的公式在附件中,哪位帮看看,给点意见吧

zhlong 发表于 2009-9-10 22:44

a=randn(1,1000);

Len=length(a); %信号长度
Num=5; % 将小波包分解后每个频带信号等分为5个时间段
Wlen=fix(Len/Num); % 每个时间段的所含的信号点数
depth=4;%分解层数
=wpdec(a,depth,'db4');%小波包分解
for i=1:2^depth
x=wprcoef(T,);%重构最后一层小波包系数
for k=1:Num
      E(i,k)=sum(x((k-1)*Wlen+1:k*Wlen).^2);
end
end
figure;
bar3(E/sum(sum(E)))
ylabel('Node No.')

tonghuayuxing 发表于 2009-9-16 15:37

回复 沙发 zhlong 的帖子

你好,还得麻烦问下,我用自己的信号作出来的三维图只在某一个时间段有能量,其余的为零,是不是说明我的信号对时间不敏感?还有就是频带如何转换成具体的频率值?

tonghuayuxing 发表于 2009-9-21 16:18

你好,请问假如我用小波包进行5层分解,那么最后一层应该有32个频带范围,我如何提取每个频带范围的小波包系数呢?
(for i=1:2^depth
x=wprcoef(T,i);%重构最后一层小波包系数)假如我的数据点为256个,那么这句话运行后就只有256 个数据,指的是将32 个频带的小波包系数进行重构后所得到的最后的信号吗?

newwestlife 发表于 2010-3-18 20:23

同问3楼的问题···急求:@Q
页: [1]
查看完整版本: 求关于频带局部能量