Unidades de una transformada de Fourier discreta

Normalmente, una transformada de Fourier (FT) de una función de una variable se define como

F k = F ( X ) Exp ( 2 π i k X ) d X .
Esto significa que F k obtiene las unidades de F veces las unidades de X : [ F k ] = [ F ] × [ X ] . Para una matriz de entradas { F norte F ( X norte ) } de longitud norte la transformada discreta de Fourier (DFT) normalmente se define como
F k = norte = 0 norte 1 F norte Exp ( 2 π i k norte / norte ) .
Esto significa que F k tiene las mismas unidades que F : [ F k ] = [ F ] . ¿Qué falta aquí? Para que la DFT sea una aproximación de la FT, seguramente las unidades deben ser las mismas. En otras palabras, si debo comparar el valor teórico de alguna cantidad transformada de Fourier con una obtenida numéricamente de una transformada discreta de Fourier, ¿cómo hago esto de manera consistente? La norma obvia sería X 0 X norte 1 norte , ¿Pero, es realmente así?

Aparentemente, no tengo permitido hacer una edición tan corta, pero la DFT realmente no tiene sentido a menos que especifique cómo X varía con i . Eso es X X i .
Correcto, arreglado el DFT

Respuestas (3)

La fórmula para norte -DFT debe ser:

F ~ [ k ] = norte = 0 norte 1 F ~ [ norte ] Exp ( 2 π i k norte / norte ) ,

dónde F ~ [ norte ] es la entrada discreta y F ~ [ k ] es la salida de frecuencia discreta. Uno puede escalar opcionalmente por norte 1 / 2 .

Los índices norte y k son adimensionales. Generalmente F ~ [ norte ] se obtiene de F ( X ) por muestreo, lo que implica elegir el período de la muestra X (misma unidad que X ), y extrayendo F ~ [ norte ] = F ( norte X ) . Desde norte X tiene la unidad de X , entonces norte no tiene unidad.

Comparación de FT continuo F { F } y la "aproximación DFT" es espinosa porque se debe considerar la discretización y el preprocesamiento. Si muestreamos por F ~ [ norte ] = F ( norte X ) , entonces se descartan los siguientes datos:

  • F ( X ) para X < 0 y X > ( norte 1 ) X ,
  • F ( X ) entre puntos de muestra X = 0 , X = X , ..., X = ( norte 1 ) X .

Trabajando enteramente en dominio continuo, esto corresponde a multiplicar F ( X ) por un C ( X ) : un "peine" que consta de funciones delta desplazadas:

C ( X ) = norte = 0 norte 1 d ( X norte X ) .

Por lo tanto (ignorando la escala), DFT en datos muestreados implica:

  1. Informática F { F × C } ,
  2. Muestreo del resultado a frecuencias discretas. Para encontrar estos, F ~ [ k ] corresponde al periodo norte X k , entonces la frecuencia angular es ω = 2 π k norte X . Tenga en cuenta que aquí k es adimensional, y el factor 2 π norte X tiene dimensión de X 1 (Editar: esto supone k < norte / 2 ; si k > norte / 2 debemos considerar frecuencias negativas k norte ).

Del teorema de convolución, F { F ( X ) × C ( X ) } es proporcional a la convolución de F { F } y F { C } . Por lo tanto F { C } Actúa para distorsionar lo deseado. F { F } .

Mediante inspección, F { C } consiste en sumas de exponenciales complejos con frecuencias que ocurren en intervalos regulares. Trazado en Wolfram Alpha (p. ej., a b s ( 1 + mi X pag ( i X ) + mi X pag ( 2 i X ) + mi X pag ( 3 i X ) ) ) vemos que esto tiene picos periódicos a partir de ω = 0 . Queremos que esto sea lo más cercano a d ( ω ) como sea posible, y puede hacer lo siguiente para mejorar los resultados (SUPUESTOS F ( X ) tiene un ancho de banda finito, es decir, F ( F ) cae a alta frecuencia).

  • Aumentar el número de muestras norte : esto "afila" los picos de F { C } . De hecho, en el límite, la FT de un tren delta infinito es otro tren delta infinito.
  • Disminuir el intervalo de muestreo X : esto aumenta la distancia entre los picos. Con la suposición de ancho de banda finito, después de la convolución, las frecuencias de muestreo aún producirían resultados bastante buenos.
  • Procesamiento de señal adicional activado F ( X ) (más allá de mi alcance).

(Editar: gramática fija y redacción redundante).

Para obtener un límite

F k = F ( X ) Exp ( 2 π i k X ) d X
a partir de una transformada discreta de Fourier, en realidad debe ver lo que quiere decir con la fórmula
F k = i = norte / 2 norte / 2 F i Exp ( 2 π i k X i ) . ( )
Esta fórmula está tomando muestras de paso indeterminado en el X dirección y no convergerá a una transformada de Fourier solo por norte . Para converger, también debes suavizar tu paso y no olvidar entrar en , eso es ( i es un índice confuso con el imaginario i también ocurre, usemos j )
F k = Δ X j = F j Exp ( 2 π i k ( j Δ X ) ) .
Y enviar Δ X a cero. El factor anterior es necesario porque, de lo contrario, su F k divergiría. O puede entenderlo en la forma en que las muestras deben pesarse con respecto a la muestra original al volverse más fina. Puedes ver fácilmente que para [ k ] = 1 , [ Δ X ] = [ X ] y este es exactamente el factor correspondiente a d X en el FT continuo.

en la fórmula ( ) , si toma cualquier otro paso que no sea el paso de dimensión unitaria, no daría una buena aproximación numérica a la FT continua. Por ejemplo, para un paso de media unidad, el valor numérico de F k sería aproximadamente el doble de la de F ( k ) . Creo que esto ilustra quizás con mayor fuerza por qué el paso Δ X tiene que estar delante de la DFT para dar una aproximación real.


(Esta publicación ha sido revisada bastante).

Excelente descripción. Sin embargo, desde una perspectiva de análisis de datos, ¿cómo comparo, por ejemplo, el espectro de potencia | F k | 2 extraída de una simulación a la de una teoría? La cantidad teórica tiene unidades de longitud, la cantidad simulada se obtiene mediante una FFT de una matriz adimensional, lo que la hace adimensional.
Regrese a la simulación e identifique dónde está realmente su matriz. Aunque puede ser una red de puntos, tiene que estar en un espacio dimensional. Tome la distancia física entre los puntos en unidades respectivas y en la DFT multiplique cada término de la suma por la distancia desde el punto a la izquierda, a la derecha, o trátelo con cualquier algoritmo de cuadratura numérica que se aproxime a la integral continua FT. Para puntos equidistantes, simplemente puede multiplicar la suma total por la distancia.

Está asumiendo erróneamente que una secuencia debe tener exactamente la misma unidad para ser considerada la aproximación de una señal. En general, una secuencia F k puede considerarse como una aproximación de F ( X ) si F k = X k X k + 1 F ( X ) d X . Claramente las unidades difieren aquí.

Tenga en cuenta que por esta regla, F k = 0 es una aproximación de F ( X ) = 0 , C F k es una aproximación de C F ( X ) , y F k + gramo k es una aproximación de F ( X ) + gramo ( X ) .

Realmente no creo que su ejemplo se considere una aproximación en el sentido de la física. Digamos que quieres aproximar la energía potencial en un volumen dado, la integras sobre el volumen... ¿y lo dejas así? No, eso sería simplemente una cantidad física diferente, se divide por el volumen del espacio y se obtiene la energía potencial promedio, la aproximación real del potencial.
@Void: si desea determinar la energía potencial en un volumen, integraría la densidad de energía potencial sobre ese volumen.
Obviamente. Pero dices que te aproximas F ( X ) (que sería decir una densidad de longitud del potencial) por F k (que sería decir un cambio en el potencial de X k X k + 1 ). Estos dos serían físicamente dos cantidades diferentes, numéricamente esto ni siquiera verificaría si X k X k + 1 fueron diferentes de 1 en las unidades de longitud utilizadas. Luego cambie las unidades físicas, F k es de nuevo una mala aproximación de F ( X ) . Para obtener una aproximación de F ( X ) realmente convergente para intervalos más finos e independiente de las unidades de X k X k 1 , tendrías que dividir por X k X k 1 .