Subject:Re: Cepstrum computationFrom:"Richard F. Lyon" <dicklyon(at)ACM.ORG>Date:Mon, 21 Jun 1999 10:57:08 -0700At 09:59 AM 6/21/99 , Argiris A. Kranidiotis wrote: >The definition of the Cepstrum C(t) is: > > C(t)=|| FFT( log( ||FFT(x)|| ) ) || > >My question is: what happens when ||FFT(x)||=0 for some x? >Then we have to compute log(0), which is undefined (as we all know). > >I suspect that I am missing something here, but this problem isn't >mentioned anywhere in my books. Yes, isn't it ridiculous that people sort of define things part way and then pretend they're OK? The whole problem of numerical stability of such operations near the singularity is seldom addressed. In practice, people patch it up with a small offset or limit value. The same problem comes up in most spectral displays, from 1-D log spectral plots to spectrograms. You see dark specks in histograms and curves spiking toward negative infinity in log spectral plots just because the spectral estimate is near zero at those locations. The more you look into principled ways to fix that singularity of the log, the more you'll be drawn to question why the log is used in the first place, and if you're not careful you'll end up spending a couple of decades on better and more 'auditory' representations-- like me you'll probably have to change careers to recover. Dick

This message came from the mail archive

http://www.auditory.org/postings/1999/

maintained by: DAn Ellis <dpwe@ee.columbia.edu>

Electrical Engineering Dept., Columbia University