Subject: Re: Cepstrum computation From: "Alain de Cheveigne'" <Alain.de.Cheveigne(at)IRCAM.FR> Date: Tue, 22 Jun 1999 16:55:20 +0200>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 Alain -------------------------------------------------------------- Alain de Cheveigne' CNRS/IRCAM, 1 place Stravinsky, 75004, Paris. phone: +33 1 44784846, fax: 44781540, email: cheveign(at)ircam.fr http://www.ircam.fr/equipes/perception/cheveign --------------------------------------------------------------