# Which version of Autocorrelation function to use?

Started by September 3, 2008
```Hello,

I think I am missing something very basic here. I am confused as to which
definition of autocorrelation to use.

From Wikipedia (http://en.wikipedia.org/wiki/Autocorrelation), there are
two definitions.
1) Based on convolution
2) Based on  'expectation' - E[f(t).f*(t-t')]

I am not sure which version to use. I am working on OFDM so I will be
mostly interested in calculation the autocrrelation on a Rayleigh channel
or the autocorrelation of the datainput sequence.

All of the Filtering/Estimation texts use the definition of expectation:
R(t')=E[f(t).f*(t-t')]

But according to CNX (http://cnx.org/content/m10676/latest/), for
discrete-time real signal sequences, the 'convolution' based method is
given.

Can somebody please clearup this confusion.

Cheers.
```
```On 3 Sep, 08:46, "m26k9" <maduranga.liyan...@gmail.com> wrote:
> Hello,
>
> I think I am missing something very basic here. I am confused as to which
> definition of autocorrelation to use.
>
> From Wikipedia (http://en.wikipedia.org/wiki/Autocorrelation), there are
> two definitions.
> 1) Based on convolution

Nope. The estimator might look like convolution, but it isn't.

> 2) Based on &#2013266080;'expectation' - E[f(t).f*(t-t')]

This is the proper definition.

The difference between the two is that the proper definition
is based on the probablilty demsithy function p(t) which
is nevber known outside pure academic settings.

The best one can do with data is to *estimate* the correlation
function, and there are several *estimators* which can be used.

This is a fairly basic argument but unfortunately one that
isn't emphasized in texts on statistics.

Rune
```
```> But according to CNX (http://cnx.org/content/m10676/latest/), for
> discrete-time real signal sequences, the 'convolution' based method is
> given.
>
> Can somebody please clearup this confusion.

They are equivalent if the process is ergodic. If the process is not
ergodic, than 1) will *not* work.

```
```On Sep 3, 11:54 am, Ikaro <ikarosi...@hotmail.com> wrote:
> > But according to CNX (http://cnx.org/content/m10676/latest/), for
> > discrete-time real signal sequences, the 'convolution' based method is
> > given.
>
> > Can somebody please clearup this confusion.
>
> They are equivalent if the process is ergodic. If the process is not
> ergodic, than 1) will *not* work.

this is true, if they are ergodic, any average that you can express in
the time domain is equal to the average you get in the "probability
domain", the latter we usually call the "expectation value".

anyway, for finite-energy signals, the convolution definition (where
one copy of the input function to the autocorrelation is time-reversed
and sent to the convolver) might be the only one to use.  that's how
we compute the autocorrelation for a given (usually real-time)
signal.  we copy a piece of it (maybe windowed) and we compute some
kinda inner product of that piece against a corresponding seqment that
is delayed by some given time.

r b-j
```
```>From Wikipedia (http://en.wikipedia.org/wiki/Autocorrelation), there are
>two definitions.
>1) Based on convolution
>2) Based on  'expectation' - E[f(t).f*(t-t')]

The fundamental difference between (1) and (2) is that of a deterministic
and a random function. (2) is the definition of autocorrelation of a random
function, you are likely interested in that one.  Given a realization,
which is deterministic, you can estimate the autocorrelation using (1). In
some instances, though, you can find the autocorrelation parametrically, in
which case you would not need to use (1).

>I am not sure which version to use. I am working on OFDM so I will be
>mostly interested in calculation the autocrrelation on a Rayleigh
channel
>or the autocorrelation of the datainput sequence.

If you are interested in studying the channel model per se, and not
estimating it from, say, a training sequence, you are more likely to use
parametric analysis (2). The following might be helpful: