[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cepstrum computation

>Yes, ridiculous indeed. A mathematician would definitely add a comment like
>if(||FFT(x)||==0) { y=-BigNumber}
>else {y=log(||FFT(x)||)
>Where "BigNumber" is some big constant.

A computer programmer would certainly.  A mathematician might also wonder
how the result varies with the choice of BigNumber.  The answer should
depend on the "shape" of the log spectrum in the vicinity of the negative
infinity, or more precisely the area between the curve and the axis in that
vicinity.  If that area is finite, then the integral of the log spectrum
weighted by a complex exponential (ie the value of the cepstrum) should
converge when BigNumber --> infinity, and we need not worry too much about
the value chosen as long as its big enough.  If instead the area is not
finite, then the value of the cepstrum depends in an essential way on the
choice of BigNumber, an uncomfortable situation.

Question: is there anything to say that the area near such a singularity is
finite for a log spectrum calculated from a windowed signal?   In other
words, can we say that limiting the log spectrum to a floor is reasonable,
given the shape of log spectra that we can encounter in practice?

This discussion applies to a continuous analysis.  In a discrete analysis,
the problem would remain entire if a sample of the spectrum happened to be
zero (and its log thus equal to minus infinity).  Statistically rare, but
not impossible...   It makes me wonder under what conditions the log
spectrum is adequately represented by its samples in this operation.

Maybe someone knowledgeable can comment?



Alain de Cheveigne'
CNRS/IRCAM, 1 place Stravinsky, 75004, Paris.
phone: +33 1 44784846, fax: 44781540, email: cheveign@ircam.fr