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

## mlib_SignalLPCCovariance_F32(3MLIB)

### Name

mlib_SignalLPCCovariance_F32 - perform linear predictive coding with covariance method

### Synopsis

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

mlib_status mlib_SignalLPCCovariance_F32(mlib_f32 *coeff,
const mlib_f32 *signal, void *state);```

### Description

The mlib_SignalLPCCovariance_F32() function performs linear predictive coding with covariance method.

In linear predictive coding (LPC) model, each speech sample is represented as a linear combination of the past M samples.

```	        M
s(n) = SUM a(i) * s(n-i) + G * u(n)
i=1```

where s(*) is the speech signal, u(*) is the excitation signal, and G is the gain constants, M is the order of the linear prediction filter. Given s(*), the goal is to find a set of coefficient a(*) that minimizes the prediction error e(*).

```	               M
e(n) = s(n) - SUM a(i) * s(n-i)
i=1```

In covariance method, the coefficients can be obtained by solving following set of linear equations.

```	 M
SUM a(i) * c(i,k) = c(0,k), k=1,...,M
i=1```

where

```	         N-k-1
c(i,k) =  SUM s(j) * s(j+k-i)
j=0```

are the covariance coefficients of s(*), N is the length of the input speech vector.

Note that the covariance matrix R is a symmetric matrix, and the equations can be solved efficiently with Cholesky decomposition method.

See Fundamentals of Speech Recognition by Lawrence Rabiner and Biing-Hwang Juang, Prentice Hall, 1993.

### Parameters

The function takes the following arguments:

coeff

The linear prediction coefficients.

signal

The input signal vector.

state

Pointer to the internal state structure.

### Return Values

The function 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