Signal Processing Toolbox |
Syntax
Description
Cepstral analysis is a nonlinear signal processing technique that is applied most commonly in speech processing and homomorphic filtering [1].
xhat = cceps(x)
returns the complex cepstrum of the real data sequence x
. The input is altered, by the application of a linear phase term, to have no phase discontinuity at ± radians. That is, it is circularly shifted (after zero padding) by some samples, if necessary, to have zero phase at radians.
[xhat,nd] = cceps(x)
returns the number of samples nd
of (circular) delay added to x
prior to finding the complex cepstrum.
[xhat,nd,xhat1] = cceps(x)
returns a second complex cepstrum, computed using an alternate rooting algorithm, in xhat1
. The alternate method ([1] p.795) is useful for short sequences that can be rooted and do not have zeros on the unit circle. For these signals, xhat1 can provide a verification of xhat.
[...] = cceps(x,n)
zero pads x
to length n
and returns the length n
complex cepstrum of x
.
Algorithm
cceps
is an M-file implementation of algorithm 7.1 in [2]. A lengthy Fortran program reduces to these three lines of MATLAB code, which compose the core of cceps
:
Note
rcunwrap in the above code segment is a special version of unwrap that subtracts a straight line from the phase. rcunwrap is a local function within cceps and is not available for use from the MATLAB command line.
|
See Also
icceps
, hilbert
, rceps
, unwrap
References
[1] Oppenheim, A.V., and R.W. Schafer. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice-Hall, 1999, pp. 788-789.
[2] IEEE. Programs for Digital Signal Processing. IEEE Press. New York: John Wiley & Sons, 1979.
buttord | cell2sos |
© 1994-2005 The MathWorks, Inc.