Autocorrelation - Compute autocorrelation of vector or matrix input

Library

Statistics

dspstat3

Description

The Autocorrelation block computes the autocorrelation along each column of a frame-based input, and computes along the first dimension of an N-D sample-based input. The output of the block is always sample-based.

The Autocorrelation block accepts both real and complex fixed-point and floating-point inputs. Fixed-point signals are not supported for the frequency domain.

Autocorrelation of Frame-Based Inputs

When the input to the Autocorrelation block is a frame-based M-by-N matrix u, the output, y, is a sample-based (l+1)-by-N matrix whose jth column has elements

where * denotes the complex conjugate, and l represents the maximum lag. y0,j is the zero-lag element in the jth column. When you select Compute all non-negative lags, l=M–1. Otherwise, l is specified as a nonnegative integer by the Maximum non-negative lag (less than input length) parameter.

Input u is zero when indexed outside of its valid range. When the input is real, the output is real; otherwise, the output is complex.

Autocorrelation of Sample-Based Inputs

When the input is a sample-based N-D array, the block computes the autocorrelation along the first dimension of the input. The output is a sample based N-D array, where the size of the first dimension is l+1, and the sizes of all other dimensions match those of the input array. For example, when the input is an M-by-N-by-P array, the Autocorrelation block outputs an (l+1)-by-N-by-P sample-based array.

When you select Compute all non-negative lags, l=M–1. Otherwise, l is specified as a nonnegative integer by the Maximum non-negative lag (less than input length) parameter.

Input u is zero when indexed outside of its valid range. When the input is real, the output is real; otherwise, the output is complex.

Fixed-Point Data Types

The following diagrams show the data types used within the Autocorrelation block for fixed-point signals (time domain only).

You can set the product output, accumulator, and output data types in the Fixed-Point pane of the block dialog as discussed in the next section.

The output of the multiplier is in the product output data type when the input is real. When the input is complex, the result of the multiplication is in the accumulator data type. For details on the complex multiplication performed, see Multiplication Data Types.

Dialog Box

The Main pane of the Autocorrelation block dialog appears as follows.

Compute all non-negative lags

Select to compute the autocorrelation over all nonnegative lags in the range [0, length(input)-1].

Maximum non-negative lag (less than input length)

Specify the maximum positive lag, l, for the autocorrelation. This parameter is enabled when you do not select the Compute all non-negative lags check box.

Scaling

This parameter controls the scaling that is applied to the output. The following options are available:

This parameter is tunable, except in the Simulink external mode.

Computation domain

This parameter sets the domain in which the block computes convolutions to one of the following settings:

The Fixed-point pane of the Autocorrelation block dialog appears as follows.

Rounding mode

Select the rounding mode for fixed-point operations.

Overflow mode

Select the overflow mode for fixed-point operations.

Product output

Use this parameter to specify how you want to designate the product output word and fraction lengths. See Fixed-Point Data Types and Multiplication Data Types for illustrations depicting the use of the product output data type in this block:

Accumulator

As depicted in this figure, inputs to the accumulator are cast to the accumulator data type. The output of the adder remains in the accumulator data type as each element of the input is added to it. Use this parameter to specify how you want to designate this accumulator word and fraction lengths.

You also use this parameter to specify the accumulator word and fraction lengths resulting from a complex-complex multiplication in the block. See Multiplication Data Types for more information.

Output

Choose how you specify the output word length and fraction length:

Lock scaling against changes by the autoscaling tool

Select this parameter to prevent any fixed-point scaling you specify in this block mask from being overridden by the autoscaling tool in the Fixed-Point Tool.

Supported Data Types

PortSupported Data Types

Input

  • Double-precision floating point

  • Single-precision floating point

  • Fixed point (signed only)

  • 8-, 16-, and 32-bit signed integers

Output

  • Double-precision floating point

  • Single-precision floating point

  • Fixed point (signed only)

  • 8-, 16-, and 32-bit signed integers

See Also

CorrelationSignal Processing Blockset
xcorrSignal Processing Toolbox

  


 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS