EDICIóN GENERAL
224 meneos
6987 clics
Qué es una transformada de Fourier. Una introducción visual [En]

Qué es una transformada de Fourier. Una introducción visual [En]

Muchas veces escuchamos el término de Transformada de Fourier. Pero, ¿qué es esto?. En este vídeo se explica de una forma visual.

| etiquetas: introducción , fourier
La explicación que emocionó a Fourier.
Esperaba un vídeo de cartas
#2 Ese era Fournier :professor:
#2 Ah! Las Fournier. :-D Ahí se nos ven los años de cafetería en la uni.
Esto lo di en la uni hace ya más de 20 años. Hubiera matado por ver un vídeo como este y entender realmente los conceptos, y no solo aprender a resolver los problemas sin saber de verdad qué cojones significaban.
#3 En la ingeniería informática se dan muchas materias que luego tienen cero aplicación en la vida laboral y/o para comprender el funcionamiento interno de un dispositivo o un sistema operativo. Puede que algún estudiante llegue a usarlo, pero es un caso excepcional. Entre esas cosas se hallan la transformada de Fourier, los ideales de un anillo abeliano, la intersección de volúmenes con superficies de revolución,... Y sin embargo salí con grandes carencias en hardware (prácticamente todo lo que conozco ha sido autoaprendizaje) y en software (frameworks, entornos de desarrollo, etc.)
#4 si hace pocos años que dejaste la universidad es normal que pienses que la uni debe ser más como FP. Cuando pasen más años sabrás valorar mejor la uni.
Dudo que los frameworks que me hubieran enseñado hace 20 años servirían ahora.
La uni te da herramientas para pensar y salir adelante gracias a tu autoaprendizaje.
#6 Hace casi 20 años. En aquella época ya existía java y visual C++, y sin embargo el modelo orientado a objetos nos lo enseñaban con smalltalk, algo completamente inútil. Como inútil era todo lo que nos enseñaron en cálculo (semanas de lecciones sobre límites), cuando lo importante era lo que nos enseñaron en la asignatura de métodos numéricos, que era lo que podíamos implementar. ¿Sabes qué ha ocurrido cuando he tenido que usar una fórmula compleja en un programa? Que me la ha dado el…   » ver todo el comentario
#7 No es tanto lo que te enseñaron (que lo repites y repites) sino lo que tú te esmeraste por aprender.
#7 si, teniendo claro el modelo de orientación a objetos, no eres capaz de aprender el lenguaje Java en un par de días, es que eres un informático muy chusquero.

Ojo, me refiero al lenguaje, no a las librerías, Frameworks, buenas prácticas, o interiores de la JVM.
#20. No sé ahora, pero hace un par de décadas la universidad española no sabía enseñar programación orientada a objetos, era como si hablaran de algo de oidas pero sin abordarlo ni entenderlo realmente. La OOP tiene su origen los paises nórdicos y creo que llegó a la academia española tarde, poco entendida y peor explicada. Por lo tanto tu afirmación sobre #7 está fuera de lugar.
en.wikipedia.org/wiki/Object-oriented_programming
#36 ¿y todo eso lo sabes porque eras profesor en aquella época, o es que te lo ha dicho tu cuñao?
#39. No voy a entrar en detalles, simplemente lo sé. Puedes creerlo o seguir con tu teoría del cuñadismo.
(CC #41)
#36 De hecho, sólo cuando empecé a programar con la OOP entendí la importancia que tenían los eventos (clicks, seleccionar un elemento de un combo, etc.), más que los objetos, imagínate si la explicaban mal. Como tú dices, los profesores enseñaban de oídas, porque nunca habían programado nada profesionalmente, en realidad, y menos orientado a objetos. Para ellos, los objetos eran una extensión de las clases en la programación clásica.
#41 vamos, que para ti OOP se reduce a "programar ventanas y clicks".

Pues sí que te enseñaron bien, sí.
#47 Casi como a ti a leer y entender lo leído. En ningún momento he dicho lo que afirmas, si no que mi profesor no se centraba en los objetos (propiedades, métodos, herencia,...) y no le dio importancia a los eventos, que realmente son los que dan esplendor al OOP. Los objetos, sin eventos, no son mucho más que las clases de la programación imperativa clásica.
#50 es que los "eventos" no forman parte de la orientación a objetos como tal.

Otra cosa es que gracias a la orientación a objetos puedan implementarse patrones como el del suscriptor, tan usado en los entornos de ventanitas o más recientemente en entornos reactivos.

Pero desde luego que hay programas esplendorosos en los que los eventos no son el eje central sino una herramienta más que puede usarse en algunos casos.
#41. La OOP muy poco tiene que ver con los frameworks gráficos, las ventanas y los eventos de ratón. Esa es solo una de las superficies visibles de algún framework gráfico escrito con OOP. El meollo está en que todo puede ser un objeto o una colección de objetos en forma de o metida en estructuras de datos más o menos complejas. El meollo está en los bien organizadito y recursivo que puede quedar una compilador de C completamente orientado a objetos escrito sin despeinarse…   » ver todo el comentario
#20 Hubiera matado por que me enseñaran patrones de diseño del GoF o algo tan chorras como el MVC.

Pero nada, venga a herencia y más herencia, y herencia múltiple.
#7 Yo aprendí POO con Delphi y me puedo adaptar al POO de Python o VB que son ahora los que toco principalmente.
#7 Entonces haberte ido a una FP como hicieron muchos de mis compañeros. Porque es lo que tiene estudiar una INGENIERÍA, que te preparan para crear e innovar; y para eso necesitas muchos conocimientos y entrenamiento para resolver problemas.

Además, medir si es útil o no lo que aprendes... No es buena manera de enfocar las cosas. Por ejemplo, los límites me ayudan a crear algoritmos más eficientes para big data, machine learning, IA, renderizado en juegos, etc.

Si dices que con Smalltalk no aprendiste OO es que algo falla: !!es la esencia de la OO!!

Como te digo, esperar a que te enseñen tecnologías actuales en la carrera como: frameworks, lenguajes, hardware, etc... sin entender la base, eso es pan para hoy y hambre para mañana.
#29 Smalltalk es el latín del OOP, aunque el respondido puede tener razon ya que es muy raro respecto a Java o Python.
#7 para eso vete a estudiar al MIT o a otra universidad que no sea española. Por que en españa la educacion, por norma general, es PUTA MIERDA. Ese es uno de los MAYORES problemas (si no el mayor) de este país, y nadie se preocupa de eso. A ningún partido politico le interesa. Y así nos va!!
#62 Muchas veces en la carrera tuve la impresión de que el temario de una asignatura se hacía para darle el puesto al profesor fulano, que realmente para impartir algo necesario y/o útil.
#7

Si estudiabas en la Uni esperando tú que todo te lo dieran y no investigaras por tu cuenta para mi estabas perdiendo el tiempo.
#6 Para el autoaprendizaje no hace falta ni uni ni FP, sólo una conexión a Internet, ni entro ya en lo que aprendes día a día en el trabajo.
#4 Yo tengo FTP y lo que daría ahora por el conocimiento teórico en mates (análisis ), álgebra,estadísticas... para entender mejor el mundo de la IA y machine learning ingeniería de software que se da en la carrera para aplicar mejor ciertas cosas en mi vida laboral.
#19 Por supuesto, las herramientas que te da la universidad, no te las da la FP, pero, ¿tú crees que yo recuerdo mucho del álgebra que di hace 20 años en la carrera? ¿Crees que recuerdo ni una sola instrucción de haskell o gopher, algo que no he utilizado desde que aprobé la asignatura? Y lo de la ingeniería del software resulta hasta gracioso, porque las metodologías que me enseñaron ya olían a naftalina en aquella época: Métrica 2, SSADM, Merise,... que además ninguna empresa usa porque multiplicarían el coste de un proyecto.
#48
1- Haskell y lo funcional vuelve a estar de moda.

2- El álgebra lo vuelves a recordar en dos leídas. De hecho, mucha matemática y estadística que aprendí en la uni y no veía utilidad práctica por ningún lado, la encontré 15 años después en tests A/B, muestreo mínimo, % significativo…

3- "multiplicarían el coste de un proyecto" pues ahí ves como sí que te quedó un poso de ingeniería: saber estimar qué vale, qué no, y sus costes

4- yo tampoco sabía qué era IIS, ni subversion, ni nada de eso, pero a poco que tengas curiosidad lo aprendes. Una persona capaz de entender las putas integrales triples y aprobarlo es capaz de configurar IIS, no jodas
#19 Yo tengo UDP en UTP
#55 ¿Categoría?
#4 si trabajas con RF es esencial. Para entender bien que significa un ancho de banda necesitas entender lo que significa una transformada de fourier.
#4 frameworks cambian cada año, lenguajes de programación durán un poco más, igual con gestores de bases de datos, etc. Aprender tecnologías en la universidad no es tan buen negocio porque sales y pasan dos cosas muy probables: la tecnología aprendida no se usa a donde vas o ya es obsoleta.

Uno debe aprender a adoptar tecnologías, a ser flexible y entusiasta con lo nuevo. Tener una metodología de adopción.

En redes neuronales se habla del sobre aprendizaje que hace inflexible a la red. Igual con humanos, aprendes Java a fondo ven la universidad y se angustia porque a donde vas usan PHP.
#35 Modula-2, haskell, gopher, lisp, smalltalk, ocam, c, prolog, pascal fc. Esos son los lenguajes que me enseñaron en la carrera. Sólo he usado ANSI C, y muy poco. Cero javascript, cero c++, cero java. De hecho, hice el proyecto en java por tener algo de conocimientos con los que enfrentarme al mercado laboral de aquella época. Cero entornos de desarrollo tipo visual studio, cero herramientas de trabajo en grupo, cero herramientas de control de versiones.
Esto es como si estudias medicina, y te enseñan de mil amores cómo funciona una célula, pero luego no te enseñan lo que te vas a encontrar en la consulta.
#43 Hay un emulador de la nintendo escrito en Haskell que es una delicia de lo facil que es para entender :-D
#43 Lo importante es si sabes de Algoritmia. Es vital que pueda tomar un problema, estudiarlo, determinar sus variables dependientes e independientes, el modelo matemático y llevarlo a un algoritmo. Los lenguajes de programación se aprenden en un par de meses si y solo si tiene muy sólida la parte algoritmica, los IDEs se aprenden en una semana y alguna herramienta de control de versiones en un día a lo sumo.

No se deje llevar por la retórica del empresaurio que quiere que el egresado salga…   » ver todo el comentario
#4 Es doloroso ver a alguien pontificar sobre lo que sirve y lo que no sirve basado en la experiencia personal como si uno se dedicara a todos los trabajos posibles de un ingeniero informático. La transformada de Fourier es el pan de cada día de cualquiera que trabaje en tratamiento de señal ya sea para audio, imagen, video para instrumentación, para comunicaciones, electrónica de potencia y cada vez más para otras aplicaciones esotéricas nuevas relacionadas con datos (metereológicos, de consumo, de finanzas). No sé, me parece valiente descartarlo a saco, yo me cruzo cada día con mucha gente que sí lo usa.
#38 Y bueno, mucha gente la usa, pero no lo sabe (armónicos en electricidad, por ejemplo)
#4 Hay algoritmos de compresión que utilizan esos conceptos. Hay unos videos en computerphile sobre JPEG donde ves como usan DCT (transformada discreta sobre el coseno, una transformada relacionada), que lo explican muy bien y ayuda a entenderlo. A mi Fourier me ayudo a entender como funciona ODFM para la transmisión de datos por wifi

EDIT: Y por supuesto MP3, donde directamente usas Fourier para descartar frecuencias no significativas. Muchos algoritmos lossy al final se basan en eso
#4 Aquí uno de caminos al que le pasó lo mismo.

Sea como sea, tampoco veo mal que se impartan estas materias, como Álgebra, con sus tensores, teoremas o demostraciones de mil tipos para aburrir que ves una vez en la vida. O dibujo técnico o métrica, con más demostraciones sobre cuantos malditos triángulos isósceles se circunscriben en un arco de ángulo tal con tal y tal, y ale a realizar proyecciones y cortes lápiz en mano, escuadra y cartabón. Autocad se parte el culo de risa y uno se caga en…   » ver todo el comentario
#3 Yo también lo di y todavía las odio.
#3 Pues yo tuve la suerte de poder utilizarla, en un proyecto práctico. Para un proyecto de integración voz IP nos vimos en la tesitura de tener que programar un centenar de centralitas de telefònica, que se programaban manualmente a través de teléfonos específicos de la propia centralita. Con un par de pruebas descubrí que el sistema que utilizaba para la programación eran simples tonos de marcación telefonico extendidos.
Desarrollé un interfaz senzillo para poder programar las centralitas de…   » ver todo el comentario
#25 ¿No teníais IMS y varias redes integradas con diferentes protocolos?

>Una de las tareas consistia en analizar los mensajes de la centralita para poder conocer su configuración

Vale, es diferente :

Ahora hay PBX que te lo hacen solito con FXS/FXO pero a saber qué os tocaría entonces.

Que yo sepa, en Asterix es fácil asignar eso, pero en HW a pelo yo las pasaría putas.
#25 Hice una chapuza que funciono. Encontre un modem antiguo con una salida jack para auriculares. Con un cable conecte el módem directamente a la targeta de sonido del ordenador. Encontre un modo de funcionamente del modem, en que simplemente descolgaba y se quedaba a la espera. Para recibir analizaba el sonido que llegaba directamente de la línea. Para enviar utilizaba directamente los comandos de dial ATDT del modem. Aparte de los 10 digitos de numeración, hay cuatro codigos especiales…   » ver todo el comentario
Yo las adoro. Las utilice, en dos dimensiones, para diseñar lentes de microondas y me valieron una matrícula de honor en el proyecto final de carrera :-)
#8 Pues si tanto te gustan cásate con ellas.
Lo de la transformada rápida de Fourier la aplicamos alguna vez para un software de reconocimiento de voz.
Se mete uno en teleco creyendo que va a acabar poco menos que en la Nasa y se encuentra con el amigo Fourier. #TelemáticosFrustrados
#12 Yo me metí sabiendo que nunca utilizaría el 90% de lo aprendido, pero conseguir comprender las transformadas la verdad que fue algo que me gustó, aunque luego no vaya a utilizarlo laboralmente.
La transformada de Fourier y la de su amigo Laplace. Ambas tenían la misión de hacer pagar créditos y créditos a los informáticos para una utilidad nula en el futuro laboral.
#13 Son super útiles, sobre todo la Z (Fourier). Análisis de frecuencia, detección de micrófonos, radares, equalizadores, síntesis, así hasta el infinito.
#14 Y tanto. Nosotros la usamos en cierto proyecto para determinar la frecuencia de latido de un pez cebra a partir del análisis automático de un vídeo. Calculábamos la "distancia" de cada fotograma a uno de referencia y, con Fourier, sacábamos la frecuencia principal. La idea era aplicarlo a miles de individuos en cultivo sin intervención humana.
#14 yo me acuerdo haber hecho un modem en la u, me acuerdo de haber hecho una comunicación por un purto del pc a un radio, por dicha radio transmitir a otra radio conectada a un pc y de uno al otro escribir algo por hiperterminal... se que usamos fourier y la place pero la verdad no recuerdo ni que intregrados usamos y mucho menos recuerdo como hacer alguna transformada
#13 como todo, depende de la rama en la que te especialices. Si te vas a dedicar a tratamiento de señales o de imágenes, Fourier (y sobre todo, su transformada rápida) es tu herramienta de trabajo diaria.

Por ejemplo, muchos de los filtros que utilizamos en Gimp/Photoshop (como un desenfoque gaussiano) se aplican en el dominio de la frecuencia, es decir, aplicando la transformada de Fourier a la imagen, efectuando ciertas operaciones simples sobre el resultado y volviendo a transformar la imagen al dominio espacial.

Evidentemente, si te dedicas a gestionar bases de datos o a diseñar páginas web, Fourier no te va a servir para mucho, pero las posibilidades laborales para un informático son, por suerte, mucho más amplias que eso.
#13 Hombre para picar código en una cárnica seguro que no hacía falta.
Nop. Not again.
Me mata esta frase de la entradilla "Muchas veces escuchamos el término de Transformada de Fourier."
Pues mira no, yo no se donde vives tú pero ni en mi casa lo comentamos, ni en el trabajo, ni la estanquera, la panadera o el del colmado me hablan sobre las transformadas de Fourier. :troll:
Tampoco recuerdo que el hastag #transformadasdefourieralpoder haya sido trending topic mundial últimamente. :troll:
#16 jajaja. He intentado poner algo más que el título repetido en la entradilla sin que fuera microblogging :-)
#16 usted que se ha comprado un sombrero espantoso y anduvo con él todo el invierno, sombrero que no nos gustaba a nadie, lo tengo hablado yo con todo el pueblo, pregunte y ahora me dice usted que en este pueblo no se habla de transformadas de Fourier ¿Es que no sabe que en este pueblo es verdadera devoción lo que hay por Fourier?
para transformar lo que se ve en un osciloscopio en lo que se ve en un analizador de espectro
Es el ABC de los telecos.
Hace mil años terminé la carrera de informática, y justo ahora estaba intentando recordar los conceptos más básicos de matemáticas y física: Relación entre velocidad y aceleración, derivadas, integrales & company. No me acuerdo de nada! Que fuerte, pero voy a ver el video, a ver si me acabo de deprimir.
#32 3brown1blue en Youtube. Mano de santo.
Aaagh! Os dejé atrás hace muchos años, alejáos de mi, hijas del demonio.
Mi ánimo a los ingenieros que les cuesta asociar teoría y aplicación.
Cuando lo estudié no era más que una teoría más, pero en una de mis aplicaciones del trabajo hice modos de prueba de señal audio con FFT y era impresionante ver cómo efectivamente el resultado se concentra en las frecuencias que usas, de esa forma puedes verificar que efectivamente tu diseño funciona y se traslada al banco de pruebas del HW que fabricamos.
Ya no hago ensamblador y C en el DSP ese pero puedo asegurar que me lo pasé fenomenal durante esos años y animo a mis compañeros jóvenes a que se diviertan con su trabajo.

menéame