Forums

calculating Instantaneous frequency (IF) using fft

Started by marko_jnk March 2, 2008
Hi, i have a big problem, i need to calculate Instantaneous frequency
(IF) using fft (Fast Fourier Transform) and STFT (Short Time Fourier
Transform). I have a discrete sinusoidal signal:
n=1:1024;
omega=0.2;
X=exp(j*omega*n);

To calculate clear signal IF using fft i should find max(fft(X)) and
that would be the IF. the quetsion is, would be the IF=0.2? Becouse
this is a discrete signal what should be the IF value and how to
obtain it? For the STFT calculation I have the window width of 0.25.
Should the IF obtaind using fft and STFT be the same? Should I
calculate the IF using STFT like max(max(SPEC(X))/1024. (SPEC is
spectrogram SPEC=(abs(STFT).^2);

So please, could you show me how to calculate the true IF using fft
and STFT on the clear signal X. So i could in the same way calculate
the IF from the noised signal X and to estimate that the obtained IF
value. that value should be close to the IF value from the clean
signal.

Thank you very much
I think that you have a bit of confusion.
First of all:
if omega = 2*pi*fo where fo is the frequency of the sinusoidal signal,
what you call n is in effect time t. (the argument of a function must be a
number)
For simplicity, you can transform your exponential like
exp(j*2*pi*fo) = cos(2*pi*fo) + j sin(2*pi*fo)
Now you can analyze the signal in traditional way.
Respect all the constrain of the FFT (dt -> FMAX; 1/T -. df) to obtain a
right result.
Probably you don't need also to respect a FFT with analytical amplitude: you
are looking
only for max so you do not have problem of normalization.
If you are interesting look at
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectIdV54&objectType=file

About the STFT I cannot help you

Good luck
Bye

On Sat, Mar 1, 2008 at 4:17 PM, marko_jnk wrote:

> Hi, i have a big problem, i need to calculate Instantaneous frequency
> (IF) using fft (Fast Fourier Transform) and STFT (Short Time Fourier
> Transform). I have a discrete sinusoidal signal:
> n=1:1024;
> omega=0.2;
> X=exp(j*omega*n);
>
> To calculate clear signal IF using fft i should find max(fft(X)) and
> that would be the IF. the quetsion is, would be the IF=0.2? Becouse
> this is a discrete signal what should be the IF value and how to
> obtain it? For the STFT calculation I have the window width of 0.25.
> Should the IF obtaind using fft and STFT be the same? Should I
> calculate the IF using STFT like max(max(SPEC(X))/1024. (SPEC is
> spectrogram SPEC=(abs(STFT).^2);
>
> So please, could you show me how to calculate the true IF using fft
> and STFT on the clear signal X. So i could in the same way calculate
> the IF from the noised signal X and to estimate that the obtained IF
> value. that value should be close to the IF value from the clean
> signal.
>
> Thank you very much
>
>
>
I have the problem of calculating the likelihood ratio
test. How can i calculate the treshold?
Consider the following hypothesis-testing problem.
There are K independent observations.
HI : ri is Gaussian, N(0, sigmal), i = 1, 2, . . . ,
K,
HO: ri is Gaussian, N(0, sigma0), i = 1, 2, . . . , K,
where sigma1>sigma0.
1. Compute the likelihood ratio.
2.What is the threshold for the minimax criterion when
CM = CF and Coo = Cl1 = O?

when i calculale Pr|H1(R|H1)/Pr|H0(R|H0) should it be
Likelihood ratio test? what value is treshold? is that
value 'ni'? and how to calculate value 'gama'? i read
in theory about ni, ln(ni) and gama.

I need this explanation because i have to solve the
next problem:
In the matlab file example10.mat is given 100
realisations of the random process r. It is given that
K, sigma0=1 and sigma1=2. i have to analyse cases:
a) when CM1, and C00=0
b) when CM=1, CF, C00=0

so i need to find minimax test.

in the attachment I am sending you the problem.

I think this is not very hard for people who knows but
for me.. thank you for your time. If my question is
too confuse please note me and i will try to be more precise.