Instantaneous Frequency

5 次查看(过去 30 天)
Hello
I am estimating the Instantaneous Frequency of my signal using the following code.
h=hilbert(acc);
unrolled_phase = unwrap(angle(h));
inst_freq = ((diff(unrolled_phase))'./diff(T))/(2*pi);
I get both positive and negative frequencies (very few) also some spikes. How to avoid negative frequency and unrealistic. frequencies?

采纳的回答

Daniel Shub
Daniel Shub 2011-8-5
Your problems are coming from the unwrapping of the phase. Your estimate of the instantaneous frequency can only be negative if diff(unrolled_phase) is negative. Just add 2pi to those points (and all the values after).

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 AI for Signals 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by