Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Unidad didactica para ingeniería, Diapositivas de Diseño de Sistemas

Para tener una clase didactica

Tipo: Diapositivas

2017/2018

Subido el 16/10/2018

ruben-teran
ruben-teran 🇲🇽

1 documento

1 / 21

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Tema 1. Pág. 1 de 21
__________________________________________________________________________________________
Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales
Universidade da Coruña POP en Ciencias de la Salud. Master en Asistencia e Investigación Sanitaria.
Introducción. Señales y análisis de Fourier
En el Diccionario de la Real Academia Española, se define ‘señal’ –entre otras
acepciones- como
15. f.
Fís.
Variación de una corriente eléctrica u otra magnitud que se utiliza para
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
continua podrán ser convertidas en series de números –se dirá que se
digitalizan
- y las
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.
El trabajo presentaba un resultado controvertido:
que cualquier señal continua y
periódica podía representarse como la suma una serie de ondas senoidales
adecuadamente elegidas
. Entre los revisores de su trabajo estaban dos de los
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.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Vista previa parcial del texto

¡Descarga Unidad didactica para ingeniería y más Diapositivas en PDF de Diseño de Sistemas solo en Docsity!


Autor: Félix Sánchez-Tembleque Díaz-Pache Curso: Tratamiento de Datos en las Técnicas Instrumentales

Introducción. Señales y análisis de Fourier

En el Diccionario de la Real Academia Española, se define ‘señal’ –entre otras acepciones- como

15. f.Fís. Variación de una corriente eléctrica u otra magnitud que se utiliza para

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

continua podrán ser convertidas en series de números –se dirá que sedigitalizan- y las

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.

El trabajo presentaba un resultado controvertido: que cualquier señal continua y

periódica podía representarse como la suma una serie de ondas senoidales

adecuadamente elegidas. Entre los revisores de su trabajo estaban dos de los

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

Muestreo de señales continuas.

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

segundo, se llamarávelocidad de muestreo, y su elección es muy importante para no

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

Funciones senoidales. Representación gráfica con Matlab.

La afirmación de Fourier de que “cualquier señal continua y periódica podía

representarse como la suma una serie de ondas senoidales adecuadamente elegidas”,

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

como la función seno (sin en inglés)

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

no perder la información. Para ello se utilizarán variables. La forma de guardar un

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

Frecuencia de la señal.

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

Amplitud de la señal y componente continua

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

entre un mínimo de -5 y un máximo de 5. Hemos cambiado suamplitud.

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

medio de la señal, que llamaremoscomponente continua. Ahora el rango de variación

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

Suma de ondas senoidales.

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

Ejercicios

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));

Lo representaremos ahora con un nuevo tipo de gráfico: un gráfico de barras –bar

graph- con la función bar

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

A 0 + A 1 sin( 2 π ft +δ 1 )+ A 2 sin( 2 π 2 ft +δ 2 )+ A 3 sin( 2 π 3 ft +δ 3 )+ A 4 sin( 2 π 4 ft +δ 4 )+ ...

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