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

# calculating Instantaneous frequency (IF) using fft

Started by ●March 2, 2008

Reply by ●March 3, 20082008-03-03

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

>

>

>

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

>

>

>

Reply by ●March 4, 20082008-03-04

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.

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.