📄 fftcepstru.3
字号:
.\" Copyright (c) 1990 Entropic Speech, Inc..\" Copyright (c) 1990-1994 Entropic Research Laboratory, Inc.; All rights reserved..\" @(#)fftcepstru.3 1.3 06 May 1997 ESI/ERL.ds ]W (c) 1993 Entropic Research Laboratory, Inc..if n .ds - ---.if t .ds - \(em\h'-0.5m'\(em.TH FFT_CEPSTRUM 3\-ESPSsp 3/13/90.SH NAME.nffft_cepstrum \- Find the cepstrum of a data sequence.fft_cepstrum_r \- Find the cepstrum of real data sequence.fft_ccepstrum \- Find the complex cepstrum of a data sequence.fft_ccepstrum_r \- Find the complex cepstrum of a real data sequence..fi.SH SYNOPSIS.nf.ft Bextern int debug_level;voidfft_cepstrum(data, order)float_cplx *data;long order;voidfft_cepstrum_r(data_real, data_imag, order)float *data_real, *data_imag;long order;voidextern int debug_level;fft_ccepstrum(data, order)float_cplx *data;long order;voidextern int debug_level;fft_ccepstrum_r(data_real, data_imag, order)float *data_real, *data_imag;long order;.fi.SH DESCRIPTIONThe \fIfft_cepstrum\fP and \fIfft_ccepstrum\fP routines compute thecepstrum and complex cepstrum, respectively, of a complex datasequence using fast Fourier transformtechniques. The input data is supplied through the array\fIdata\fP of size 2^\fIorder\fP. The cepstraldata is returned through this array..PPThe routine \fIfft_ccepstrum\fP first computes the input spectrum from\fIdata\fP by using \fIget_cfft\fP(3-ESPS).The complex logarithm ofthis spectrum is then found as described in [1,2]. The inverseFFT of this log spectral data is found by using\fIget_cfft_inv\fP(3-ESPS) and returned through \fIdata\fP.The routine \fIfft_cepstrum\fP works identically except that the log magnitudeof the input spectrum is found rather than the complex logarithm..PPThe functions \fIfft_cepstrum_r\fP and \fIfft_ccepstrum_r\fPare identical to \fIfft_cepstrum\fP and \fIfft_ccepstrum\fP except thatthey process only real data sequences. Theyuse \fIget_rfft\fP (3-ESPS) instead of \fIget_fft\fP,and so are faster than \fIfft_cepstrum\fP and \fIfft_ccepstrum\fP.The array \fIdata_imag\fP must be filled with zeros when\fIfft_cepstrum_r\fP and \fIfft_ccepstrum_r\fP are called.The real and imaginary parts of the result are returned through\fIdata_real\fP and \fIdata_imag\fP..SH SEE ALSO.IR get_cfft (3-ESPS).IR get_cfft_inv (3-ESPS).IR get_rfft (3-ESPS).sp.SH COMMENTSThe routine used to compute the complex logarithm attempts to smooththe phase angle of the spectrum by adding or subtracting 2*pi to phasevalues which differ by more than pi from their predecessors.An additional, linear term is added to the phase to insure that thephase varies smoothly when continued as a periodic function\*-that is,that the first and last phase values differ by less than pi\*-and,in the case of \fIfft_ccepstrum_r\fP, that the result is real.In terms of the original data, this linear phase shift amounts to acircular shift of the input array and,in the case of \fIfft_ccepstrum_r\fP, a possible sign inverison.In order for this phase unwrapping to succeed,the phase needs to be slowly varying, which can be achieved byincreasing \fIorder\fP. If \fIdebug_level\fP is greater than 0, theunwrapping algorithm checks that unwrapped phase satisfies thecontinuity criterion. The warning "Phase unwrapping failed." is echoedto standard output the first time the criterion is violated..sp.SH REFERENCES[1] A. V. Oppenheim and R. W. Schafer,.I Digital Signal ProcessingPrentice-Hall, N.J. 1975.sp[2] D. G. Childers, D. P. Skinner, R. C. Kemerait,.I The Cepstrum: A Guide to ProcessingProceedings of the I.E.E.E., vol. 65, no. 10 October 1977, pp. 1428-1443.sp.SH AUTHORProgram and manual page by Bill Byrne.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -