man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2014
 
 

mlib_SignalCepstral_F32 (3MLIB)

Name

mlib_SignalCepstral_F32 - perform cepstral analysis

Synopsis

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

mlib_status mlib_SignalCepstral_F32(mlib_f32 *cepst, 
     const mlib_f32 *signal, void *state);

Description

The mlib_SignalCepstral_F32() function performs cepstral analysis.

The basic operations to compute the cepstrum is shown below.

      +-----------+      +--------+       +-----------+
      |  Fourier  |      |        |       |  Inverse  |
----->|           |----->| log|*| |------>|  Fourier  |----->
 x(n) | Transform | X(k) |        | X'(k) | Transform | c(n)
      +-----------+      +--------+       +-----------+

where x(n) is the input signal and c(n) is its cepstrum. In mathematics, they are

       N-1                2*PI*k*n
X(k) = SUM x(n) * exp(-j*----------)
       n=0                   N

X'(k) = log|X(k)|

        1  N-1                2*PI*k*n
c(n) = --- SUM X'(k) * exp(j*----------)
        N  n=0                   N

Since X'(k) is real and even (symmetric), i.e.

X'(k) = X'(N - k)

the c(n) is real and the equation becomes Cosine transform.

        1  N-1              2*PI*k*n
c(n) = --- SUM X'(k) * cos(----------)
        N  n=0                 N

The cepstral coefficients in LPC is a special case of the above.

See Digital Signal Processing by Alan V. Oppenheim and Ronald W. Schafer, Prentice Hall, 1974.

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

Parameters

The function takes the following arguments:

cepst

The cepstral 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_SignalCepstralInit_F32(3MLIB), mlib_SignalCepstralFree_F32(3MLIB), attributes(5)