Engee documentation

Autocorrelation

Autocorrelation - dimensional array.

blockType: Autocorrelation

Path in the library:

/Signal Operations/Statistics/Autocorrelation

Description

Block Autocorrelation calculates the autocorrelation from the first measurement of the input - dimensional array. The calculation can be performed in the time or frequency domain.

A method for calculating autocorrelation in the time domain is implemented — the input signal correlates with its complex conjugate, reversed in time.

You can specify the maximum delay for autocorrelation using the parameters Compute all non-negative lags and Maximum non-negative lag.

Ports

Input

# IN_1 — input data
vector | the matrix

Details

Input data. The block accepts multi-channel and multidimensional input data with real or complex value.

Data types

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128

Complex numbers support

Yes

Output

# OUT_1 — autocorrelated output signal
vector | the matrix

Details

An output signal that contains the autocorrelation of the input data.

  • When the input signal is a matrix dimension on , the output is a matrix dimension on , where — maximum positive delay for autocorrelation.

  • When the input signal is -dimensional array, the block displays - dimensional array. The size of the first dimension is , and the dimensions of all other dimensions are the same as the dimensions of the input array. For example, when the input signal is an array on on , the block outputs an array on on .

Data types

Float64

Complex numbers support

Yes

Parameters

Main

# Compute all non-negative lags — calculating autocorrelation over all non-negative delays
Logical

Details

When this checkbox is selected, the block Autocorrelation calculates the autocorrelation over all non-negative delays in the range [0, length(input) − 1].

When the checkbox is unchecked, the block calculates the autocorrelation using delays in the range [0, l], where l — parameter value Maximum non-negative lag.

Default value

true (switched on)

Program usage name

ComputeAllNonNegativeLags

Tunable

No

Evaluatable

No

# Maximum non-negative lag — maximum positive delay
Int64 integer

Details

The maximum positive delay for autocorrelation, specified as an integer that is greater than or equal to zero and less than the input length.

Dependencies

To use this option, uncheck the box. Compute all non-negative lags.

Default value

1

Program usage name

MaximumNonNegativeLag

Tunable

No

Evaluatable

Yes

# Scaling — scaling the output data
None | Biased | Unbiased | Unity at zero-lag

Details

The scaling applied to the output data.

  • None — generates raw autocorrelation without normalization.

  • Biased — generates a biased autocorrelation estimate

  • Unbiased — generates an unbiased autocorrelation estimate

  • Unity at zero-lag — normalizes the autocorrelation estimate for each channel so that the sum with zero delay, the first element in each column, is identical 1

Values

None | Biased | Unbiased | Unity at zero-lag

Default value

None

Program usage name

Scaling

Tunable

No

Evaluatable

No

Additional information

Autocorrelation

Details

Autocorrelation is the correlation of a signal with itself at different points in time.

For a deterministic sequence of discrete time The autocorrelation is calculated using the usage of the following relation:

Where — delay, eh denotes a complex conjugation. If the input signal is the implementation of a stationary in the broad sense (Wide-Sense Stationary, WSS) random process of length , then is an estimate of the theoretical autocorrelation:

Where — mathematical expectation operator.

Normalization Unity at zero-lag divides each sequence value by autocorrelation or an estimate of autocorrelation at zero delay.

The most commonly used estimate of the theoretical autocorrelation of a random process WSS is the biased estimate:

Algorithms

Sequence of samples (or values) of autocorrelation calculated using the usage of this equation:

Where

  • — an element with zero delay in -m column of input data;

  • — lag index;

  • — index of the input data column;

  • — complex coupling;

  • — the number of items in each column;

  • — input matrix on ;

  • — maximum positive delay for autocorrelation.

    When you decide to compute the autocorrelation with all non-negative delays, . Otherwise — this is the maximum specified value of a non-negative integer.