edición general
224 meneos
7129 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
  1. La explicación que emocionó a Fourier.
  2. Esperaba un vídeo de cartas
  3. 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.
  4. #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.)
  5. #3 Yo también lo di y todavía las odio.
  6. #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.
  7. #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 cliente.

    Sin embargo, llegué al entorno laboral sin saber qué era IIS y mucho menos crear una aplicación web en él, sin saber usar ningún programa de manejo de versiones, ni de trabajo en equipo. Mucho triplete de Hoare, y mucha complejidad algorítmica, pero ni siquiera me enseñaron que existían unos programas llamados profilers para analizar mis programas.

    Tuve una asignatura de "historia de la tecnología". Se fue el trimestre aprendiendo los tipos de hoja que hacían los homínidos, y los tipos de máquinas de vapor, pero de historia de la informática, casi nada. Básicamente el profesor nos enseñó lo que conocía, y no se preocupó en preparar un temario específico para mi carrera. Ni siquiera en que los alumnos lo preparasen a modo de "trabajo que se expone y puntúa", que es el truco utilizado por los profesores para hacerse con unos apuntes en las asignaturas nuevas. Aprendí más sobre la historia de la informática viendo Halt and catch fire, que en esa asignatura.

    No es que quiera una carrera como una FP. Nada de lo que aprendí de tecnología, estructura y arquitectura de computadores, va a tener un uso práctico en mi vida laboral, pero entiendo que mejora mis conocimientos sobre las herramientas que uso, y me da una visión amplia. Lo que no tiene sentido es la tortura que suponen algunas asignaturas donde se exigen unos conocimientos profundos sobre materias inútiles para mi trabajo. Si consideraban apropiado que yo supiese lo que era un límite, que converge, o que no converge, me podían explicar el concepto, sin necesidad de enseñarme a resolver complicados límites y exigirme resolverlos en un examen.
  8. 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 :-)
  9. #8 Pues si tanto te gustan cásate con ellas.
  10. #7 No es tanto lo que te enseñaron (que lo repites y repites) sino lo que tú te esmeraste por aprender.
  11. Lo de la transformada rápida de Fourier la aplicamos alguna vez para un software de reconocimiento de voz.
  12. 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
  13. 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.
  14. #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.
  15. Nop. Not again.
  16. 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:
  17. #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.
  18. #16 jajaja. He intentado poner algo más que el título repetido en la entradilla sin que fuera microblogging :-)
  19. #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.
  20. #7 Yo aprendí POO con Delphi y me puedo adaptar al POO de Python o VB que son ahora los que toco principalmente.
  21. #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.
  22. #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?
  23. #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 manera automática. Una de las tareas consistia en analizar los mensajes de la centralita para poder conocer su configuración. La transformada rapida de Fourier vino de perlas para eso. Posteriormente supe que hay algoritmos optimizados para eso, pero en eso ni lo sabíamos, ni los teníamos disponibles.

    Uno no sabe nunca cuando vas a poder aplicar los conocimientos, pero si no los tienes, difícilmente te vas a dar cuenta.
  24. #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.
  25. #13 Hombre para picar código en una cárnica seguro que no hacía falta.
  26. #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.
  27. #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.
  28. Es el ABC de los telecos.
  29. #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.
  30. 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.
  31. #29 Smalltalk es el latín del OOP, aunque el respondido puede tener razon ya que es muy raro respecto a Java o Python.
  32. #32 3brown1blue en Youtube. Mano de santo.
  33. #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.
  34. #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
  35. #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 ABCD. La centralita los utilizaba como códigos de programación-respuesta. El módem era capaz de generarlos todos.

    Un problema absurdo lo tuve unos meses después cuando me pidieron una segunda instalación, y el modem ese ya estaba descatalogado. Lo solucione soldando un cable jack directamente al altavoz interno de un modem estandard. El sonido llegaba un poco distorsionado, pero seguia siendo analizable.

    Ah! las centraliteas eran el modelo DKDA 16-32 y Milenium de telefonica. La integración la haciamos con un router externo cisco (placa FXS) conectado a través del interface FXO de la centralita.
  36. #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.
  37. #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.
  38. #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.
  39. #2 Ese era Fournier :professor:
  40. #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.
  41. #39. No voy a entrar en detalles, simplemente lo sé. Puedes creerlo o seguir con tu teoría del cuñadismo.
    (CC #41)
  42. #2 Ah! Las Fournier. :-D Ahí se nos ven los años de cafetería en la uni.
  43. #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
  44. #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.
  45. #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 en Java, en C++, o con algo de pericia sobre un compilador de ANSI C.

    La orientación a objetos es una metodología, que el compilador la soporte ayuda mucho, pero puede programarse orientando a objetos en lenguaje C puro o inlcuso en ensamblador armándose de paciencia y manteniendo una buena estructura y orden en el programa.
  46. #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.
  47. #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
  48. Aaagh! Os dejé atrás hace muchos años, alejáos de mi, hijas del demonio.
  49. #19 Yo tengo UDP en UTP
  50. #43 Hay un emulador de la nintendo escrito en Haskell que es una delicia de lo facil que es para entender :-D
  51. #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
  52. #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 directo a producir y que mágicamente sepa manejar todas las herramientas tecnológicas que se usan, junto con los estándares y los requisitos (+caprichos) de los clientes. Siempre hay un período de adaptación y capacitación, el cual se disminuye muchísimo siempre y cuando el empresaurio tenga excelentemente documentado todo. Pero por experiencia, lo más seguro es que no tenga actualizada la documentación o sea inexistente o muy mal hecha. Si, los empresaurios esperan milagros y coste cero sin poner nada de su parte.
  53. #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.
  54. #55 ¿Categoría?
  55. #38 Y bueno, mucha gente la usa, pero no lo sabe (armónicos en electricidad, por ejemplo)
  56. #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!!
  57. #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 Gauss, Euler y la madre que los trajo a los desgraciados. Pero, a nosotros, nos decían que la idea era cuadricular la mente, entrenarla para lo abstracto que vendrá y para la orientación espacial. Y oye, funcionará mejor o peor, pero como idea me parece totalmente válida. Claro que si luego se sale con carencias importantes en ingeniería, maldita la gracia.

    A fin de cuentas, uno es ingeniero (o lo que sea) no sólo por lo que ha aprendido, sino por lo que tiene el potencial de aprender en base a lo que sabe y ha entrenado.
  58. 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.
  59. #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.
  60. #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.
comentarios cerrados

menéame