'\" te .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved .TH mlib_SignalCepstral_S16 3MLIB "2 Mar 2007" "SunOS 5.11" "mediaLib Library Functions" .SH NAME mlib_SignalCepstral_S16 \- perform cepstral analysis .SH SYNOPSIS .LP .nf cc [ \fIflag\fR... ] \fIfile\fR... \fB-lmlib\fR [ \fIlibrary\fR... ] #include \fBmlib_status\fR \fBmlib_SignalCepstral_S16\fR(\fBmlib_s16 *\fR\fIcepst\fR, \fBmlib_s32\fR \fIcscale\fR, \fBconst mlib_s16 *\fR\fIsignal\fR, \fBvoid *\fR\fIstate\fR); .fi .SH DESCRIPTION .sp .LP The \fBmlib_SignalCepstral_S16()\fR function performs cepstral analysis. The user supplied scaling factor will be used and the output will be saturated if necessary. .sp .LP The basic operations to compute the cepstrum is shown below. .sp .in +2 .nf +-----------+ +--------+ +-----------+ | Fourier | | | | Inverse | ----->| |----->| log|*| |------>| Fourier |-----> x(n) | Transform | X(k) | | X'(k) | Transform | c(n) +-----------+ +--------+ +-----------+ .fi .in -2 .sp .LP where \fBx(n)\fR is the input signal and \fBc(n)\fR is its cepstrum. In mathematics, they are .sp .in +2 .nf 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 .fi .in -2 .sp .LP Since \fBX'(k)\fR is real and even (symmetric), i.e. .sp .in +2 .nf X'(k) = X'(N - k) .fi .in -2 .sp .LP the \fBc(n)\fR is real and the equation becomes Cosine transform. .sp .in +2 .nf 1 N-1 2*PI*k*n c(n) = --- SUM X'(k) * cos(----------) N n=0 N .fi .in -2 .sp .LP The cepstral coefficients in LPC is a special case of the above. .sp .LP See \fIDigital Signal Processing\fR by Alan V. Oppenheim and Ronald W. Schafer, Prentice Hall, 1974. .sp .LP See \fIFundamentals of Speech Recognition\fR by Lawrence Rabinerand Biing-Hwang Juang, Prentice Hall, 1993. .SH PARAMETERS .sp .LP The function takes the following arguments: .sp .ne 2 .mk .na \fB\fIcepst\fR\fR .ad .RS 10n .rt The cepstral coefficients. .RE .sp .ne 2 .mk .na \fB\fIcscale\fR\fR .ad .RS 10n .rt The scaling factor of cepstral coefficients, where \fBactual_data = output_data * 2**(-scaling_factor)\fR. .RE .sp .ne 2 .mk .na \fB\fIsignal\fR\fR .ad .RS 10n .rt The input signal vector, the signal samples are in Q15 format. .RE .sp .ne 2 .mk .na \fB\fIstate\fR\fR .ad .RS 10n .rt Pointer to the internal state structure. .RE .SH RETURN VALUES .sp .LP The function returns \fBMLIB_SUCCESS\fR if successful. Otherwise it returns \fBMLIB_FAILURE\fR. .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPEATTRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe .TE .SH SEE ALSO .sp .LP \fBmlib_SignalCepstralInit_S16\fR(3MLIB), \fBmlib_SignalCepstral_S16_Adp\fR(3MLIB), \fBmlib_SignalCepstralFree_S16\fR(3MLIB), \fBattributes\fR(5)