# mlib_signallpccovariance_f32(3mlib) [sunos man page]

```mlib_SignalLPCCovariance_F32(3MLIB)			    mediaLib Library Functions			       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 fil-
ter. 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	     |Evolving			   |
+-----------------------------+-----------------------------+
|MT-Level		     |MT-Safe			   |
+-----------------------------+-----------------------------+

mlib_SignalLPCCovarianceInit_F32(3MLIB), mlib_SignalLPCCovarianceFree_F32(3MLIB), attributes(5)

SunOS 5.10							    10 Nov 2004 			       mlib_SignalLPCCovariance_F32(3MLIB)```

## Check Out this Related Man Page

```mlib_SignalLPCAutoCorrelGetEnergy_F32(3MLIB)		    mediaLib Library Functions		      mlib_SignalLPCAutoCorrelGetEnergy_F32(3MLIB)

NAME
mlib_SignalLPCAutoCorrelGetEnergy_F32 - return the energy of the input signal

SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_SignalLPCAutoCorrelGetEnergy_F32(mlib_f32 *engery, void *state);

DESCRIPTION
The mlib_SignalLPCAutoCorrelGetEnergy_F32() function returns the energy of the input signal.

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 fil-
ter. 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 autocorrelation method, the coefficients can be obtained by solving following set of linear equations.

M
SUM a(i) * r(|i-k|) = r(k), k=1,...,M
i=1

where

N-k-1
r(k) = SUM s(j) * s(j+k)
j=0

are the autocorrelation coefficients of s(*), N is the length of the input speech vector.  r(0) is the energy of the speech signal.

Note that the autocorrelation matrix R is a Toeplitz matrix (symmetric with all diagonal elements equal), and the equations can	be  solved
efficiently with Levinson-Durbin algorithm.

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

PARAMETERS
The function takes the following arguments:

energy	       The energy of the input signal.

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	     |Evolving			   |
+-----------------------------+-----------------------------+
|MT-Level		     |MT-Safe			   |
+-----------------------------+-----------------------------+