There are 5 messages in this thread.
You are currently looking at messages 1 to .
Is this discussion worth a thumbs up?
Hi all,
Thanks for reading and please feel free to comment.
I am having problems with matlab fft on autocorrelation data.
When performing a fft on my normalised autocorrelation data
i got a imagnary part that is not equal to zero around x=0 and also at the
near end of the x-axis, but, in between all points are equal to zero.
Imagnary plot that i got looked like below,
Positive
value
|
x=0_______________|
| x=end
Negative |
value
The positive and negative values are too large to be ignored as compared
to
my real plot's value. And, fft of the autocorrelation data should be equal
to zero in the imagnary plot.
Anyone have any solutions or comments?
Thank You!
_____________________________________
Do you know a company who employs DSP engineers?
Is it already listed at http://dsprelated.com/employers.php ?
______________________________On Mar 31, 12:17 pm, "acc" <etac0...@hotmail.com> wrote: > Hi all, > > Thanks for reading and please feel free to comment. > > I am having problems with matlab fft on autocorrelation data. > When performing a fft on my normalised autocorrelation data > i got a imagnary part that is not equal to zero around x=0 and also at the > near end of the x-axis, but, in between all points are equal to zero. > Imagnary plot that i got looked like below, > > Positive > value > | > x=0_______________| > | x=end > Negative | > value > > The positive and negative values are too large to be ignored as compared > to > my real plot's value. And, fft of the autocorrelation data should be equal > to zero in the imagnary plot. > How are you calculating your autocorrelation data? -- Oli______________________________
On Mar 31, 6:44 am, "Oli Charlesworth" <c...@olifilth.co.uk> wrote: > How are you calculating your autocorrelation data? > > -- > Oli I'm with Oli here. By definition, autocorrelation must be purely real for x=0. So whatever you are computing is not an autocorrelation :-). Perhaps it's the novice mistake of forgetting a conjugation somewhere? Julius______________________________
On 31 Mar, 13:17, "acc" <etac0...@hotmail.com> wrote: > Hi all, > > Thanks for reading and please feel free to comment. > > I am having problems with matlab fft on autocorrelation data. > When performing a fft on my normalised autocorrelation data > i got a imagnary part that is not equal to zero around x=0 and also at the > near end of the x-axis, but, in between all points are equal to zero. > Imagnary plot that i got looked like below, > > Positive > value > | > x=0_______________| > | x=end > Negative | > value > > The positive and negative values are too large to be ignored as compared > to > my real plot's value. And, fft of the autocorrelation data should be equal > to zero in the imagnary plot. I would like to see some numbers for the imaginary vs real parts of your spectrum. Apart from that, a purely symmetrical autocorrelation sequence will have an odd nomber of samples, whereas a lot of FFT implementations require the number of data points to be a power of 2. If you use such an implementation, the sequence is not (numerically) symmetric and the result will not be purely real. Rune______________________________
Hi all, Thanks for all the suggestions, it took me a few days to locate my own message. Am totally new to here was searching eagerly for my own message under fft column. HAHA! Anyway thanks once again for the replies. 1) My auotcorrelations are computed from a data consist of x,y, by using fortran program. Where x=time and y=velocity and yy=the next velocity after a timestep. Am building the auotcorrelation on the fluctuations by tau00 sumVar = sumVar + ((y)**2) %this is for total sample length as in loop sumVariance= sumVar + sumN %sumN = total sample length sumVarf = sumVariance - mean**2 acorsum = acorsum + (y-mean)*(yy-mean) %auotcorrelation acorsum = acorsum /(sumN) %sumN= totalsample - tau sumTimef = acorsum / sumVarf % Normalised autocorrelation This is how i get my autocorrelation based on the fluctuations In Matlab I performed a fft(sumTimef) and compute fequency axes by 0:fn/tau:fn Results that i got: 85.1781 + 0i 15.2218 - 24.8651i 10.2131 - 16.7117i 6.0774 - 13.2611i 5.789 - 10.7412i 4.5314 - 9.6015i all the way till 0.4796 + 0i all the way till 4.5314 + 9.6015i 5.789 + 10.7412i 6.0774 + 13.2611i 10.2131 + 16.7117i 15.2218 + 24.8651i AS for getting the modulus of the fft(data) i can't remember why i didn't perform one. Will check it out. Once again thank you all for your time and comments. ACC _____________________________________ Do you know a company who employs DSP engineers? Is it already listed at http://dsprelated.com/employers.php ?______________________________