| 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 (assumed real) 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 | ![]() |