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")) | ![]() | ![]() |