Borrar filtros
Borrar filtros

Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

Problem Calculating an instantanous frequency

2 visualizaciones (últimos 30 días)
Jonathan Ron
Jonathan Ron el 24 de Jul. de 2012
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
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?

Respuestas (0)

La pregunta está cerrada.

Community Treasure Hunt

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

Start Hunting!

Translated by