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.
# 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.