# Cepstrum of finite impulse train

In Acero's Spoken language processing (p. 309) it says that the cepstrum of a finite length impulse train $$x[n] = \sum^{M-1}_{k=0} \delta[n-kN]$$ is given by $$\hat{x}[n] = \sum^{ \infty}_{r=1} \frac{\delta[n-rN]}{r} - \sum^{\infty}_{l=1} \frac{\delta[n-lMN]}{l}$$

from where is clear that the cepstrum should be non-zero only for values of $n$ that are multiples of $N$.

I'm trying to visualise this result with a quick matlab script ($N =5$ and $M =3$):

delta_train = [1 0 0 0 0 1 0 0 0 0 1];
stem(cceps(delta_train));


but it gives by result

that is inconsistent with the above expression because it's non-zero for every $n$.

I was thinking that this may be somehow related to the way matlab implements cceps() with the FFT and the fact that the computed cesptrum is actually an aliased version of $\hat{x}[n]$, nevertheless, it should still be zero-valued for those $n$.

• Try adding 4 more zeros to the end of you impulse train. Then explain why the result cepstrum differs. May 1, 2017 at 5:45
• @hotpaw2 I can see it know. In that case the cepstrum is aliased in a way it does not converge. I can get the result I want with a good amount of zero-padding so the aliased versions don't affect. thanks! May 1, 2017 at 15:04