man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2014
 
 

mlib_SignalLPCAutoCorrel_F32(3MLIB)

Name

mlib_SignalLPCAutoCorrel_F32 - perform linear predictive coding with autocorrelation method

Synopsis

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

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

Description

The mlib_SignalLPCAutoCorrel_F32() function performs linear predictive coding with autocorrelation 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 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:

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

See also

mlib_SignalLPCAutoCorrelInit_F32(3MLIB), mlib_SignalLPCAutoCorrelGetEnergy_F32(3MLIB), mlib_SignalLPCAutoCorrelGetPARCOR_F32(3MLIB), mlib_SignalLPCAutoCorrelFree_F32(3MLIB), attributes(5)