Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Problem Calculating an instantanous frequency
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (0)
Diese Frage ist geschlossen.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!