Instantaneous frequency estimation
[FNORMHAT,T] = instfreq(X) [FNORMHAT,T] = instfreq(X, T) [FNORMHAT,T] = instfreq(X, T, L) [FNORMHAT,T] = instfreq(X, T, L, TRACE)
a complex vector of size N: the analytic signal to be analyzed.
a vector with integer elements in [L, N-L]: the Time instants (default : 2:length(X)-1).
An integer >=1:
If L=1 (the default value) computes the (normalized) instantaneous frequency of the signal X defined as angle(X(T+1)*conj(X(T-1)) ;
if L>1, computes a Maximum Likelihood estimation of the instantaneous frequency of the deterministic part of the signal blurried in a white gaussian noise.
A boolean (or a real scalar) if true (or nonzero),the progression of the algorithm is shown (default : %f).
a column vector with same size as T: the (normalized) instantaneous frequency.
a row vector: the time instants.
instfreq computes the instantaneous frequency of the analytic signal X at time instant(s) T, using the trapezoidal integration rule. The result FNORMHAT lies between 0.0 and 0.5.
[x,iflaw] = fmsin(70,0.05,0.35,25); [instf,t] = instfreq(x); clf; plot(t',instf,t',iflaw(2:$-1)) xlabel(_("Time")) ylabel(_("Frequency")) legend(_("Theoritical"),_("Estimated")) | ![]() | ![]() |