Info
Cette question est clôturée. Rouvrir pour modifier ou répondre.
Problem Calculating an instantanous frequency
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
I'm trying to calculate an instantanous frequency in the (x,t) coordinates
signal -->W=f(t)+i*h(t)
inst. freq--> Wt=(f*h'-h*f')/(h^2+f^2);
the code I'm using (this is an example with a chirp signal);
dt=0.002;
nt=1001;
tvec=linspace(0,2,nt);
f=chirp(tvec,40,2,80);
h=imag(hilbert(f));
n=(f.*gradient(h)-h.*gradient(f))/dt;
d=f.^2+h.^2;
D=diag(d);
w=D\n';
figure(1)
plot(t_vec,ww/2/pi);
the result becomes less and less acurate as the frequency increases and the increase is in a certain rate (which I think concernes the sampling rate).
u can try tt even with a wavelet containing one frequency:
f=cos(2*pi*freq); %change values from 10 to 80
and notice the increase in the error.
I can not upsample the signal and must do the calculation in these coordinates for further work.
anyone have any ideas how to work it out if possible how to get the correct inst. frequency?
0 commentaires
Réponses (0)
Cette question est clôturée.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!