= Cepstrum
{title2=$c_x=\mathcal F^{-1}(\log|\mathcal F x|)$}
A <cepstrum> transforms a logarithmic spectrum back to a time-like coordinate. In the real-cepstrum convention for a discrete-time <signal> with <Fourier transform> $X(e^{i\omega})$,
$$
c_x[n]=\frac1{2\pi}\int_{-\pi}^{\pi}\log|X(e^{i\omega})|\,e^{i\omega n}\,d\omega.
$$
The finite-data version uses an inverse <discrete Fourier transform> of the log-magnitude spectrum. Zeros require suitable assumptions or numerical regularization. Using log power instead of log magnitude changes the scaling, so the convention must be stated.<Spectral Audio Signal Processing by Julius O. Smith III>[Spectral Envelope Extraction, Cepstral Windowing, equation 11.2]{ref}
The usefulness comes from <convolution>: if $x=s*h$, then the spectra multiply and their log magnitudes add, giving $c_x=c_s+c_h$. Multiplicative source-and-filter effects become additive.
For an ideal echo filter $h[n]=\delta[n]+a\delta[n-d]$, with real $0<a<1$, expanding $\log(1+ae^{-i\omega d})$ gives
$$
c_h[\pm md]=\frac{(-1)^{m+1}a^m}{2m},\qquad m\ge1.
$$
Other coefficients vanish. Thus an echo of amplitude $1/2$ delayed by eight samples gives coefficients $1/4$ at $\pm8$ and $-1/16$ at $\pm16$. Peaks reveal a delay that originally appeared as spectral ripples. The output coordinate is called <quefrency>. Keeping only its low-quefrency coefficients can smooth a <spectral envelope>, while retaining high-quefrency structure can expose repetitions.
Back to article page