tjuzhangwenbiao 发表于 2010-10-28 16:27

【求助】瞬时频率和瞬时幅值

用法国人的那套EMD程序进行EMD分解后,求取瞬时频率和瞬时幅值。为什么瞬时频率会出现负值?
程序如下所示:

clear;
fs=1000;    %fs为采样频率;
N=1000;   %采样点数
t=1/fs:1/fs:1;
y1=2*sin(60*pi*t);
y2=5*sin(200*pi*t);
x=y1+y2;
imf=emd(x);
len = size(imf,1);
for k = 1:len
amp(k,:) = abs(hilbert(imf(k,:)));%瞬时幅值
th   = angle(hilbert(imf(k,:)));%Hilbert变换的相位
d(k,:) = diff(th)/(1/fs)/(2*pi);%求导,得到瞬时频率:f = (1/2*pi)*d(th)/dt
end

hitdely 发表于 2010-11-5 22:02

因为是求导得到的,如果相位不是递增的话 自然就会出现幅值了

loverpipi 发表于 2010-11-11 12:20

EMD的一个固有缺陷就是会产生无法解释的负频率的

klycy 发表于 2010-11-12 10:17

hi,因為你算瞬時頻率的時候使用的方法是hilbert所以才會出現負值,

shawnbon 发表于 2010-11-14 17:42

老實說,這個問題,之前也相當困擾著我。
當時我是使用多點來差分的方式來解決diff後會出現負值的情形。

而最近,我看了
Huang, N. E., Z. Wu, S. R. Long, K. C. Arnold,X. Chen and K. Blank (2009), On instantaneous frequency, Advance in Adaptive Data Analysis . Vol.1, No.2. 177-229.
其實可以不用使用hilbert的方式就能求到瞬時頻率了。

glwh 发表于 2010-11-29 21:39

回复 5 # shawnbon 的帖子

请教一下是什么方法啊,我这里下论文不方便啊。请赐教!

hitdely 发表于 2010-12-8 08:52

我这有一个是从那个中央大学数据中心下载的 还没来得急看呢http://rcada.ncu.edu.tw/AADA2009V1_2.htm

qz906529 发表于 2011-5-22 19:38

我现在也受到了该问题的影响,不知采用什么方法解决。。

hjhnh999 发表于 2011-5-27 16:17

我也想请教同样的问题。
页: [1]
查看完整版本: 【求助】瞬时频率和瞬时幅值