La transformada Z de chirrido ( CZT ) es una generalización de la transformada discreta de Fourier (DFT). Mientras que la DFT muestrea el plano Z en puntos uniformemente espaciados a lo largo del círculo unitario , la transformada Z de chirrido muestrea a lo largo de arcos espirales en el plano Z, que corresponden a líneas rectas en el plano S. [ 1 ] [ 2 ] La DFT, la DFT real y la DFT con zoom se pueden calcular como casos especiales de la CZT.
Específicamente, la transformada Z chirp calcula la transformada Z en un número finito de puntos z k a lo largo de un contorno espiral logarítmico , definido como: [ 1 ] [ 3 ]
donde A es el punto de partida complejo, W es la razón compleja entre puntos y M es el número de puntos a calcular.
Al igual que la DFT, la transformada Z chirp se puede calcular en O( n log n ) operaciones donde. Un algoritmo O( N log N ) para la transformada Z de chirp inversa (ICZT) fue descrito en 2003, [ 4 ] [ 5 ] y en 2019. [ 6 ]
El algoritmo de Bluestein
El algoritmo de Bluestein [ 7 ] [ 8 ] expresa el CZT como una convolución y lo implementa de manera eficiente utilizando FFT /IFFT.
Como la DFT es un caso especial de la CZT, esto permite el cálculo eficiente de la transformada discreta de Fourier (DFT) de tamaños arbitrarios, incluidos los tamaños primos . (El otro algoritmo para FFT de tamaños primos, el algoritmo de Rader , también funciona reescribiendo la DFT como una convolución). Fue concebido en 1968 por Leo Bluestein . [ 7 ] El algoritmo de Bluestein se puede utilizar para calcular transformadas más generales que la DFT, basadas en la transformada Z (unilateral) (Rabiner et al. , 1969).
Recordemos que la DFT se define mediante la fórmula
Si reemplazamos el producto nk en el exponente por la identidad
obtenemos así:
Esta suma es precisamente una convolución de las dos secuencias a n y b n definidas por:
con la salida de la convolución multiplicada por N factores de fase b k * . Es decir:
Esta convolución, a su vez, puede realizarse con un par de FFT (más la FFT precalculada de chirp complejo b n ) mediante el teorema de convolución . El punto clave es que estas FFT no tienen la misma longitud N : dicha convolución solo puede calcularse exactamente a partir de FFT rellenándola con ceros hasta una longitud mayor o igual a 2 N – 1. En particular, se puede rellenar hasta una potencia de dos o algún otro tamaño compuesto , para lo cual la FFT puede realizarse eficientemente, por ejemplo, mediante el algoritmo de Cooley-Tukey en tiempo O( N log N ). Por lo tanto, el algoritmo de Bluestein proporciona una forma O( N log N ) de calcular DFT de tamaño primo, aunque varias veces más lento que el algoritmo de Cooley-Tukey para tamaños compuestos. [ 9 ]
El uso del relleno de ceros para la convolución en el algoritmo de Bluestein merece un comentario adicional. Supongamos que rellenamos con ceros hasta una longitud M ≥ 2 N – 1. Esto significa que a n se extiende a un arreglo A n de longitud M , donde A n = a n para 0 ≤ n < N y A n = 0 en caso contrario — el significado habitual de "relleno de ceros". Sin embargo, debido al término b k – n en la convolución, se requieren valores tanto positivos como negativos de n para b n (observando que b – n = b n ). Los límites periódicos implícitos por la DFT del arreglo con relleno de ceros significan que – n es equivalente a M – n . Por lo tanto, b n se extiende a un arreglo B n de longitud M , donde B 0 = b 0 , B n = B M – n = b n para 0 < n < N , y B n = 0 en caso contrario. [ 9 ] A y B se transforman luego mediante FFT, se multiplican punto por punto y se transforman inversamente mediante FFT para obtener la convolución de a y b , según el teorema de convolución usual. [ 9 ]
Seamos también más precisos sobre qué tipo de convolución se requiere en el algoritmo de Bluestein para la DFT. Si la secuencia b n fuera periódica en n con periodo N , entonces sería una convolución cíclica de longitud N , y el relleno con ceros sería solo por conveniencia computacional. Sin embargo, este no suele ser el caso:
Por lo tanto, para N par la convolución es cíclica, pero en este caso N es compuesto y normalmente se usaría un algoritmo FFT más eficiente como Cooley-Tukey. Sin embargo, para N impar, entonces b n es antiperiódica y técnicamente tenemos una convolución negacíclica de longitud N. Estas distinciones desaparecen cuando se rellena con ceros a n hasta una longitud de al menos 2 N − 1 como se describió anteriormente. Por lo tanto, quizás sea más fácil pensar en ella como un subconjunto de las salidas de una convolución lineal simple (es decir, sin "extensiones" conceptuales de los datos, periódicas o de otro tipo). [ 9 ]
transformaciones z
El algoritmo de Bluestein también se puede utilizar para calcular una transformación más general basada en la transformada Z (unilateral) (Rabiner et al. , 1969) [ 9 ] . En particular, puede calcular cualquier transformación de la forma:
para un número complejo arbitrario z y para diferentes números N y M de entradas y salidas. Dado el algoritmo de Bluestein [ 9 ] , dicha transformación puede utilizarse, por ejemplo, para obtener una interpolación más fina de alguna porción del espectro (aunque la resolución de frecuencia sigue estando limitada por el tiempo total de muestreo, similar a una FFT de zoom), realzar polos arbitrarios en análisis de funciones de transferencia, etc.
El algoritmo fue denominado algoritmo de transformada Z de chirrido porque, para el caso de la transformada de Fourier (| z | = 1), la secuencia b n de arriba es una sinusoide compleja de frecuencia que aumenta linealmente, que se denomina chirrido (lineal) en los sistemas de radar . [ 9 ]
Véase también
Referencias
- 1 2 Un estudio de la transformada Z de chirrido y sus aplicaciones - Shilling, Steve Alan
- ↑ "Transformada Z de chirrido - MATLAB czt" . www.mathworks.com . Consultado el 22 de septiembre de 2016 .
- ↑ Martin, Grant D. (noviembre de 2005). "Optimización del zoom espectral mediante transformada Z de chirrido con MATLAB®" (PDF) .
- ^ Bostan, Alin (2003). Algoritmo eficaz para operaciones de base en cálculo formal (PDF) (Doctor). Escuela Politécnica.
- ↑ Bostan, Alin; Schost, Éric (2005). "Evaluación polinómica e interpolación en conjuntos especiales de puntos". Journal of Complexity . 21 (4): 420– 446. doi : 10.1016/j.jco.2004.09.009 .
- ↑ Ingenieros resuelven un enigma de 50 años en el procesamiento de señales: la transformada Z de chirp inverso , por la Universidad Estatal de Iowa, 10 de octubre de 2019.
- 1 2 Bluestein, L. (1970-12-01). "Un enfoque de filtrado lineal para el cálculo de la transformada discreta de Fourier". IEEE Transactions on Audio and Electroacoustics . 18 (4): 451– 455. doi : 10.1109/TAU.1970.1162132 . ISSN 0018-9278 .
- ↑ "Algoritmo FFT de Bluestein" . DSPRelated.com.
- 1 2 3 4 5 6 7 Rabiner, L.; Schafer, R.; Rader, C. (junio de 1969). "El algoritmo de transformada Z de chirp" . IEEE Transactions on Audio and Electroacoustics . 17 (2): 86– 92. doi : 10.1109/TAU.1969.1162034 . ISSN 0018-9278 .
General
- Leo I. Bluestein, "Un enfoque de filtrado lineal para el cálculo de la transformada discreta de Fourier", Northeast Electronics Research and Engineering Meeting Record 10 , 218-219 (1968).
- Lawrence R. Rabiner, Ronald W. Schafer y Charles M. Rader, « El algoritmo de transformada Z de chirp y su aplicación », Bell Syst. Tech. J. 48 , 1249-1292 (1969). También publicado en: Rabiner, Shafer y Rader, « El algoritmo de transformada Z de chirp », IEEE Trans. Audio Electroacoustics 17 (2), 86-92 (1969).
- DH Bailey y PN Swarztrauber, «La transformada fraccionaria de Fourier y sus aplicaciones», SIAM Review 33 , 389-404 (1991). (Cabe señalar que esta terminología para la transformada Z no es estándar: convencionalmente, una transformada fraccionaria de Fourier se refiere a una transformada continua completamente diferente).
- Lawrence Rabiner , «El algoritmo de transformada Z de chirrido : una lección de serendipia», IEEE Signal Processing Magazine 21 , 118-119 (marzo de 2004). (Comentario histórico).
- Vladimir Sukhoy y Alexander Stoytchev: "Generalización de la FFT inversa fuera del círculo unitario" , (octubre de 2019). # Acceso abierto.
- Vladimir Sukhoy y Alexander Stoytchev: "Análisis de errores numéricos del algoritmo ICZT para contornos chirp en el círculo unitario" , Sci Rep 10, 4852 (2020).
Enlaces externos
- Un algoritmo DSP para el análisis de frecuencia : la transformada chirp-Z (CZT).
- Resolviendo un enigma de 50 años en el procesamiento de señales, segunda parte
- Análisis de Fourier
- Análisis tiempo-frecuencia
- Transformaciones integrales