I'm trying to find the instantaneous frequencies for one of the Intrinsic Mode Functions (IMFs) I extracted from the original signal using Hilbert-Huang Transform. So, I got the following spectrum for that IMF:
However, when I tried to get the instantaneous frequencies for this IMF, I got the following (I'm using this library):
[x,_]=inst_freq(imfs[0])
x*fs
Out[17]:
array([100., 200., 100., 100., 200., 200., 100., 100., 100., 100., 100.,
100., 100., 100., 100., 100., 100., 100., 200., 100., 100., 100.,
100., 100., 100., 100., 100., 200., 100., 100., 200., 100., 100.,
100., 200., 100., 200., 100., 100., 100., 100., 200., 200., 200.,
100., 200., 100., 100., 100., 100., 100., 100., 100., 100., 100.,
100., 100., 100., 100., 200., 100., 100., 200., 100., 100., 100.,
200., 100., 200., 200., 100., 100., 200., 100., 100., 100., 100.,
100., 100., 200., 100., 100., 100., 100., 100., 100., 200., 200.,
200., 100., 100., 200., 100., 100., 100., 100., 200., 100., 100.,
100., 100., 100., 100., 200., 100., 100., 200., 200., 100., 100.,
100., 100., 200., 100., 100., 100., 100., 100., 100., 200., 200.,
100., 100., 100., 200., 100., 100., 100., 200., 200., 200., 100.,
100., 200., 200., 100., 100., 100., 100., 200., 100., 100., 100.,
100., 100., 100., 200., 200., 200., 100., 100., 200., 200., 200.,
100., 100., 100., 100.])
From the instantaneous frequencies, one could imagine that the spectrum contains only the 100 and 200 Hz frequencies. Am I missing something here?