Si escala la salida de su DFT, hacia adelante o hacia atrás, no tiene nada que ver con la convención o con lo que es matemáticamente conveniente. Tiene todo que ver con la entrada al DFT. Permítanme mostrar algunos ejemplos en los que se requiere o no el escalado para la transformación directa e inversa.
Debe escalar una transformación directa por 1 / N.
Para empezar, debe quedar claro que para analizar una onda sinusoidal simple, la longitud de la transformación debe ser irrelevante, matemáticamente hablando. Suponga que N = 1024, Freq = 100 y su señal es:
f (n) = cos (Freq * 2 * Pi * n / N)
Si toma un DFT de 1024 puntos de f (n), encontrará que bin [100] = 512. Pero este no es un valor significativo hasta que lo escala en N. 512/1024 = 1/2 y, por supuesto, el otro 1/2 está en el espectro negativo en bin [924].
Si duplica la longitud de la DFT, N = 2048, los valores de salida serían dos veces los de la DFT de 1024 puntos, lo que nuevamente hace que los resultados no tengan sentido a menos que escalemos en 1 / N. La longitud del DFT no debe ser un factor en este tipo de análisis. Entonces, en este ejemplo, debe escalar, escalar el DFT en 1 / N.
No debe escalar una transformación hacia adelante.
Ahora suponga que tiene la respuesta de impulso de un filtro FIR de 32 tomas y quiere saber su respuesta de frecuencia. Por conveniencia, asumiremos un filtro de paso bajo con una ganancia de 1. Sabemos que para este filtro, el componente de CC del DFT debe ser 1. Y debe quedar claro que este será el caso, sin importar el tamaño del DFT porque el componente DC es simplemente la suma de los valores de entrada (es decir, la suma de los coeficientes FIR).
Por lo tanto, para esta entrada, el DFT no se escala en 1 / N para obtener una respuesta significativa. Es por eso que puede poner a cero una respuesta de impulso tanto como desee sin afectar el resultado de la transformación.
¿Cuál es la diferencia fundamental entre estos dos ejemplos?
La respuesta es simple. En el primer caso, suministramos energía para cada muestra de entrada. En otras palabras, la onda sinusoidal estaba presente para todas las 1024 muestras, por lo que necesitábamos escalar la salida del DFT en 1/1024.
En el segundo ejemplo, por definición, solo suministramos energía para 1 muestra (el impulso en n = 0). Tomó 32 muestras para que el impulso funcionara a través del filtro de 32 tomas, pero este retraso es irrelevante. Como suministramos energía para 1 muestra, escalamos la salida del DFT en 1. Si un impulso se definiera con 2 unidades de energía en lugar de 1, escalaríamos la salida en 1/2.
No debe escalar una transformación inversa.
Ahora consideremos un DFT inverso. Al igual que con el DFT directo, debemos considerar la cantidad de muestras a las que estamos suministrando energía. Por supuesto, tenemos que ser un poco más cuidadosos aquí porque debemos llenar los contenedores de frecuencia positiva y negativa de manera adecuada. Sin embargo, si colocamos un impulso (es decir, un 1) en dos contenedores apropiados, la salida resultante de la DFT inversa será una onda cosenoidal con una amplitud de 2, sin importar cuántos puntos usemos en la DFT inversa.
Por lo tanto, al igual que con el DFT directo, no escalamos la salida del DFT inverso si la entrada es un impulso.
Debe escalar una transformación inversa.
Ahora considere el caso en el que conoce la respuesta de frecuencia de un filtro de paso bajo y desea hacer un DFT inverso para obtener su respuesta de impulso. En este caso, dado que estamos suministrando energía en todos los puntos, debemos escalar la salida del DFT en 1 / N para obtener una respuesta significativa. Esto no es tan obvio porque los valores de entrada serán complejos, pero si trabaja con un ejemplo, verá que esto es cierto. Si no escala en 1 / N, tendrá valores de respuesta de impulso pico en el orden de N, que no puede ser el caso si la ganancia es 1.
Las cuatro situaciones que acabo de detallar son ejemplos de punto final donde está claro cómo escalar la salida del DFT. Sin embargo, hay mucha área gris entre los puntos finales. Así que consideremos otro ejemplo simple.
Supongamos que tenemos la siguiente señal, con N = 1024, Freq = 100:
f(n) = 6 * cos(1*Freq * 2*Pi * n/N) n = 0 - 127
f(n) = 1 * cos(2*Freq * 2*Pi * n/N) n = 128 - 895
f(n) = 6 * cos(4*Freq * 2*Pi * n/N) n = 896 - 1023
Observe las diferencias de amplitud, frecuencia y duración para los tres componentes. Desafortunadamente, el DFT de esta señal mostrará los tres componentes al mismo nivel de potencia, aunque el segundo componente tenga 1/36 del nivel de potencia de los otros dos.
El hecho de que los tres componentes están suministrando la misma cantidad de energía es obvio, lo que explica los resultados de DFT, pero hay un punto importante que hacer aquí.
Si conocemos la duración de los diversos componentes de frecuencia, entonces podemos escalar los diferentes intervalos de frecuencia en consecuencia. En este caso, haríamos esto para escalar con precisión la salida del DFT: bin [100] / = 128; bin [200] / = 768; bin [400] / = 128;
Lo cual me lleva a mi último punto; en general, no tenemos idea de cuánto tiempo un componente de frecuencia particular está presente en la entrada de nuestro DFT, por lo que no podemos hacer este tipo de escala. Sin embargo, en general, suministramos energía para cada punto de muestra, por lo que debemos escalar el DFT directo en 1 / N cuando analizamos una señal.
Para complicar las cosas, es casi seguro que apliquemos una ventana a esta señal para mejorar la resolución espectral del DFT. Dado que los componentes de frecuencia primero y tercero están al principio y al final de la señal, se atenúan 27 dB mientras que el componente central se atenúa solo 4 dB (ventana de Hanning).
Para ser claros, la salida del DFT puede ser una representación bastante pobre de la entrada, escalada o no.
En el caso de la DFT inversa, que generalmente es un problema matemático puro, a diferencia del análisis de una señal desconocida, la entrada a la DFT está claramente definida, por lo que sabe cómo escalar la salida.
Al analizar una señal con un analizador de espectro, analógico o FFT, los problemas son similares. No conoce la potencia de la señal que se muestra a menos que también conozca su ciclo de trabajo. Pero incluso entonces, la ventana, el intervalo, las velocidades de barrido, el filtrado, el tipo de detector y otros factores funcionan para obtener el resultado.
En última instancia, debe tener mucho cuidado al moverse entre los dominios de tiempo y frecuencia. La pregunta que hizo sobre el escalado es importante, por lo que espero haber dejado en claro que debe comprender la entrada al DFT para saber cómo escalar el resultado. Si la entrada no está claramente definida, la salida del DFT debe considerarse con mucho escepticismo, ya sea que la escale o no.