'\" te .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved .TH mlib_SignalCepstral_S16_Adp 3MLIB "2 Mar 2007" "SunOS 5.11" "mediaLib Library Functions" .SH NAME mlib_SignalCepstral_S16_Adp \- perform cepstral analysis .SH SYNOPSIS .LP .nf cc [ \fIflag\fR... ] \fIfile\fR... \fB-lmlib\fR [ \fIlibrary\fR... ] #include \fBmlib_status\fR \fBmlib_SignalCepstral_S16_Adp\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_Adp()\fR function performs cepstral analysis. The scaling factor of the output data will be calculated based on the actual data. .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\fR(3MLIB), \fBmlib_SignalCepstralFree_S16\fR(3MLIB), \fBattributes\fR(5)