estimate the autocorrelation of an array of samples
Array with complex or real numeric values; the signal
container : Array, predefined Array for holding result
scaling : none, biased or unbiased
The AutoCorrelation(A) command estimates the autocorrelation of the Array A of length N, storing the result in an Array C having the same length, which is then returned.
The autocorrelation is defined by the formula
for each k from 1 to N, with Aj=0 for N<j. Note that this routine computes estimates for positive lags only, since the autocorrelation for a negative lag value is the complex conjugate of the autocorrelation for the equivalent positive lag.
The formula shown above is for the default value of the scaling option, none. If scaling is set to biased, then each value of C is scaled by 1N. If scaling is set to unbiased, then the k-th element of C is scaled by 1N−k.
Before the code performing the computation runs, Maple converts A to a hardware datatype, first attempting float and subsequently complex, unless it already has one of these datatypes. For this reason, it is most efficient if A has one of these datatypes beforehand.
If the container=C option is provided, then the results are put into C and C is returned. With this option, no additional memory is allocated to store the result. The container must be an Array of the same size and datatype as A.
The SignalProcessing[AutoCorrelation] command is thread-safe as of Maple 17.
For more information on thread safety, see index/threadsafe.
a ≔ GenerateUniform⁡10,−1,1
c ≔ Array⁡1..numelems⁡a,'datatype'='float'8:
The SignalProcessing[AutoCorrelation] command was introduced in Maple 17.
For more information on Maple 17 changes, see Updates in Maple 17.
Download Help Document
What kind of issue would you like to report? (Optional)