LA TRANSFORMADA DE FOURIER
JORGE TORRES FERNÁNDEZ, 2BACH EXC
JORGE TORRES FERNÁNDEZ, 2BACH EXC
El propósito de este proyecto es hacer una introducción a la Transformada de Fourier, sus distintos tipos, el contexto histórico en el que surge cada uno y las numerosas aplicaciones que tienen en la actualidad esta herramienta matemática. Todas estas teorías van a ser explicadas desde ejemplos de la vida cotidiana, para facilitar la compresión, como puede ser la aplicación Shazam, las ondas de la WiFi de tu propia casa o las ondas de un registro sismográfico.
The aim of this project is to make an introduction to Fourier Transform, the different types, the historical moment in which every one emerges and the numerous applications that this mathematician tool has in the moment. All of these theories are going to be explained from daily life examples to make the understanding easier such as Shazam, the waves of your WiFi or the waves of a seismographic record.
Alguna vez te has preguntado como Shazam puede detectar una canción en segundos, o cómo podemos tener internet sin cable, pues la Transformada de Fourier hace todo esto y más. La Transformada de Fourier es un algoritmo matemático que permite captar ondas complicadas y transformarlas en sus respectivas ondas simples. Las ondas simples son las ondas seno y coseno, tras sumar estas dos, obtendremos una complicada. Ejemplos en la actualidad de ondas complicadas son: las del sonido de una canción, las de un registro sismográfico o las del WiFi de tu propia casa.
Sumar ondas simples para obtener una onda complicada es sencillo pero a partir de una onda complicada obtener las simples requiere más esfuerzo, además de ser muy útil. Por lo tanto, la Transformada de Fourier es considerada como uno de los algoritmos matemáticos más importantes de todos los tiempos.
Para entender la Transformada de Fourier primero hay que hacer un inciso: ¿qué es una onda? Una onda es una perturbación que se extiende por el espacio, transportando energía, pero sin ningún tipo de materia. Si la perturbación es transmitida a través de un medio material es llamada onda mecánica, sin embargo, de lo contrario son ondas electromagnéticas.
Para comenzar, como ya he explicado anteriormente, la Transformada de Fourier es una herramienta matemática que nos permite tratar una onda complicada y conocer sus respectivas partes, como si tuviéramos un bote de pintura y quisiéramos averiguar de qué colores primarios ha sido formada.
También podríamos explicarlo como si la transformada fuese un prisma que cogiese ondas o funciones en el dominio del tiempo (siendo este un haz de luz blanca) y convertirlas en sus respectivas ondas simples que tienen la frecuencia como argumento (siendo estas ondas los distintos colores que forman el haz de luz).
Cuando se quiere extrapolar la Transformada de Fourier a un ordenador resulta que es imposible para el ordenador realizar las operaciones matemáticas, es en ese momento cuando surge la Transformada Discreta de Fourier.
Si queremos realizar las ecuaciones de la Transformada de Fourier en un ordenador es imposible ya que la Transformada utiliza ecuaciones en el dominio continuo del tiempo y de la frecuencia es decir, que toman valores infinitos en un intervalo de tiempo y de frecuencia finito. En otras palabras, si un ordenador tiene un onda que interpretar o transformarla en sus respectivas ondas simples no puede en un tiempo determinado coger todos los puntos infinitos que forman la onda, por lo tanto, la Transformada Discreta de Fourier a través de tomar un número finito de puntos de la onda es capaz de interpretarla o transformarla en sus respectivas ondas simples.
La Transformada Rápida de Fourier permite realizar las operaciones que se necesitan para la Transformada Discreta de Fourier de manera más rápida. Se optimiza el número de operaciones a realizar, en consecuencia, se reduce el tiempo que tarda el ordenador en realizar las operaciones y también se reduce los errores de redondeo.
En este caso práctico se explicará de manera más desarrollada cómo influye la Transformada de Fourier a la hora de comprimir fotos usando JPG o JPEG.
Para comenzar, pese a que muchas personas piensen qué JPG es un formato de foto, realmente es un algoritmo de compresión que sigue una serie de pasos que vamos a explicar lo más resumido y de la forma más sencilla posible.
Primero tenemos que transformar la imagen para que un ordenador la entienda, para ello se utilizan los píxeles. Cada uno tiene tres números que vienen de la escala RGB, (red, green, blue) es decir, que cada pixel tiene un tono de rojo, de verde y de azul del 0 al 255. Depende del número que tenga en cada color se formará un color u otro.
Pero cada imagen tiene muchos píxeles, entonces sería muy difícil para el ordenador procesar los tres números de cada píxel, por eso necesitamos JPG.
Por lo tanto, JPG divide la imagen en cuadrados de 8x8 píxeles y el resto del proceso lo hace con cada uno de estos cuadrados, además, actúa por separado con los 64 (8x8) números de cada color. Para realizar más sencilla la explicación me voy a quedar con el rojo para este ejemplo, si vemos la figura 4 y 5, tenemos uno de estos cuadrados de 8x8, que en este caso representan distintos tonos de rojo.
Tras esto, a esta imagen se le aplica la Transformada Discreta de Coseno en dos dimensiones que es una manera de realizar la Transformada Discreta de Fourier pero con números reales. Entonces, lo que hace es dividir una onda complicada en sus respectivas ondas cosenos. Estas, para formar la onda complicada a su vez pueden estar multiplicadas por unos coeficientes, es decir, podemos tener una onda complicada y dividirla en sus respectivas ondas coseno, pero una onda coseno puede estar multiplicada por tres y otra multiplicada por dos para al sumarlas obtener la complicada. A estos coeficientes se les llama Transformada del Coseno de la Onda.
Esto es en una dimensión, pero en dos dimensiones es igual. Una onda coseno en dos dimensiones tiene la siguiente forma:
Resulta que si cogemos estas ondas coseno y las pintamos como si fuera una imagen, siendo los puntos más oscuros los que están más alejados y los más claros los más cercanos se nos quedaría una imagen muy parecida a la Fig 5.
Por lo tanto nuestra imagen original (Fig 5) se asemeja a una onda en dos dimensiones pintada. Por lo tanto, nuestra imagen puede ser representada a partir de muchas ondas en dos dimensiones (cosenos) pintados tal y como en la Fig 7. Todo este proceso se recoge en la fórmula de la Transformada del Coseno que tiene la siguiente expresión:
En JPG se utilizan 64 ondas coseno y tras este algoritmo se obtienen los coeficientes de cada onda para obtener nuestra imagen de 8x8 píxeles. Estos coeficientes son equivalentes a nuestra imagen (Fig 5). Pero, lo que hace JPEG es coger estos coeficientes y dividirlos por una serie de números que se encuentran en la Tabla de Cuantización y redondear el resultado.
Estos números redondeados son los que almacenamos y son muchos más pequeños que los que teníamos en un principio en los coeficientes. Si ahora juntamos las funciones coseno con los números que hemos obtenido ahora como coeficientes tenemos una imagen parecida a nuestra imagen inicial pero que ocupa muchísimo menos espacio. Cuanto más grandes sean los números de la Tabla de Cuantización menores serán los coeficientes resultantes, menos ocupará la imagen y más comprimida estará.
Para acabar, a través de la Transformada Discreta del Coseno y la Tabla de Cuantización hemos pasado de unos números que representan una imagen a otros que representan una imagen muy parecida pero que ocupa menos espacio, esto es el algoritmo de JPG.
La Transformada de Fourier es un algoritmo que ha permitido el desarrollo de muchas herramientas digitales en diversos campos, desde la medicina a la música o desde los automóviles a las imágenes digitales, todo ello gracias a las matemáticas, a través de números que a simple vista están a parte, son abstractos, que no podemos ver en un principio para que sirven pero luego están detrás de herramientas como la Transformada de Fourier que nos hacen la vida más fácil.