Por qué existe esta pieza
de la Transformada de Fourier, más bien una pieza de intuición basada en lo que he aprendido de ella y su aplicación en el análisis de frecuencia del sonido. El propósito aquí es generar intuición sobre cómo la Transformada de Fourier nos ayuda a llegar a las características del dominio de la frecuencia a partir de las características del dominio del tiempo. No entraremos en matemáticas y derivaciones pesadas; en cambio, intentaremos simplificar el significado que transmiten las ecuaciones complejas.
Antes de entrar en la Transformada de Fourier, debes tener un conocimiento básico de cómo se almacena el sonido digital, específicamente el muestreo y la cuantización. Permítanme cubrirlo rápidamente aquí para que estemos en la misma página.
El sonido en el mundo real es una onda continua: la presión del aire cambia suavemente con el tiempo. Pero las computadoras no pueden almacenar cosas continuas. Necesitan números, valores discretos. Para almacenar sonido digitalmente, hacemos dos cosas.
Primero, el muestreo: tomamos “instantáneas” de la amplitud de la onda sonora a intervalos regulares. ¿Cuántas instantáneas por segundo? Esa es la frecuencia de muestreo. El audio con calidad de CD toma 44.100 instantáneas por segundo (44,1 kHz). Para el habla en canalizaciones de ML, 16 000 por segundo (16 kHz) es común y, en general, suficiente. He trabajado extensamente con datos de voz de 16 kHz y captura prácticamente todo lo que importa para la voz. La idea clave es que estamos convirtiendo una onda continua suave en una serie de puntos discretos en el tiempo.
En segundo lugar, la cuantificación: cada instantánea debe registrar qué tan fuerte es la onda en ese momento y con cuánta precisión. Esta es la profundidad de bits. Con audio de 16 bits, cada valor de amplitud puede ser uno de los 65.536 niveles posibles (2¹⁶). Eso es más que suficiente para que el oído humano note cualquier diferencia con el original. Con solo 8 bits, tendría solo 256 niveles: el audio sonaría áspero y granulado porque la brecha entre la amplitud real y el valor almacenable más cercano (esta brecha se llama error de cuantificación) se vuelve audible.
Después del muestreo y la cuantificación, lo que tenemos es una secuencia de números (valores de amplitud en pasos de tiempo espaciados uniformemente) almacenados en la computadora. Esa es nuestra señal en el dominio del tiempo. eso es g
He pasado una buena cantidad de tiempo trabajando de forma práctica con el preprocesamiento de datos de audio y el entrenamiento de modelos, principalmente con datos de voz. Si bien este artículo construye todo desde los primeros principios, mucho de lo que está escrito aquí proviene de encontrarse con estas cosas en tuberías reales, no solo de la lectura de libros de texto.
También es una promesa: aquí no habrá pérdida de IA. Entremos en ello.
La configuración: con qué estamos empezando
La señal de audio original, para sonidos complejos (incluidos los armónicos) como la voz humana o los instrumentos musicales, a menudo se compone de una combinación de frecuencias: frecuencias constituyentes o una superposición de frecuencias.
El sonido continuo del que estamos hablando está en el dominio del tiempo. Sería un gráfico de amplitud versus tiempo. Así es como los puntos muestreados del sonido original se almacenan en un ordenador en formato digital.
La Transformada de Fourier (FT) es el mecanismo a través del cual convertimos esa gráfica del dominio del tiempo (eje X → Tiempo, eje Y → Amplitud) a una representación en el dominio de la frecuencia (eje X → Frecuencia, eje Y → Amplitud de contribución).
Si alguna vez usó librosa.stft() o np.fft.rfft() en su proceso de aprendizaje automático y se preguntó qué sucede realmente bajo el capó cuando pasa del audio sin formato a un espectrograma, esto es todo. La Transformada de Fourier es la base de todo esto.
Hablemos más a nivel intuitivo sobre lo que buscamos y cómo la Transformada de Fourier lo logra. Intentaremos entender esto de forma organizada.
Nuestro objetivo
Queremos encontrar los valores de aquellas frecuencias cuya combinación forma el sonido original. Por "sonido original" me refiero a la señal digital que hemos almacenado mediante muestreo y cuantificación a través de un ADC en nuestro sistema digital. En términos más simples, queremos extraer las frecuencias constituyentes a partir de las cuales se compone el sonido complejo.
Es análogo a tener un cubo en el que se mezclan todos los colores y queremos segregar los colores constituyentes. El cubo mezclado con colores es la señal de audio original. Los colores constituyentes son las frecuencias constituyentes.
Queremos un gráfico que nos diga fácilmente qué frecuencias tienen qué amplitud de contribución para producir el sonido original. El eje x de ese gráfico debe tener todos los valores de frecuencia, y el eje y debe tener la amplitud de contribución correspondiente a cada frecuencia. Las frecuencias que realmente están presentes en la señal se mostrarán como picos. Todo lo demás estará cerca de cero.
Nuestra entrada sería el gráfico de amplitud-tiempo y la salida sería el gráfico de amplitud-frecuencia de la Transformada de Fourier.
Es obvio que, dado que estos gráficos se ven tan diferentes, habría matemáticas involucradas. Y para ser honesto, se utilizan herramientas matemáticas avanzadas como la Transformada de Fourier y números complejos para convertir nuestra entrada (gráfico en el dominio del tiempo) a nuestra salida (gráfico en el dominio de la frecuencia). Pero para intuir por qué la Transformada de Fourier hace el trabajo correctamente, es esencial comprender qué hace la Transformada de Fourier para lograr nuestro objetivo. Luego conoceremos cómo nos ayuda a lograrlo a nivel de intuición.
El QUÉ, el CÓMO y el PORQUÉ.
El QUÉ: ¿Qué hace realmente FT?
Al responder el QUÉ, no necesitamos ver qué matemáticas están sucediendo en nuestro interior; solo queremos saber qué entrada requiere y qué salida da. Lo trataremos como una caja negra.
Aquí está la cuestión: la entrada al FT es toda la señal de audio original g
La siguiente pregunta es: ¿cuál es ese número complejo que genera el FT? ¿Qué obtenemos de ello?
De este número complejo extraemos dos cosas:
Magnitud = √(Real² + Imaginario²): esto nos indica la amplitud de la contribución de la frecuencia f en la señal original. Una magnitud alta significa que f está fuertemente presente en el audio original. Una magnitud baja significa que apenas existe o no existe en absoluto.
Fase = arctan(Imaginario / Real): esto nos indica el desplazamiento de fase de ese componente de frecuencia. Indica en qué parte de su ciclo comienza esa frecuencia. Hablaremos de la fase correctamente más adelante; No te preocupes por eso ahora. Sólo debes saber que esta información también proviene del mismo número complejo.
Lo que sucede es que hacemos esto para cada frecuencia que nos interesa. Para cada f, obtenemos un número complejo, extraemos la magnitud y la trazamos. La colección de todos estos pares (frecuencia, magnitud) nos da el gráfico en el dominio de la frecuencia. Ese es el QUÉ.
Veamos CÓMO surge realmente ese número complejo: ¿cuál es el mecanismo dentro del FT que lo produce?
El CÓMO: ¿Cómo calcula esto FT?
Aquí es donde las cosas se ponen realmente hermosas, créanme.
La máquina de bobinado
La idea central es que envolvemos la señal original alrededor de un círculo en el plano complejo. La velocidad a la que enrollamos depende de la frecuencia de entrada f.
Matemáticamente, para una frecuencia dada f, calculamos:
gramo
en cada punto del tiempo t, y trazar el resultado en el plano complejo (eje real, eje imaginario). Analicemos esto, porque es esencial entender cómo visualizar e interpretar lo que está sucediendo aquí.
Aquí hay algo importante que visualizar: en el g original
El gráfico en el dominio del tiempo es un viaje unidireccional de izquierda a derecha. El gráfico plano complejo es un viaje circular que sigue formando bucles, y la velocidad del bucle está controlada por la frecuencia de entrada f.
Podrías pensar: dado que seguimos volviendo a las mismas posiciones angulares, ¿el segundo bucle traza exactamente el mismo camino que el primero? En el dominio del tiempo, cada frecuencia constituyente individual es una onda sinusoidal repetitiva, ¿verdad? El componente de 300 Hz se repite cada 1/300 segundos, el componente de 700 Hz se repite cada 1/700 segundos. Cada uno individualmente tiene un patrón repetitivo limpio. Cuando damos cuerda a g
No. Y esto es algo sutil pero importante de comprender desde el principio.
Las frecuencias constituyentes individuales dentro de g
Cada bucle traza un camino ligeramente diferente en el plano complejo. Esta es la razón por la que, cuando calculamos el centro de masa más adelante, lo calculamos en todo el recorrido durante toda la duración, no solo en un bucle. si g
Tenga esto en cuenta: tendrá más sentido una vez que lleguemos a la sección COM a continuación.
En cualquier momento particular t:
gramo
e^(−2πift) da el ángulo, específicamente, un ángulo de (−2πtf) radianes medido en el sentido de las agujas del reloj desde el eje real positivo.
En cada instante t, estamos colocando un punto a la distancia g
A medida que pasa el tiempo, el ángulo sigue girando (porque t aumenta) y la distancia desde el origen sigue cambiando (porque g
Podemos interpretar esto como enrollar o enrollar la señal de sonido original g.
Para visualizar cómo ocurre este devanado en diferentes frecuencias, vea este video: mostrará la forma del gráfico complejo en el plano complejo en diferentes frecuencias → 3Blue1Brown. Pero, ¿qué es la transformada de Fourier? (https://www.youtube.com/watch?v=spUNpyF58BY). Uno de los mejores recursos que existen para desarrollar esta intuición.
El centro de masa (COM)
Aquí es donde ocurre la magia. Una vez que tenemos esta curva enrollada en el plano complejo, calculamos su Centro de Masa (COM).
Piense en la curva enrollada como si tuviera una densidad de masa uniforme, como un alambre. El COM es el único punto que representa la posición promedio de toda la curva. Queremos las coordenadas (Reales, Imaginarias) de este COM. Veamos cómo calculamos esto realmente.
Nuestro sonido original g
Una nota rápida antes de las fórmulas: lo que hemos estado discutiendo hasta ahora (el devanado, el movimiento circular, el COM) es lo mismo ya sea que hablemos de la versión continua (con integrales) o de la versión discreta (con sumatorias). El concepto central de lo que hace la Transformada de Fourier no cambia. No te confundas cuando veas una suma (Σ) en una fórmula y una integral (∫) en otra: conceptualmente hacen lo mismo. La suma es para nuestros puntos finitos de muestra; la integral es para el caso teórico continuo. Para desarrollar la intuición, puedes pensar en cualquiera de los dos: la idea es idéntica. Simplemente diferentes herramientas para el mismo trabajo.
Para nuestra señal digital discreta con N puntos muestreados, las coordenadas COM son:
COM = (1/N) Σ g(t_n) · e^(-2πit_n·f)
Esta es la versión discreta, y esto es exactamente lo que sucede cuando llamas a np.fft.rfft() o np.fft.fft() en Python. Está calculando este cálculo de devanado + COM para todas las frecuencias a la vez. Esa llamada a función realiza todo este proceso en cada intervalo de frecuencia simultáneamente.
Ahora imagínense si esto no se hiciera digitalmente. En ese caso, no necesitamos puntos de muestra y podemos trabajar en una función continua. Eso significa que tendremos infinitos puntos continuos de audio original y los correspondientes puntos infinitos en el plano complejo. En lugar de suma, podemos integrar:
ĝ(f) = ∫ gramo
Integración sobre límites → t₁ y t₂ (duración del sonido original), integración sobre → g
Una cosa que vale la pena señalar: los límites t₁ y t₂ importan. El COM final que obtenga en realidad depende de la cantidad de señal que esté incluyendo. Un segmento de tiempo diferente podría dar un COM diferente para la misma frecuencia. Para este artículo, aplicamos FT a la señal completa, por lo que t₁ y t₂ son simplemente el comienzo y el final de todo nuestro audio. Pero cuando más tarde entres en STFT (Transformada de Fourier de corto tiempo), verás que elegir deliberadamente segmentos de tiempo cortos y aplicar FT a cada uno es exactamente la idea, y ahí es donde el tamaño de la ventana se convierte en una decisión de diseño.
Ahora cuando obtengamos las coordenadas COM, calculamos su distancia desde el origen:
Magnitud = √(Real² + Imaginario²)
Esta magnitud es la amplitud de la contribución de la frecuencia f en la señal de audio original. Eso es lo que se representa como el valor de y para esta frecuencia en el gráfico del dominio de la frecuencia.
La intuición de lo que significa esta magnitud: si el COM está a una distancia significativa del origen, esa frecuencia tiene una fuerte contribución en la señal original. Si el COM está cerca o alrededor del origen, esa frecuencia apenas está presente o no está presente en absoluto. La distancia desde el origen nos dice directamente cuánto importa esa frecuencia.
Y recuerde lo que comentamos anteriormente acerca de que los bucles no se superpongan: aquí es donde vale la pena. El COM promedia todos esos bucles ligeramente diferentes, y ese promedio es lo que hace que las frecuencias que no coinciden se cancelen (sus contribuciones apuntan en diferentes direcciones a través de los bucles y suman casi cero) mientras que las frecuencias coincidentes se acumulan (sus contribuciones apuntan consistentemente en la misma dirección a través de los bucles).
Por qué funciona COM: la idea clave
Esta es la parte que hace que todo encaje. Lea esto atentamente.
Cuando la frecuencia del devanado f coincide con una frecuencia constituyente de la señal, sucede algo especial. La curva enrollada se vuelve desequilibrada: los puntos se acumulan en un lado del plano complejo. El COM aterriza lejos del origen. Alta magnitud. Detectamos esa frecuencia.
Cuando f no coincide con ninguna frecuencia constituyente, la curva terminada se distribuye aproximadamente uniformemente alrededor del origen. Los puntos de un lado se anulan con los puntos del lado opuesto. El COM aterriza cerca del origen. Baja magnitud. Esa frecuencia no está realmente presente.
Coincidencia → torcida → COM lejos del origen → pico en el dominio de la frecuencia.
No hay coincidencia → equilibrado → COM cerca del origen → plano en el dominio de la frecuencia.
Eso es todo. Así es como la Transformada de Fourier determina qué frecuencias hay dentro de la señal original.
Ejemplo resuelto: recorriendo los números
Hagamos esto concreto con números reales. Aquí es donde la intuición se vuelve sólida como una roca; créame en este caso.
Configuración: Supongamos que nuestra señal de audio original es:
gramo
Esta es una señal compuesta exactamente por dos frecuencias: 300 Hz y 700 Hz. En el mundo real, esto podría sonar como dos tonos puros reproducidos simultáneamente. Ya sabemos la respuesta: el gráfico en el dominio de la frecuencia debería mostrar picos en 300 y 700, y nada más. Veamos si el Financial Times acierta.
Aplicamos la Transformada de Fourier en tres frecuencias: f = 300 Hz, f = 700 Hz y f = 500 Hz.
FT en f = 300 Hz (una frecuencia constituyente)
le damos cuerda
Piense en lo que sucede: el componente de 300 Hz de g
¿Qué pasa con el componente de 700 Hz? Está girando a una velocidad diferente a la de nuestro devanado de 300 Hz. Con el tiempo, traza una trayectoria aproximadamente simétrica alrededor del origen y promedia casi cero. No contribuye al desequilibrio.
Resultado: El COM está lejos del origen. La magnitud es alta. El gráfico en el dominio de la frecuencia obtiene un pico alto en f = 300 Hz. Correcto: 300 Hz es de hecho una frecuencia constituyente.
FT en f = 700 Hz (la otra frecuencia constituyente)
La misma lógica, pero al revés. El componente de 700 Hz de g
Resultado: El COM está lejos del origen. Alta magnitud. Un pico alto en f = 700 Hz. Corregir de nuevo.
FT en f = 500 Hz (NO es una frecuencia constituyente)
le damos cuerda
Resultado: el COM está muy cerca del origen. La magnitud es cercana a cero. El gráfico en el dominio de la frecuencia es plano en f = 500 Hz, lo que nos indica correctamente que esta frecuencia no está presente en la señal.
El gráfico del dominio de la frecuencia
Después de hacer esto para todas las frecuencias, nuestro gráfico en el dominio de la frecuencia mostraría exactamente dos picos agudos (uno a 300 Hz y otro a 700 Hz), con todo lo demás cerca de cero. Hemos descompuesto con éxito g
La analogía del cubo de colores se mantiene perfectamente: teníamos una mezcla (300 Hz + 700 Hz mezclados en el dominio del tiempo) y la Transformada de Fourier segregó los colores constituyentes.
Verlo en código
Para aquellos que quieran ver esto funcionando en Python, aquí está el ejemplo trabajado en código real. Son literalmente unas pocas líneas:
importar numpy como np # Crear la señal: 300 Hz + 700 Hz sr = 8000 # frecuencia de muestreo t = np.linspace(0, 1, sr, endpoint=False) # 1 segundo de audio g = np.sin(2 * np.pi * 300 * t) + np.sin(2 * np.pi * 700 * t) # Aplicar transformada de Fourier – esto es hacer el devanado + COM para todas las frecuencias a la vez fft_result = np.fft.rfft(g) # Obtener magnitudes (amplitud de contribución para cada frecuencia) magnitudes = np.abs(fft_result) # Obtener los valores de frecuencia correspondientes a cada bin freqs = np.fft.rfftfreq(len(g), d=1/sr) # Los picos en las magnitudes estarán a 300 Hz y 700 Hz # Todo lo demás estará cerca de cero
Eso es todo. np.fft.rfft(g) realiza todo el proceso de bobinado + COM que comentamos anteriormente, para cada intervalo de frecuencia simultáneamente. np.abs() extrae la magnitud (distancia de COM desde el origen), y np.angle() le daría el desplazamiento de fase si lo necesitara. El rfft específicamente le brinda solo la mitad útil del espectro (hasta la frecuencia de Nyquist), ya que la otra mitad es un espejo; si ha leído el artículo sobre alias, sabrá por qué.
Fase: La variable oculta
Hablemos de algo que me confundió por un tiempo: la fase. Este concepto es más fácil de comprender si ya comprende algo de fase y diferencia de fase en términos de ondas y señales sinusoidales, pero intentaré explicar lo que entendí.
Sé que muchas canalizaciones de audio de ML funcionan solo con espectrogramas de magnitud y descartan la fase por completo. Esto está bien para muchas tareas, pero comprender qué fase es y qué estás descartando te brinda una comprensión más profunda de la señal. Y hay tareas en las que la fase importa (síntesis de voz, reconstrucción de audio, diseño de vocoder), por lo que vale la pena leer esta sección incluso si en este momento solo estás haciendo extracción de características basada en magnitud.
El COM que obtenemos del FT es un número complejo. Tiene una magnitud (distancia al origen) y también un ángulo asociado a ella:
Fase = arctan(Imaginario(COM) / Real(COM))
Ese ángulo nos indica el desplazamiento de fase del componente de frecuencia f tal como existe dentro de la señal original. En términos simples, le indica en qué parte de su ciclo comienza ese componente de frecuencia en t = 0.
Una idea errónea que tuve
Inicialmente pensé que para las frecuencias constituyentes, esta fase siempre sería 0. Si una frecuencia es parte de la señal original, el COM debería estar en el eje real, ¿verdad? Fase 0, sincronización máxima, todo eso. Tiene sentido intuitivamente, ¿no?
Eso no es cierto y he aquí por qué.
Si la señal original es g
El FT emitirá correctamente una magnitud alta en f = 300 Hz, y el ángulo del número complejo será π/4, recuperando la fase exacta con la que existe la componente de 300 Hz en la señal.
La fase es 0 sólo si el componente comienza exactamente en el punto de referencia correcto en t = 0. De lo contrario, puede ser cualquier cosa. La magnitud le dice qué cantidad de esa frecuencia está presente. La fase te dice en qué parte de su ciclo comienza. Ambos datos provienen del mismo número complejo.
En el código, obtendrías estos por separado:
magnitud = np.abs(fft_result) # cuánto de cada fase de frecuencia = np.angle(fft_result) # dónde en su ciclo comienza cada frecuencia
Cuando calcula un espectrograma de magnitud (que es lo que hacen la mayoría de las canalizaciones de ML), mantiene el primero y descarta el segundo. Ahora al menos sabes lo que estás tirando.
Para frecuencias no constituyentes
Para frecuencias que no forman parte de la señal original (como f = 500 Hz en nuestro ejemplo trabajado), la magnitud es cercana a cero. La fase que se obtiene en este caso esencialmente no tiene sentido: es el ángulo de un vector cercano a cero que apunta en alguna dirección arbitraria. Piense en ello como ruido. La dirección no significa nada cuando el vector no tiene longitud.
Es bastante intuitivo cuando lo piensas: para una frecuencia no constituyente, cualesquiera que sean las coordenadas COM, están tan cerca del origen que el ángulo es solo ruido numérico, no información significativa sobre la señal.
Por qué FT maneja la fase automáticamente (esto realmente me confundió)
Bien, este es un punto sutil que me tomó un tiempo entender. Y quiero explicarlo claramente porque es el tipo de cosas que te molestan una vez que empiezas a pensar en ello.
Aquí está la pregunta: el FT solo toma la frecuencia f como entrada, ¿verdad? No le damos un ángulo de fase. Pero para una frecuencia de entrada particular, podríamos obtener correlaciones diferentes si variamos la alineación de fase entre nuestra onda de prueba y la señal original. Entonces, ¿cómo encuentra FT la “mejor” fase, la que proporciona la máxima magnitud posible para la frecuencia de entrada f?
La respuesta: FT no busca ni optimiza la fase en absoluto. No es necesario.
He aquí por qué, y la clave es la fórmula de Euler:
e^(-2πift) = cos(2πft) – i·sin(2πft)
Cuando calculamos FT en la frecuencia f, correlacionamos simultáneamente la señal con cos(2πft) y sin(2πft). La parte real de la salida captura la correlación del coseno. La parte imaginaria captura la correlación sinusoidal.
Ahora viene lo importante: cualquier sinusoide en frecuencia f con cualquier fase arbitraria φ se puede descomponer como:
A·cos(2πpie + φ) = A·cos(φ)·cos(2πpie) – A·sin(φ)·sen(2πpie)
Independientemente de qué fase tenga el componente en la señal original, el FT la captura automáticamente:
La parte real recoge A·cos(φ), la correlación del coseno. La parte imaginaria recoge A·sin(φ) — la correlación seno. Magnitud = √(real² + imag²) = A — la amplitud verdadera, independientemente de φ. Ángulo = arctan(imag/real) = φ — recupera la fase exacta.
Es como medir la longitud de un vector proyectándolo tanto en el eje x como en el eje y. No importa en qué dirección apunte el vector, siempre recuperas su longitud completa a través de √(x² + y²). El exponencial complejo prueba todas las fases simultáneamente porque el coseno y el seno juntos cubren todos los ángulos de fase posibles: son ortogonales entre sí.
Sin optimización. Sin búsqueda. No iterar sobre los valores de fase. Sólo el hecho de que el coseno y el seno son ortogonales y juntos capturan cualquier fase. Las matemáticas lo hacen de una sola vez.
Aquí es donde finalmente entendí por qué aquí se utilizan números complejos y no solo una correlación regular con una sola onda sinusoidal. La fórmula de Euler hace algo muy inteligente: se correlaciona con dos cosas a la vez y el número complejo agrupa claramente ambos resultados.
Poniéndolo todo junto
Aquí está la imagen completa de cómo pasamos del dominio del tiempo al dominio de la frecuencia:
1. Tome la señal de audio original g
2. Elija una frecuencia f
3. Viento g
4. Calcule el COM de la curva de liquidación.
5. La distancia del COM desde el origen → amplitud de contribución de f
6. El ángulo del desplazamiento de fase COM → de f
7. Trazar el punto (f, magnitud) en el gráfico en el dominio de la frecuencia.
8. Repita para todas las frecuencias.
Las frecuencias que realmente están presentes en la señal original producen un devanado torcido → COM lejos del origen → picos en el gráfico. Las frecuencias que no están presentes producen un devanado equilibrado → COM cerca del origen → regiones planas.
Después de hacer esto en todas las frecuencias, tenemos el gráfico completo en el dominio de la frecuencia. Los picos nos dicen las frecuencias constituyentes del sonido original. Esa es la Transformada de Fourier: descomponer una señal compleja en sus componentes básicos.
Las matemáticas son una herramienta para justificar la intuición: la verdadera comprensión está en el devanado, el centro de masa y la forma en que el exponencial complejo maneja la fase automáticamente a través de la fórmula de Euler. Una vez que estas tres cosas hacen clic, obtienes la Transformada de Fourier a un nivel de intuición, y las derivaciones matemáticas pesadas simplemente formalizan lo que ya entiendes. Y una vez que haga clic, verá el FT en todas partes del procesamiento de señales y todo empezará a tener sentido.
El POR QUÉ
¿Por qué funciona la transformada de Fourier? La respuesta intuitiva es lo que hemos construido a lo largo de toda esta pieza: las frecuencias coincidentes crean devanados desequilibrados, las frecuencias no coincidentes crean bobinas equilibradas que se cancelan. La máquina de bobinado es esencialmente un detector de correlación: mide cuánto se correlaciona la señal original con una sinusoide pura en cada frecuencia. Una correlación alta significa COM lejos del origen, lo que da un pico, una correlación baja significa COM cerca del origen y obtenemos una región plana en el gráfico.
En esencia, por qué esto funciona rigurosamente requeriría una gran derivación matemática que involucre la ortogonalidad de funciones sinusoidales y propiedades de exponenciales complejas, que no es el propósito de este artículo. Pero la intuición que hemos construido debería ser más que suficiente para comprender lo que está sucediendo y por qué el resultado tiene sentido. ¡Funciona!
¿Qué viene después?
Este artículo cubre la Transformada de Fourier continua/conceptual: la base. En la práctica, cuando trabaja con audio digital en canalizaciones de ML, utiliza DFT (Transformada discreta de Fourier) y su rápida implementación, la FFT. Y cuando calculas espectrogramas, estás usando la STFT (Transformada de Fourier de tiempo corto), que aplica la FT a pequeñas ventanas superpuestas de la señal; ahí es donde entran el tamaño de ventana N, la longitud del salto y la superposición. Pero ese es un tema para otro artículo.
Todo eso se basa directamente en lo que cubrimos aquí. La máquina de bobinado, el COM, la magnitud y la fase: es el mismo mecanismo, solo que se aplica a fragmentos cortos de audio en lugar de a todo a la vez. Si esta pieza hizo clic para usted, el resto seguirá naturalmente. Quizás escriba sobre DFT y STFT en detalle más adelante.
Gracias por la paciencia si has leído hasta aquí y gracias a Grammarly por ayudar con la edición.
No dude en comunicarse con cualquier pregunta:
Correo electrónico: [correo electrónico protegido]
Gorjeo: @r4plh
GitHub: github.com/r4plh
LinkedIn: linkedin.com/in/r4plh