man pages section 3: Multimedia Library Functions
Updated: July 2014

## mlib_SignalAutoCorrel_S16 (3MLIB)

### Name

mlib_SignalAutoCorrel_S16, mlib_SignalAutoCorrel_S16S, mlib_SignalAutoCorrel_F32, mlib_SignalAutoCorrel_F32S - signal auto-correlation

### Synopsis

```cc [ flag... ] file... –lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_SignalAutoCorrel_S16(mlib_d64 *correl,
const mlib_s16 *src, mlib_s32 disp, mlib_s32 n);```
```mlib_status mlib_SignalAutoCorrel_S16S(mlib_d64 *correl,
const mlib_s16 *src, mlib_s32 disp, mlib_s32 n);```
```mlib_status mlib_SignalAutoCorrel_F32(mlib_d64 *correl,
const mlib_f32 *src, mlib_s32 disp, mlib_s32 n);```
```mlib_status mlib_SignalAutoCorrel_F32S(mlib_d64 *correl,
const mlib_f32 *src, mlib_s32 disp, mlib_s32 n);```

### Description

Each of these functions performs auto-correlation.

For monaural signals, the following equation is used:

```              1    n-d-1
correl[0] = ----- * SUM (src[i] * src[i + d])
n - d   i=0
```

For stereo signals, the following equation is used:

```              1    n-d-1
correl[0] = ----- * SUM (src[2*i] * src[2*(i + d)])
n - d   i=0

1    n-d-1
correl[1] = ----- * SUM (src[2*i + 1] * src[2*(i + d) + 1])
n - d   i=0
```

where d = disp.

### Parameters

Each of the functions takes the following arguments:

correl

Pointer to the auto-correlation array. In the stereo version, correl[0] contains the auto-correlation of channel 0, and correl[1] contains the auto-correlation of channel 1.

src

Source signal array.

disp

Displacement. 0 ≤ disp < n.

n

Number of samples in the source signal array.

### Return Values

Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.

### Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe