Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

cceps

Análisis cepstral complejo

Descripción

ejemplo

xhat = cceps(x) devuelve el cepstrum complejo de la secuencia de datos real utilizando la transformación De Fourier.xhatx

Nota

sólo funciona con datos reales.cceps

[xhat,nd] = cceps(x) devuelve el número de muestras de retraso (circular) añadidas antes de encontrar el cepstrum complejo.ndx

[xhat,nd,xhat1] = cceps(x) devuelve un segundo cepstrum complejo, .xhat1

[___] = cceps(x,n) cero pads a la longitud y devuelve la longitud .xnn

Ejemplos

contraer todo

Este ejemplo utiliza para mostrar un eco.cceps Generar un seno de frecuencia 45 Hz, muestreado a 100 Hz. Agregue un eco con la mitad de la amplitud y 0.2 s más tarde. Calcular el cepstrum complejo de la señal. Observe el eco en 0.2 s.

Fs = 100; t = 0:1/Fs:1.27;  s1 = sin(2*pi*45*t);   s2 = s1 + 0.5*[zeros(1,20) s1(1:108)];  c = cceps(s2);  plot(t,c) xlabel('Time (s)') title('Complex cepstrum')

Argumentos de entrada

contraer todo

Señal de entrada, especificada como un vector real. Mediante la aplicación de un término de fase lineal, la entrada se modifica para que no tenga discontinuidad de fase en radianes.π Es decir, se desplaza circularmente (después de cero relleno) por algunas muestras, si es necesario, para tener fase cero en radianes.π

Longitud de la señal de acolchado cero, especificada como un entero real positivo.

Argumentos de salida

contraer todo

Cepstrum complejo, devuelto como vector.

Número de muestras de retardo circular añadidas a , devueltas como un escalar real positivo.x

Segundo cepstrum complejo, devuelto como vector. se calcula utilizando un algoritmo de factorización alternativo especificado en las referencias y .xhat1[1][2] Este método solo se puede aplicar a señales de duración finita. Consulte la sección Algoritmo a continuación para obtener una comparación de los métodos de factorización de Fourier y factorización de la computación del cepstrum complejo.

Algoritmos

El análisis cepstral es una técnica de procesamiento de señal esmanualtina que se aplica con mayor frecuencia en el procesamiento de voz y el filtrado homomórfico. es una implementación del algoritmo 7.1 en .[1]cceps[3] Un programa Fortran largo se reduce a estas tres líneas de código, que componen el núcleo de:MATLAB®cceps

h = fft(x); logh = log(abs(h)) + sqrt(-1)*rcunwrap(angle(h)); y = real(ifft(logh)); 

Nota

en el segmento de código anterior hay una versión especial de que resta una línea recta de la fase. es una función local dentro y no está disponible para su uso desde la línea de comandos.rcunwrapunwraprcunwrapccepsMATLAB

En la tabla siguiente se enumeran los pros y los contras de los algoritmos de Fourier y factorización.

AlgoritmoProsContras
FourierSe puede utilizar para cualquier señal.Requiere desencapsulado de fase. La salida tiene alias.
FactorizaciónNo requiere desencapsulado de fase. Sin aliasSólo se puede utilizar para señales de corta duración. La señal de entrada debe tener una transformación Z de cero sin ceros en el círculo de la unidad.

En general, no puede utilizar los resultados de estos dos algoritmos para verificarse entre sí. Puede utilizarlos para verificarse entre sí solo cuando el primer elemento de los datos de entrada es positivo, la transformación Z de la secuencia de datos solo tiene ceros, todos estos ceros están dentro del círculo de unidad y la secuencia de datos de entrada es larga (o rellenada con ceros).

Referencias

[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.

Consulte también

| | |

Introducido antes de R2006a