DADiSP Worksheet Functions > Function Categories > Fourier Transforms and Signal Processing > ACORR

 

ACORR

Purpose:

Calculates the auto-correlation using the convolution method.

Syntax:

ACORR(series, norm)

series

-

A series or array.

norm

-

Optional. An integer, the normalization method:

0:

None (default)

1:

Unity (-1 to 1)

2:

Biased

3:

Unbiased

Returns:

A series.

Example:

W1: gsin(1000, .001, 4)

W3: acorr(W1)

 

performs the auto-correlation of a sine wave. The peaks of the result indicate the series is very similar to itself at the time intervals where the peaks occur, i.e. the series is periodic.

Example:

W1: gsin(1000, .001, 4)

W2: gnorm(1000, .001)

W3: acorr(W1, 1)

W4: acorr(W2, 1)

 

image\acorrpic.gif

 

W3 displays the auto-correlation of a sine wave normalized to -1 and 1. W4 shows the normalized auto-correlation of random noise.

 

The normalized maximum of both results is 1.0 at time t = 0, indicating the expected perfect correlation at time t = 0 (true for all series).

 

The series of W4 displays only one distinct peak at t = 0, indicating that W2 is not correlated with itself and is non-periodic.

 

Both series display a triangular envelope due to the assumption that the input series is zero before the first sample and after the last sample.

Remarks:

The auto-correlation for a random process is defined as:

 

image\acorr01.gif

 

where E is the expected value operator, x[n] is a stationary random process and * indicates complex conjugate. In practice, the auto-correlation is estimated because only a finite sample of an infinite duration random process is available. The estimate of the auto-correlation function for a series of length N is defined as:

 

image\acorr02.gif

 

ACORR performs correlation by computing the direct convolution of the input series.

 

The output length L is:

 

L = 2 * length(s) - 1

 

The zeroth lag component is the mid point of the series.

 

The BIASED normalization divides the result by N, the length of the input series.

 

image\acorr03.gif

 

The UNBIASED normalization divides the result by

 

N - abs(N - i - 1) + 1

 

where i is the index of the result with a start value of 1. For a 0 start index, the unbiased estimate becomes:

 

image\acorr04.gif

 

The auto-correlation is used to determine how similar a series is to itself or if a series is periodic.

 

See FACORR for the frequency domain implementation.

 

See ACOV to remove the mean from the input series before calculating the auto-correlation.

See Also:

ACOV

CONV

FACORR

FACOV

FCONV

FXCORR

FXCOV

XCORR

XCOV