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

 

FACORR

Purpose:

Calculates the auto-correlation using the FFT method.

Syntax:

FACORR(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: facorr(W1, 1)

W4: facorr(W2, 1)

 

image\facorrpic.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 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

 

FACORR performs correlation by computing the FFT 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 ACORR for the time domain implementation.

 

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

See Also:

ACORR

ACOV

CONV

FACOV

FCONV

FXCORR

FXCOV

XCORR

XCOV