Clear Filters
Clear Filters

Instantaneous Frequency

8 views (last 30 days)
Jetson Ronald
Jetson Ronald on 4 Aug 2011
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?

Accepted Answer

Daniel Shub
Daniel Shub on 5 Aug 2011
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).

More Answers (0)

Community Treasure Hunt

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

Start Hunting!