## Linux and UNIX Man Pages

Test Your Knowledge in Computers #247
Difficulty: Easy
By 1973, the File Transfer Protocol (FTP) specification had been defined (RFC 354) and implemented, enabling file transfers over the ARPANET.
True or False?

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

NAME
mlib_SignalLPCAutoCorrel_S16, mlib_SignalLPCAutoCorrel_S16_Adp - perform linear predictive coding with autocorrelation method

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

mlib_status mlib_SignalLPCAutoCorrel_S16(mlib_s16 *coeff,
mlib_s32 cscale, const mlib_s16 *signal, void *state);

mlib_s32 *cscale, const mlib_s16 *signal, void *state);

DESCRIPTION
Each 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 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.

Note  for functions with adaptive scaling (with _Adp postfix), the scaling factor of the output data will be calculated based on the actual
data; for functions with non-adaptive scaling (without _Adp postfix), the user supplied scaling factor will be used and the output will	be
saturated if necessary.

PARAMETERS
Each function takes the following arguments:

coeff	 The linear prediction coefficients.

cscale	 The scaling factor of the linear prediction coefficients, where actual_data = output_data * 2**(-scaling_factor).

signal	 The input signal vector with samples in Q15 format.

state	 Pointer to the internal state structure.

RETURN VALUES
Each 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			   |
+-----------------------------+-----------------------------+