Usually, the cepstrum of a signal is introduced as the result of taking the logarithm of its power spectrum, then applying the inverse Fourier transform:

$$C_p = |F^{-1}\{\log(|F\{f(t)\}|^2)\}|^2$$

It is also sometimes called a "spectrum of a spectrum" since it can also be defined as:

$$C_p = |F\{\log(|F\{f(t)\}|^2)\}|^2$$

I'm really having trouble understanding how the two are equivalent (up to a scaling factor), and this is I get the impression quite important to understanding why in other processing steps (e.g. mel frequency cepstrum) a forward transform is taken at the end instead of an inverse transform...


1 Answer 1


The only difference between these two formulas is $\mathcal{F}$ and $\mathcal{F}^{-1}$, so let's take a look at the definitions of DFT and IDFT (we'll see this property in discrete domain)

$$ X[k] = \sum_{n=0}^{N-1}x[n]e^{-j\frac{2\pi}{N}kn} $$

$$ x[n] = \frac{1}{N} \sum_{k=0}^{N-1}X[k]e^{j\frac{2\pi}{N}kn} $$

In our common sense $x[n]$ is a time sequence and $X[k]$ is a frequency sequence, however you can also treate DFT and IDFT as two transforms that can be applied to any sequence, in this case, $\log(|\mathcal{F}\{x[n]\}|^2)$, let's denote it as $f[m]$. The DFT and IDFT of $f[m]$ are respectively

$$ \mathcal{F}\{f[m]\} = \sum_{m=0}^{N-1}f[m]e^{-j\frac{2\pi}{N}km} $$

$$ \mathcal{F}^{-1}\{f[m]\} = \frac{1}{N} \sum_{m=0}^{N-1}f[m]e^{j\frac{2\pi}{N}mn} $$

There are two main differences, a scaling factor $1/N$ and a conjugation. Since $f[m]$ is a real sequence, we can derive that $$ \mathcal{F}\{f[m]\} = N \big[\mathcal{F}^{-1}\{f[m]\}\big]^* $$

Finally take the norm of these two sequences and we get two equivalent sequences with a scaling factor.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.