请帮我看一下边际谱对吗?
t=linspace(1,2000,2000)/2000;x=2*sin(2*pi*20*t)+4*sin(2*pi*40*t)+8*sin(2*pi*100*t);
imf=emd(x);
= hhspectrum(imf(1:end-1,:));
= toimage(A,f,tt);
hhbjp(im,2000,2000)
hhbjp为计算边际谱并画出图形。感觉边际谱的幅值不太对劲。请大家不吝赐教。 function hhbjp(E,N,fs)
for k=1:size(E,1)
bjp(k)=sum(E(k,:))*1/fs;
end;
%size(bjp);
n1=fs/400;
%
f1=(0:N/n1-1)*fs/2./400;
%size(f1)
%
%size(bjp)
plot(f1,bjp);
%plot(bjp);
xlabel('频率 / Hz');
ylabel('幅值'); 楼主的意思是幅值不对,有很大衰减吧 本帖最后由 wdhd 于 2016-9-20 14:09 编辑
原帖由 zhangnan3509 于 2008-5-4 11:26 发表
楼主的意思是幅值不对,有很大衰减吧
是啊,这还算好的,把最高频率改成80Hz,效果更差。这样的效果远远比不上傅立叶分析啊。
[ 本帖最后由 jinnian 于 2008-5-4 11:34 编辑 ] 这种问题咱们版里说了几次 但是都没有什么好的办法,对于这类仿真信号尽量保持整周期采样会起一定的作用,至于其他情况就不好说了 本帖最后由 wdhd 于 2016-9-20 14:09 编辑
原帖由 zhangnan3509 于 2008-5-4 11:35 发表
这种问题咱们版里说了几次 但是都没有什么好的办法,对于这类仿真信号尽量保持整周期采样会起一定的作用,至于其他情况就不好说了
非常感谢,好像有时对两个频率组成的信号进行分析,效果还挺好,可是一到三个频率组成的信号就不怎么好了。 我想也可能是emd分解之后,有一部分能量损失,因为目前使用rilling的程序咱们不可能保证没有虚假分量,三个频率组成的信号分解出来决不是三阶,而是若干阶,可能是因为这些能量的损失所以表现出对应频率上幅值衰减。或许也有其他方面的原因 本帖最后由 wdhd 于 2016-9-20 14:10 编辑
原帖由 zhangnan3509 于 2008-5-4 11:58 发表
我想也可能是emd分解之后,有一部分能量损失,因为目前使用rilling的程序咱们不可能保证没有虚假分量,三个频率组成的信号分解出来决不是三阶,而是若干阶,可能是因为这些能量的损失所以表现出对应频率上幅值衰减。 ...
可能是这样的,因为分析由两个频率成分组成的信号时,如果两个频率相差比较大,采样率比较高时,emd后,能恰好分解为两个imf,这是边际谱就没问题。 我始终感觉,这只是具体算法误差造成的。 In most cases the MHS in energy is very similar to Fourier in case the data are from stationary and linear processes, for the temporal has been integrated out.
页:
[1]