求助:仿真信号的时间频率图
分析模拟信号:s=x+y+z;
其中:x=sin(pi*t),0<t<5;
y=3sin(2*pi*t),5<t<10;
z=0.5sin(10*pi*t),0<t<10;
采样频率20Hz。 对信号s,EMD分解后,得到各层IMF。
但是我通过Hilbert变换得到各层IMF瞬时频率和论文《基于Hilbert-Huang变换的表面肌电信号分析》有很大差异。
具体程序如下:
s=zeros(1,202);
t1=0:0.05:5;
x=sin(pi.*t1)+0.5*sin(10*pi.*t1);
t2=5:0.05:10;
y=3*sin(2*pi.*t2)+0.5*sin(10*pi.*t2);
for i=1:101
s(i)=x(i);
end
for i=102:202
s(i)=y(i-101);
end
imf=emd(s);
= hhspectrum(imf(1:end-1,:));
subplot(5,1,1),plot(f(1,:))
subplot(5,1,2),plot(f(2,:))
subplot(5,1,3),plot(f(3,:))
subplot(5,1,4),plot(f(4,:))
subplot(5,1,5),plot(f(5,:)) 我通过这一程序得到的时间频率图集中在“1”附近,而论文中的时间频率图集中在“0”附近,是我的程序出了问题,还是其他什么原因呢,期待大家的回答,谢谢! 解决了这个问题,原来是函数调用的时候出了问题,谢谢大家!
页:
[1]