













Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Para tener una clase didactica
Tipo: Diapositivas
1 / 21
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
En el Diccionario de la Real Academia Española, se define ‘señal’ –entre otras acepciones- como
transmitir información.
Tanto si la información que transmitimos es biológica (EEG, EKG, EMG) como de cualquier otra procedencia (económica, meteorológica…), las señales con una variación
series de números podrán ser tratadas para extraer la información que contienen. La forma más universalmente utilizada para tratar señales, sea cual sea su procedencia es el análisis de Fourier.
El análisis de Fourier debe su nombre a Jean Baptiste Joseph Fourier (1768-1830), un matemático y físico francés. Si bien muchas personas contribuyeron a su desarrollo, Fourier es reconocido por sus descubrimientos matemáticos y su visión en el uso práctico de las técnicas. Su interés se centraba en la propagación de calor, presentando en 1807 un trabajo en el Instituto Francés sobre el uso de funciones senoidales para representar distribuciones de temperatura.
matemáticos más reputados de su época y también de la Historia, Joseph Louis Lagrange (1736-1813) y Pierre Simon de Laplace (1736-1827), que habían sido sus maestros en la Escuela Normal Superior de París.
Mientras que Laplace y otros revisores votaron a favor de la publicación del trabajo, Lagrange protestó categóricamente. Durante años, Lagrange insistió en que esta aproximación no podía aplicarse a señales con ‘esquinas’, es decir, con cambios bruscos de pendiente como una onda triangular. El Instituto Francés cedió ante el prestigio de Lagrange y el trabajo fue rechazado, y no fue publicado hasta la muerte de éste, 15 años después. Afortunadamente, Fourier tenía muchas otras cosas que le mantenían ocupado: actividades políticas, expediciones con Napoleón a Egipto, y tratar de evitar la guillotina después de la Revolución Francesa (¡literalmente!).
¿Quién tenía razón? Pues depende. Lagrange estaba en lo cierto al decir que una serie de funciones senoidales no puede representar de manera exacta una señal con una esquina. Sin embargo se puede aproximar mucho. Tan cerca que la diferencia es irrelevante.
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Las señales biológicas -EKG, EEG, EMG o potencial de membrana- varían de manera continua, así como su representación como señales eléctricas. Sin embargo de ese modo no pueden ser registradas en un archivo en un ordenador, ni se puede hacer ningún tratamiento con la información que contienen. Para ello deberá tomarse una serie de muestras –valores de la señal en un instante de tiempo- en forma de series de números, y ésta debe ser representativa de la señal, y no perder la información que contiene.
La forma habitual de hacer esta transformación es tomar muestras a intervalos regulares de tiempo. A este proceso lo llamaremos muestrear o digitalizar la señal. La velocidad a que se toman esas muestras, medida normalmente en número de muestras por
perder la información que contiene la señal, y también para no generar un archivo de datos demasiado grande.
En los gráficos de abajo pueden verse diferentes señales y diferentes puntos que representan el muestreo hecho. En algunos casos es muy claro que los puntos no representan bien la señal.
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
se tratará ahora de aplicar, pero en sentido contrario. Generaremos ondas senoidales y las sumaremos, para ver el resultado.
Matlab tiene una gran librería de funciones matemáticas, entre ellas las trigonométricas
y =sin( x )
Para obtener el seno de un número simplemente se escribe la función. Una de las ventajas del uso de Matlab es que las expresiones matemáticas se escriben de manera muy similar a como se haría sobre el papel.
sin(90) ans = 0.
Nota: las funciones trigonométricas en Matlab (y casi en cualquier programa) utilizan como unidades para los ángulos los radianes, no los grados. Una circunferencia de 360º tiene 2 veces π radianes. Matlab utiliza las letras ‘pi’ para dicho número
sin(pi/2) ans = 1
Otra de las ventajas fundamentales de Matlab es el trabajo sencillo con matrices o tablas de datos. Una tabla de datos (con tantas filas y columnas) se introduce tecleándola y utilizando como separadores los símbolos coma, punto y coma y corchetes.
[1,2,3] ans = 1 2 3
[1;2;3] ans = 1 2 3
[1,2;3,4] ans = 1 2 2 4
En ocasiones, cuando hagamos cálculos de este modo, no querremos ver el resultado de alguno por ocupar mucho espacio de pantalla. Si finalizamos cualquier instrucción con un punto y coma ‘;’, Matlab guardará el resultado de la operación pero no lo mostrará por pantalla.
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Si aplicamos una función como el seno, a una tabla de datos, el resultado será otra tabla del mismo tamaño en la que se ha aplicado la función a cada elemento
sin([1,2,3]) ans = 0.8415 0.9093 0.
Una serie de datos puede verse como una tabla de una única fila o columna, y podrá representarse por medio de muchos tipos diferentes de gráficos (líneas, barras, colores). Las señales biológicas, una vez digitalizadas, serán sólo eso: series de números. Los resultados en forma de valores sueltos y series o tablas de datos, pueden guardarse para
determinado contenido en una variables es el símbolo ‘=’
a=[2,3,4] a = 2 3 4
De este modo, cuando queramos recuperar el contenido, o utilizarlo, sólo tenemos que llamarla por su nombre
a a = 2 3 4
Las variables se podrán usar dentro de las fórmulas, como veremos a continuación, pero empezaremos usando una serie especial: una serie que representará el tiempo desde 0 a 1 segundo en intervalos de una décima.
t=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1];
Nota: Matlab utiliza el punto ‘.’ como símbolo decimal, y la coma ‘,’ para separar valores en una tabla. Nota: Matlab puede generar listas regulares de números escribiendo [inicio:paso:fin]. En el caso anterior, sería [0:0.1:1]
t=[0:0.1:1] t = 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Si aplicamos ahora la función seno a nuestra variable t y guardamos el contenido en otra variable (x) tendremos una nueva tabla de valores
x=sin(t) x = Columns 1 through 7 0 0.0998 0.1987 0.2955 0.3894 0.4794 0. Columns 8 through 11 0.6442 0.7174 0.7833 0.
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Modificaremos la frecuencia de la señal senoidal multiplicando la variable t (dentro del paréntesis del seno) por un número, por ejemplo 8, o 2π
x=sin(8*t); plot(t,x)
x=sin(2pit); plot(t,x)
En el caso anterior hemos visto además una cosa importante: cuando el valor que multiplica a t es un múltiplo de 2π, tendremos ciclos completos de ondas.
x=sin(4pit); plot(t,x)
También podemos observar que el gráfico que une los puntos del muestreo cada vez se parece menos a la onda inicial continua. Estamos cerca de perder información. Representaremos mejor la curva con más puntos, vamos a probar con 100 intervalos en lugar de 10.
t=[0:0.01;1] x=sin(4pit) plot(t,x)
Nota: hemos repetido varias veces las mismas instrucciones. Si le damos al cursor del teclado hacia arriba, nos pondrá la lista de última órdenes para poder usarlas sin teclearlas de nuevo.
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Si multiplicamos el valor de la función seno por una constante, estaremos multiplicando cada uno de los valores de la señal por ese número, y estaremos cambiando la amplitud de variación de la curva
t=[0:0.01;1] x=5sin(4pi*t) plot(t,x)
La señal que hemos generado tiene la misma forma que la anterior, pero ahora varía
También podemos representar gráficamente varias curvas juntas usando plot(t,x1,t,x2), y es un buen momento para usar el punto y coma final para que no nos muestre toda las ristra de números
t=[0:0.01;1] x1=5sin(4pit); x2=3sin(4pit); plot(t,x1,t,x2)
Si además le sumamos a todos los valores una constante, habremos variado el valor
ha subido, tanto el mínimo como el máximo, en esa cantidad (en el ejemplo entre -2 y 8).
t=[0:0.01;1] x1=5sin(4pit) x2=3+5sin(4pit) plot(t,x)
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Al igual que sumamos números, en Matlab podemos sumar tablas. La única condición es que deben tener el mismo número de elementos, para así ser sumados uno a uno. Si las tablas representan señales con la misma escala de tiempo (ojo! esto último es muy importante), estaremos sumando señales. Vamos a ver dos ejemplos
t=[0:0.01:1]; x1=5sin(4pit); x2=2sin(8pit+1); x3=x1+x2; plot(t,x1,t,x2,t,x3)
t=[0:0.01:1]; x1=5sin(4pit); x2=2sin(8pit+1); x3=0.5sin(50pi+1); plot(t,x1+x2,t,x1+x2+x3)
En el segundo ejemplo se ha indicado a Matlab que represente la suma de las dos primeras, y la suma de las tres juntas. Se ha hecho así a propósito para ver la que podría ser la suma de dos señales que contienen información más una tercera de alta frecuencia que podría representar ruido.
El objetivo final del análisis de Fourier será separar cualquier señal en componentes más sencillas –senoidales- y en su caso, eliminar las que nos sobran, como el ruido.
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Se tratará ahora de representar señales que son suma de varias senoidales a partir de una tabla, que tendrá la amplitud, frecuencia y fase de cada componente de la suma. Se representarán 2 segundos de tiempo. Como sugerencia, se puede representar en el gráfico la suma de una componente, luego dos y así sucesivamente para ver que aporta cada una a la suma total
Ejercicio 1 A f delta 1 1 0 0.3333 3 0 0.2 5 0 0.1429 7 0 Ejercicio 2 A f delta 1 1 0 1/9 3 pi 1/25 5 0 1/49 7 pi 1/81 9 0
http://www.youtube.com/watch?v=DzjwjDt2W1I
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Si nuestro espacio de tiempo es 1 seg, nuestra frecuencia f es 1/1seg = 1Hz. Si hacemos ahora la fft, y nos quedamos sólo con las amplitudes (con la función abs) podemos escribir
y=abs(fft(x));
bar(y)
Tal y como se dijo, tenemos los datos repetidos en un gráfico simétrico, nos interesan sólo la mitad, y para ser más concretos, los primeros, porque a partir de un determinado valor son muy pequeños
Podemos representar una parte del gráfico escribiendo
bar(y(1:20))
Nuestro gráfico tiene dos barras mucho mayores que las anteriores, vamos a ver lo que representa cada una.
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Nuestras barras representan las amplitudes de la serie
La que hemos generado nosotros es
5sin(4pit)+2sin(8pit+1)
La primera barra representa A 0 , la componente continua. Nuestra señal no tenía.
La segunda barra representa la amplitud A 1 , correspondiente frecuencia fundamental f que tampoco existía en la señal que nos hemos generado. Tampoco tenemos en A 3.
En cambio si tenemos componentes con frecuencias 2f y 4f , y eso es lo que nos muestra el gráfico. Como hemos dicho, los valores de amplitudes en el gráfico están multiplicados por N/2, siendo N el número de puntos (100 en nuestro caso). Si queremos verlos sólo hay que dividir por ese número
t=[0:0.01:1]; x1=5sin(4pit); x2=2sin(8pit+1); x=x1+x2; y=abs(fft(x))/50; bar(y(1:20))
Los pequeños valores (que deberían ser cero) en otros armónicos se deben a utilizar pocos puntos para muestrear la señal. El mismo resultado con 1000 puntos en lugar de 100 es el del siguiente gráfico
t=[0:.001:1]; x1=5sin(4pit); x2=2sin(8pit+1); x=x1+x2; y=abs(fft(x))/500; bar(y(1:20))
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Para ello podemos editarla dentro de Matlab haciendo doble click en ella. Entraremos en el editor de tablas, con un aspecto similar a una hoja de cálculo, y en él podemos borrar los elementos que representan el ruido, el 26 y el 77. En un caso real para “limpiar” mejor las componentes de ruido podríamos eliminar también los cercanos ( al 28, y 75 al 79, se deja como ejercicio).
La nueva fft será ahora
A=abs(y)/50; bar(A)
Una vez eliminados podemos invertir la transformación de Fourier con el comando ifft. El resultado, de nuevo es un número complejo. Nos interesa sólo su parte real
z=ifft(y); plot(real(z))
¡Hemos filtrado la señal!
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Si el muestreo lo hubiésemos hecho con más puntos el resultado sería mejor, pero el obtenido es suficientemente bueno para la mayor parte de las necesidades.
t=[0:0.005:1]; x1=5sin(4pit); x2=2sin(8pit+1); x3=0.5sin(50pi+1); x=x1+x2+x3; plot(t,x)
y=fft(x); bar(abs(y))
y(24:26)=[0,0,0,0,0]; y(175:179)=[0,0,0,0,0]; z=real(ifft(y)); plot(z);
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Partimos de una imagen que tiene una trama típica del escaneado de fotos antiguas
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Haremos una FFT en 2D, la amplitud estará ahora representada en tonos de gris en una imagen 2D
Las estrellas blancas corresponden al tramado, y podemos eliminarlas pintando directamente sobre imagen de tonos de gris