Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also
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);
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.
Each of the functions takes the following arguments:
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.
Source signal array.
Displacement. 0 ≤ disp < n.
Number of samples in the source signal array.
Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
| 
 ATTRIBUTE TYPE  | 
 ATTRIBUTE VALUE  | 
|---|---|
| 
 Interface Stability  | 
 Committed  | 
| 
 MT-Level  | 
 MT-Safe  | 
Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also