Skip to contents

Complex cepstrum: inverse FFT of \(\log X(\omega)\) using the unwrapped phase. Unlike the real cepstrum, it preserves enough information to invert the operation, which is what enables homomorphic deconvolution.

Usage

hcepst(x, n_fft = NULL)

Arguments

x

Numeric vector (1-D signal).

n_fft

FFT length (default: next power of 2 \(\geq\) length(x)).

Value

List with filtered (complex cepstrum, real-valued), name, fs, n_samples, and extra (quefrency, n_fft, original_length).

Details

Reference: Oppenheim, A.V. & Schafer, R.W. (2009) Discrete-Time Signal Processing, 3rd ed., Pearson, chapter on cepstral analysis.

Examples

# \donttest{
set.seed(1)
x <- sin(2 * pi * 5 * seq(0, 1, length.out = 512))
res <- hcepst(x)
length(res$filtered)
#> [1] 512
# }