LR Rabiner and RW Schafer, June 3
LR Rabiner and RW Schafer, June 3
LR Rabiner and RW Schafer, June 3
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
DRAFT: L. R. <strong>Rabiner</strong> <strong>and</strong> R. W. <strong>Schafer</strong>, <strong>June</strong> 3, 2009<br />
8.4. COMPUTING THE SHORT-TIME CEPSTRUM AND COMPLEX CEPSTRUM OF SPEECH461<br />
zeros without first computing the complex cepstrum. To see how this can be<br />
done, we write the discrete-time Fourier transform in terms of the numerical<br />
values of the zeros as<br />
X(e jω ) = Ae −jωM0<br />
Mi <br />
(1 − ame −jω Mo <br />
) (1 − bme jω ) (8.68)<br />
m=1<br />
Assuming A > 0, the phase of X(e jω ) is<br />
arg[X(e jω )] = −jωM0 +<br />
Mi <br />
m=1<br />
m=1<br />
ARG{(1 − ame −jω )} +<br />
Mo <br />
m=1<br />
ARG{(1 − bme jω )}<br />
(8.69)<br />
Our notation in Eq. (8.69) implies that the sum of the terms on the right is the<br />
continuous phase function arg{X(e jω )} that we require in the computation of<br />
the complex cepstrum even though the right h<strong>and</strong> side terms are principal value<br />
phases. This is true because of the following relations for the principal value<br />
phases of the individual polynomial factors:<br />
−π/2 < ARG{(1 − ae −jω )}] < π/2 if |a| < 1 (8.70a)<br />
−π/2 < ARG{(1 − be jω )} < π/2 if |b| < 1, (8.70b)<br />
which hold for −π < ω ≤ π. Furthermore, it can be shown that<br />
ARG{(1 − ae −jω )} = 0 for ω = 0 <strong>and</strong> π (8.71a)<br />
ARG{(1 − be jω )} = 0 for ω = 0 <strong>and</strong> π. (8.71b)<br />
Since |am| < 1 for m = 1, . . . , Mi <strong>and</strong> |bm| < 1 for m = 1, . . . , Mo in Eq. (8.69),<br />
it follows that the principal values all of the terms in that equation can be<br />
computed without discontinuities, <strong>and</strong> therefore the sum will have no discontinuities.<br />
Also note that the term −jωMo can be included or not as desired.<br />
Generally it would be omitted since its inverse DTFT can dominate the complex<br />
cepstrum values.<br />
To compute the sampled values of the continuous phase at frequencies 2πk/N,<br />
we simply need to compute N-point DFT’s of the individual terms <strong>and</strong> then<br />
compute <strong>and</strong> add the principal-value phases of those terms. Specifically, the<br />
continuous phase of the DFT X[k] of the finite-length sequence x[n] is<br />
arg{X[k]} =<br />
+<br />
Mo <br />
m=1<br />
Mi <br />
m=1<br />
ARG{(1 − ame −j2πk/N )}<br />
ARG{(1 − bme −j2π(N−k)/N )} 0 ≤ k ≤ N − 1. (8.72)<br />
The contributions due to the zeros that are inside the unit circle (am’s) can<br />
be computed by using an N-point FFT algorithm to compute the DFTs of<br />
the sequences δ[n] − amδ[n − 1]. Similarly the contributions due to the zeros<br />
that are outside the unit circle are obtained by computing the DFTs of the<br />
sequences δ[n] − bmδ[n − N + 1]. The computation can be reduced significantly