stringtranslate.com

Transformada Z de Chirp

La transformada Z de chirp ( CZT ) es una generalización de la transformada de Fourier discreta (DFT). Mientras que la DFT muestrea el plano Z en puntos espaciados uniformemente a lo largo del círculo unitario, la transformada Z de chirp muestrea a lo largo de arcos espirales en el plano Z, correspondientes a líneas rectas en el plano S. [ 1] [2] La DFT, la DFT real y la DFT de zoom se pueden calcular como casos especiales de la CZT.

Específicamente, la transformada Z de 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 inicio complejo, W es la relación compleja entre puntos y M es el número de puntos a calcular.

Al igual que la DFT, la transformada Z de chirp se puede calcular en operaciones O( n log n ) donde . Un algoritmo O( N log N ) para la transformada Z de chirp inversa (ICZT) se describió en 2003, [4] [5] y en 2019. [6]

Algoritmo de Bluestein

El algoritmo de Bluestein [7] [8] expresa la CZT como una convolución y la implementa eficientemente usando FFT /IFFT.

Como la DFT es un caso especial de la CZT, esto permite el cálculo eficiente de la transformada de Fourier discreta (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

Así obtenemos:

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, se puede realizar con un par de FFT (más la FFT precalculada del chirp complejo b n ) a través del teorema de convolución . El punto clave es que estas FFT no tienen la misma longitud N : una convolución de este tipo se puede calcular exactamente a partir de las FFT solo rellenándolas 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 altamente compuesto , para el cual la FFT se puede realizar de manera eficiente mediante, por ejemplo, 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.

El uso de relleno de ceros para la convolución en el algoritmo de Bluestein merece algún comentario adicional. Supongamos que rellenamos con ceros hasta una longitud M ≥ 2 N –1. Esto significa que a n se extiende a una matriz 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 kn 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 en la DFT de la matriz rellenada con ceros significan que – n es equivalente a Mn . Por lo tanto, b n se extiende a una matriz B n de longitud M , donde B 0 = b 0 , B n = B Mn = b n para 0 < n < N , y B n = 0 en caso contrario. Luego se aplican FFT a A y B , se multiplican puntualmente y se aplican FFT inversamente para obtener la convolución de a y b , de acuerdo con el teorema de convolución habitual.

Seamos 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 período N , entonces sería una convolución cíclica de longitud N , y el relleno de ceros sería solo por conveniencia computacional. Sin embargo, este no es generalmente el caso:

Por lo tanto, para N pares, la convolución es cíclica, pero en este caso N es compuesta y normalmente se usaría un algoritmo FFT más eficiente, como Cooley–Tukey. Sin embargo, para N impares, entonces b n es antiperiódica y técnicamente tenemos una convolución negacíclica de longitud N . Sin embargo, tales 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, tal vez sea más fácil pensar en ella como un subconjunto de los resultados de una convolución lineal simple (es decir, sin "extensiones" conceptuales de los datos, periódicas o de otro tipo).

transformadas 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). 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, dicha transformación se puede utilizar, por ejemplo, para obtener una interpolación más finamente espaciada de alguna porción del espectro (aunque la resolución de frecuencia todavía está limitada por el tiempo total de muestreo, similar a una FFT de Zoom), mejorar polos arbitrarios en análisis de funciones de transferencia, etc.

El algoritmo se denominó algoritmo de transformada z de chirp porque, para el caso de la transformada de Fourier (| z | = 1), la secuencia b n de arriba es una sinusoide compleja de frecuencia linealmente creciente, que se denomina chirp (lineal) en los sistemas de radar .

Véase también

Referencias

  1. ^ ab Un estudio de la transformada Z de Chirp y sus aplicaciones - Shilling, Steve Alan
  2. ^ "Transformada Z de Chirp - MATLAB czt". www.mathworks.com . Consultado el 22 de septiembre de 2016 .
  3. ^ Martin, Grant D. (noviembre de 2005). "Optimización del zoom espectral mediante transformada Z de Chirp con MATLAB®" (PDF) .
  4. ^ Bostan, Alin (2003). Algoritmo eficaz para operaciones de base en cálculo formal (PDF) (Doctor). Escuela Politécnica.
  5. ^ 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.
  6. ^ Ingenieros resuelven un rompecabezas de 50 años en el procesamiento de señales: transformada Z de chirrido inverso, por la UNIVERSIDAD ESTATAL DE IOWA 10 DE OCTUBRE DE 2019
  7. ^ ab Bluestein, L. (1970-12-01). "Un enfoque de filtrado lineal para el cálculo de la transformada de Fourier discreta". IEEE Transactions on Audio and Electroacoustics . 18 (4): 451–455. doi :10.1109/TAU.1970.1162132. ISSN  0018-9278.
  8. ^ "Algoritmo FFT de Bluestein". DSPRelated.com.

General

Enlaces externos