cceps
Complex cepstral analysis
Description
Examples
Input Arguments
Output Arguments
Algorithms
Cepstral analysis is a nonlinear signal processing technique that is applied most commonly
in speech processing and homomorphic filtering [1]. cceps
is an implementation of algorithm 7.1 in [3]. A lengthy Fortran
program reduces to these three lines of MATLAB® code, which compose the core of cceps
:
h = fft(x); logh = log(abs(h)) + sqrt(-1)*rcunwrap(angle(h)); y = real(ifft(logh));
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.
The following table lists the pros and cons of the Fourier and factorization algorithms.
Algorithm | Pros | Cons |
---|---|---|
Fourier | Can be used for any signal. | Requires phase unwrapping. Output is aliased. |
Factorization | Does not require phase unwrapping. No aliasing | Can be used only for short duration signals. Input signal must have an all-zero Z-transform with no zeros on the unit circle. |
In general, you cannot use the results of these two algorithms to verify each other. You can use them to verify each other only when the first element of the input data is positive, the Z-transform of the data sequence has only zeros, all of these zeros are inside the unit circle, and the input data sequence is long (or padded with zeros).
References
[1] Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice Hall, 1999, pp. 788–789.
[2] Steiglitz, K., and B. Dickinson. “Computation of the Complex Cepstrum by Factorization of the Z-transform.” Proceedings of the 1977 IEEE® International Conference on Acoustics, Speech and Signal Processing, pp. 723–726.
[3] Digital Signal Processing Committee of the IEEE Acoustics, Speech, and Signal Processing Society, eds. Programs for Digital Signal Processing. New York: IEEE Press, 1979.
Extended Capabilities
Version History
Introduced before R2006a