Register to reply

Instananeous frequency of a chirp signal is halved?

Share this thread:
Jan27-13, 07:41 PM
P: 120
I'm doing some research with MATLAB, where i have a simple chirp. y = sin(x.^2)
i take the FFT of the chirp, set the upper half of the FT of the signal to 0, and take the IFFT of this to recover the original chirp y with real and imaginary parts.
then i use the formula for calculation of the instantaneous frequency:

(s1.*ds2 - s2.*ds1)./(s1.^2 +s2.^2)
where s1 is the real part of y, s2 is imag of y
and ds1 and ds2 are the derivatives of s1 and s2 respectively.

It turns out i get my inst. freq to be y = x. but i expected y = 2x.
Is there any reason why my inst. frequency is missing the factor of 2? I have no idea what I'm doing wrong that results in the missing factor.
any help is greatly appreciated.

here is my MATLAB code:
function []=chirp()

x = 0:0.01:5;
y = sin(x.^2);
y = sin(x.^2)-mean(y); %eliminate DC offset subtract mean
hold on
y = fft(y);
y = 2*y; %double the amplitude
y(250:end) = 0; %cut off upper half the signal
y = ifft(y);
%double amplitude of the chirp signal
s1 = real(y);
plot(x,s1, 'p')
s2 = imag(y);
%plot(x,s2, 'r')
ds1 = diff(s1)./0.01;
ds1(501) = 0;
ds2 = diff(s2)./0.01;
ds2(501) = 0;
%derivative plots:
%obtain instantaneous frequency
n = (s1.*ds2 - s2.*ds1);
d = (s1.^2 +s2.^2+ (max(s1).^2));
q = n./d;
plot(x,q, 'g')
Phys.Org News Partner Physics news on
Detecting neutrinos, physicists look into the heart of the Sun
Measurement at Big Bang conditions confirms lithium problem
Researchers study gallium to design adjustable electronic components
Feb1-13, 01:34 PM
P: 10
How did you arrive at your formula for the instantaneous frequency? I suspect that it might be off.

If I calculate the instantaneous frequency using a different approach, with the analytical signal 'y' using your code:

dy = diff(y)/0.01;
dy(501) = 0;
instfrq = imag(dy./y);

I get something that tracks 2*x instead. Here I used the imaginary part of the log-derivative of the analytic signal:

[itex]\hat{y} = A e^{i\varphi(t)}[/itex]
[itex]\frac{d\hat{y}}{dt}=i \frac{d\phi(t)}{dt} A e^{i\varphi(t)}[/itex]
[itex]\rightarrow \frac{d\phi(t)}{dt} = \frac{\frac{d\hat{y}}{dt}}{i \hat{y}}[/itex]
Feb1-13, 04:05 PM
P: 120
it turns out i made a mistake with my epsilion correction factor, it works now though. thanks

Register to reply

Related Discussions
At what frequency will the AC amplitude be halved in this schematic Engineering, Comp Sci, & Technology Homework 1
How to convert time domaine signal into frequency domain signal Electrical Engineering 3
Instananeous rate of change Calculus & Beyond Homework 5
Signal frequency General Engineering 5
Low frequency signal Electrical Engineering 2