[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cepstrum computation
Laszlo Toth wrote:
> if(||FFT(x)||==0) { y=-BigNumber}
> else {y=log(||FFT(x)||)
>
> Where "BigNumber" is some big constant.
This is not correct, since you would like to preserve monotonicity, i.e. the relation that
smaller ||FFT(x)|| means smaller y (or at least not larger y). So it would have to be:
if (||FFT(x)|| <= exp(-BigNumber)) { y=-BigNumber}
else {y=log(||FFT(x)||)
But note that adding a small number makes the function differentiable:
y = log (||FFT(x)|| + epsilon)
Bill Hartmann wrote:
> You can always add a little broadband noise to keep the power spectrum
> finite at all frequencies.
The "epsilon" trick is equivalent to adding white noise.
Perhaps we should instead add a noise whose spectrum is equivalent to
the zero-phon curve?
Paul Boersma
Institute of Phonetic Sciences, University of Amsterdam
Herengracht 338, 1016CG Amsterdam, The Netherlands
http://www.fon.hum.uva.nl/paul/