Índice - iit.comillas.edufuente cibernética ii 4 específicamente para piezas musicales,...

51
Fuente cibernética II 1 Índice Capítulo introductorio ...................................................................................................... 2 Introducción ................................................................................................................. 3 Motivación y antecedentes........................................................................................... 3 Fuente cibernética ........................................................................................................ 4 Introducción ............................................................................................................. 4 Construcción ............................................................................................................ 4 Funcionamiento ....................................................................................................... 5 Mejoras .................................................................................................................... 7 Objetivos ...................................................................................................................... 8 Fase I: LabVIEW ........................................................................................................... 10 Sobre el filtrado de señales ........................................................................................ 11 La percepción del sonido ....................................................................................... 11 Muestreo ................................................................................................................ 11 Representación espectral ........................................................................................ 14 Filtrado FIR............................................................................................................ 16 Filtrado en LabVIEW ................................................................................................ 17 Fase II: Matlab ............................................................................................................... 32 Sobre Matlab y Real Time Windows Target ............................................................. 33 Fuente cibernética II .................................................................................................. 34 Cyfom en Matlab ................................................................................................... 34 Filtrado a un colector ............................................................................................. 38 Simulación de filtrado a cinco colectores .............................................................. 44 Conclusiones .................................................................................................................. 47 Bibliografía .................................................................................................................... 49 Anexos ........................................................................................................................... 51

Upload: others

Post on 11-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Fuente cibernética II

1

Índice Capítulo introductorio...................................................................................................... 2

Introducción ................................................................................................................. 3 Motivación y antecedentes........................................................................................... 3 Fuente cibernética ........................................................................................................ 4

Introducción ............................................................................................................. 4 Construcción ............................................................................................................ 4 Funcionamiento ....................................................................................................... 5 Mejoras .................................................................................................................... 7

Objetivos...................................................................................................................... 8 Fase I: LabVIEW ........................................................................................................... 10

Sobre el filtrado de señales ........................................................................................ 11 La percepción del sonido ....................................................................................... 11 Muestreo ................................................................................................................ 11 Representación espectral........................................................................................ 14 Filtrado FIR............................................................................................................ 16

Filtrado en LabVIEW ................................................................................................ 17 Fase II: Matlab ............................................................................................................... 32

Sobre Matlab y Real Time Windows Target ............................................................. 33 Fuente cibernética II .................................................................................................. 34

Cyfom en Matlab ................................................................................................... 34 Filtrado a un colector ............................................................................................. 38 Simulación de filtrado a cinco colectores .............................................................. 44

Conclusiones.................................................................................................................. 47 Bibliografía .................................................................................................................... 49 Anexos ........................................................................................................................... 51

Fuente cibernética II

2

Capítulo introductorio

Fuente cibernética II

3

Introducción El proyecto continúa el desarrollo de una fuente cibernética (Cyfom I) construida por

Carlos Jiménez Alonso en 2003 en el Laboratorio de Fluidos de ICAI, durante su

último curso de Ingeniería industrial en esta Escuela.

El presente documento comienza con una revisión del trabajo anterior; posteriormente

se comentan los fundamentos teóricos para la realización de la fase actual, así como las

tecnologías empleadas; y finalmente, a modo de conclusiones, se indican posibles

ampliaciones futuras en el campo del tratamiento de señales (acústicas y lumínicas). En

el apartado de anexos se incluye el código empleado en LabVIEW (gráfico) y en

Matlab (mixto).

Motivación y antecedentes Una fuente cibernética se concibe como un espectáculo audiovisual con aplicación en

diferentes ámbitos y de gran interés para entusiastas de la música y amantes de

atmósferas con encanto. En las mentes de los creadores originales rondaban ideas que

apuntaban a su utilización en eventos musicales dentro de marcos íntimos tales como

conciertos de música clásica al aire libre, en los que el efecto visual del conjunto

alcanzaría su máximo esplendor; no hace falta decir que las posibilidades de la fuente

son amplísimas, pudiendo adaptarse su diseño tanto a distintos estilos musicales como a

distintos escenarios. Además de la belleza de un espectáculo audiovisual acuático para

músicas suaves y tranquilas, hay un espacio perfecto en el Rock and roll, en el que el

elemento visual y en muchos casos teatral es tan fundamental y, por qué no, en otros

estilos heredados de la era psicodélica donde las formas y colores en coherencia con los

sonidos tienen una importancia tan grande en el efecto final.

En cuanto al autor de esta segunda etapa del proyecto, la motivación nace del interés

por la música y el procesado de sonidos para su uso en distintos planos artísticos; de

esta manera, este trabajo se convierte en un buen punto de partida para poner un pie en

el mundo del tratamiento de señales y su implantación en sistemas físicos donde es

necesario poner en relación hardware y software.

El elemento diferenciador de la Cyfom sobre las fuentes ornamentales convencionales

está en su funcionamiento en tiempo real. Existen muchas fuentes que crean

espectáculos visuales con el agua, pero con unas coreografías prediseñadas

Fuente cibernética II

4

específicamente para piezas musicales, narraciones o conjuntos de ambos, que se

proyectan simultáneamente, consiguiendo el efecto de sincronismo.

Fuente cibernética

Introducción La Cyfom es un trabajo que combina la mecánica de fluidos y la programación de una

tarjeta de adquisición de datos. El resultado es una fuente ornamental que varía la altura

de cinco sus chorros en función de la intensidad de sonido recogida por un micrófono

en tiempo real con un pequeño sistema de iluminación secuencial no programable

incluido. La perspectiva bajo la que se realiza es la de crear una danza acuática

sincronizada con la música a base de alterar la proyección de los chorros, su

iluminación e incluso su orientación de salida a partir de ciertas características de los

sonidos captados.

Construcción La fuente se compone del sistema hidráulico, una unidad de control y el sistema de

iluminación.

El sistema hidráulico está formado por un colector de presión constante, una válvula de

presión máxima, cinco electroválvulas y una bomba rotodinámica. La altura de los

chorros se consigue por medio del control de la apertura del número de electroválvulas

en paralelo, que hacen modificar el flujo y por tanto la altura de los chorros.

La unidad de control es un programa en entorno LabVIEW que se comunica con el

exterior por medio de la tarjeta de adquisición de datos PCI-6013 de National

Instruments, que le proporciona la lectura analógica del micrófono (previamente

adaptada en un amplificador), además de ocho líneas de salida digitales con las que

controlar las electroválvulas y en definitiva la elevación de los chorros.

En último lugar, un conjunto de fibras ópticas conducen haces luminosos desde una

fuente halógena hasta la base de los chorros, consiguiendo la aparente iluminación de

los mismos. Entre la fuente de luz y la entrada al mazo de fibras ópticas hay interpuesto

un filtro de cinco colores que cambia secuencialmente a razón de una vuelta por

minuto, lo que cambia la coloración de los chorros, imprimiendo mayor dinamismo al

sistema.

Fuente cibernética II

5

Funcionamiento En la Figura 1 se representa el funcionamiento en tiempo real de la Cyfom. Una vez

capturada la señal de audio pasa a ser procesada por el programa de control, en el que

se analiza su magnitud por medio de una serie de comparadores anidados. Dentro de

cada bloque, superado el umbral de una comparación, se manda por el puerto digital la

configuración de las electroválvulas necesaria para conseguir la altura correspondiente.

Figura 1. Esquema general de la Cyfom

Un total de diez niveles es posible gracias a la tara impuesta a la entrada de caudal

ligada a dos de las electroválvulas. Teniendo una al 50% y otra al 25% se permite tener

un control sobre el flujo al colector con mayor resolución, como se aprecia en el

esquema hidráulico mostrado en la Figura 2.

Fuente cibernética II

6

Figura 2. Esquema hidráulico de la Cyfom

La fuente permite también el funcionamiento con archivos de audio y dispone de un

modo de grabación de archivos de sonido. La Figura 3 muestra la pantalla inicial del

programa donde se selecciona el modo de funcionamiento de la fuente. En el

funcionamiento con pistas de audio se introduce una variación en el programa de

control que normaliza la señal procedente del archivo mediante el método 3̌ debido a

que la naturaleza de los archivos puede ser muy diversa en cuanto al volumen de los

registros. En el modo grabación se recoge la señal del micrófono y se almacena como

archivo .wav con una duración ajustable.

Fuente cibernética II

7

Figura 3. Pantalla de selección de los modos de funcionamiento de la Cyfom

Mejoras En la descripción de la Cyfom se plantean una serie de mejoras, que incluyen el

perfeccionamiento del sistema hidráulico y la ampliación de las funciones de la fuente.

En la parte tocante al sistema de control se propone un análisis espectral de la señal de

entrada y la asociación de cada chorro a una banda de frecuencias, consiguiendo que

unos reaccionen a sonidos más graves, y otros a sonidos más agudos. El efecto obtenido

sería el de un vúmetro como los que se utilizan en los equipos de alta fidelidad,

representados en la Figura 4, hecho con columnas de agua.

Figura 4. Representación espectral mediante vúmetros

Sin embargo, la fuente sólo cuenta con un colector de presión para los cinco chorros,

necesitándose uno por chorro para conseguir alturas independientes. La tarjeta tiene una

sola salida digital que puede pilotar un único juego de electroválvulas.

Fuente cibernética II

8

Objetivos En esta fase del proyecto se definen las modificaciones necesarias a la Cyfom para su

funcionamiento en el domino de la frecuencia y se efectúan las relativas al programa de

control. El problema del número de colectores debe resolverse modificando físicamente

la fuente, por lo que no se ha prestado atención a este aspecto hasta no comprobar la

viabilidad de la mejora añadida.

Se pretende dividir la señal en un número de bandas, entre tres y cinco, mediante filtros

digitales y comprobar que la fuente responde selectivamente dentro de cada rango ante

señales de contenido armónico conocido, simulando de alguna manera la actuación

sobre cinco colectores a partir de una sola salida digital.

En la Figura 5 se representa el esquema funcional deseado de la fuente para esta etapa.

Fuente cibernética II

9

Figura 5. Esquema general de la Cyfom 2

Fuente cibernética II

10

Fase I: LabVIEW

Fuente cibernética II

11

Sobre el filtrado de señales

La percepción del sonido El sonido es una vibración que se propaga a través del aire gracias a que sus moléculas

transmiten la vibración hasta que llega a nuestros oídos. La frecuencia del sonido se

mide en unas unidades denominadas Hercios (Hz). Un sonido que vibra una vez por

segundo tiene una frecuencia de 1Hz. Las frecuencias se escriben normalmente en

kilohercios (kHz), unidad que representa 1000Hz. El oído humano puede percibir

sonidos que estén, como media, en el rango de los 20Hz a los 20000Hz (20kHz).

El oído y un micrófono incorporado en la tarjeta de adquisición realizan la misma

función: ambos transforman pequeñas variaciones en la presión del aire en unas señales

interpretables en un lenguaje en el que puedan ser procesadas.

La medida de la amplitud de una onda es importante porque informa de la fuerza, o

cantidad de energía, de una onda, que se traduce en la intensidad con la que la oímos.

Su unidad de medida es el decibelio. Un decibelio, abreviado como dB, es una unidad

de medida de la fuerza de la señal y es útil en la comparación de la intensidad de dos

sonidos. El oído necesita un porcentaje elevado de variaciones en la fuerza de un sonido

para detectar un cambio en la intensidad percibida, lo que significa que la sensibilidad

del oído a la fuerza del sonido es logarítmica. De manera que el decibelio, unidad de

medida logarítmica, es la elección más adecuada para medir la fuerza del sonido. El

aspecto práctico de la amplitud es que un incremento de sólo 3dB duplica la intensidad

de un sonido. Por ejemplo, un sonido con 86dB tiene, el doble de fuerza que un sonido

con 83dB y cuatro veces más que un sonido con 80dB. Desde la perspectiva de nuestra

percepción de la intensidad, un incremento de 3dB, que da lugar a que se duplique la

fuerza, provoca que el sonido se perciba sólo ligeramente más alto. Es necesario un

aumento en 10dB para que nuestros oídos perciban un sonido con el doble de

intensidad.

Muestreo La captura del sonido comienza en el micrófono. Cuando las ondas de sonido llegan a

él, el movimiento mecánico se traduce en una señal eléctrica. Esta señal se denomina

señal analógica porque es una señal continua en el tiempo, análoga al sonido original.

Fuente cibernética II

12

El muestreo de una señal analógica consiste en ir tomando valores discretos de su

amplitud a intervalos de tiempo pequeños. Lógicamente será más precisa la

reproducción cuantas más muestras por segundo se tomen. A estos valores obtenidos se

les asigna un valor digital que el ordenador puede entender y procesar de la manea que

cada aplicación requiera.

La fidelidad, término empleado por los entusiastas del audio para expresar la exactitud

en la réplica de la música original del sonido audio digital, depende de la selección de

la correcta frecuencia de muestreo y del correcto tamaño de muestra, siendo este último

el número de bits utilizados para almacenar cada muestra.

La frecuencia de muestreo debe ser lo suficientemente alta para que los sonidos de alta

frecuencia, como el sonido del cristal de una copa o el del arqueo de un violín, puedan

recogerse con precisión. Según el teorema de Nyquist, es posible repetir con exactitud

una forma de onda si la frecuencia de muestreo es como mínimo el doble de la

frecuencia de la componente de mayor frecuencia. La frecuencia más alta que puede

percibir el oído humano está cercana a los 20kHz, de modo que la frecuencia de

muestreo de 44.1kHz de las tarjetas de sonido es más que suficiente. Este valor es el

utilizado hoy en día por los reproductores de audio CD.

Considerando una señal x(t) de energía finita y banda limitada, tal que X(f) = 0 para

|f|>W es posible establecer un desarrollo de Fourier de X(f) limitado a |f|<=W del modo

siguiente:

Teniendo en cuenta que puede expresarse x(t) por la transformada inversa,

,

puede verse la similitud entre la transformada inversa y los valores particulares de x(t).

Efectivamente, basta hacer en la transformada inversa t=-n/2W y los coeficientes serán:

lo que quiere decir que puede escribirse el espectro X(f) de x(t) en función de las

propias muestras de x(-n / 2W) de x(t) de la forma:

Fuente cibernética II

13

donde se ha sustituido n por -n , lo cual es viable por la simetría del sumatorio.

Una vez expresada X(f) en términos de las muestras de x(t) es inmediato encontrar

la propia x(t) calculando la transformada inversa.

A este resultado se le denomina fórmula de interpolación, ya que permite obtener la

función original a partir de las muestras. Debe observarse que este resultado es

consecuencia de la limitación de banda de x(t) al intervalo (-W,W).

Se ha probado así el teorema de muestreo, que afirma que toda señal de energía finita y

banda limitada puede expresarse en modo único en función de sus muestras o valores

instantáneos tomados a intervalos regulares Ts , con Ts tal que (1/Ts)>=2W, siendo W la

máxima frecuencia espectral de la señal.

A la frecuencia fs=2W se le denomina frecuencia de Nyquist y al intervalo de muestreo

Ts, intervalo de Nyquist.

Como corolario del teorema puede afirmarse que dada una colección discreta de valores

x(n/2W) existe una función x(t) y solo una de banda limitada a W que pasa por todos los

puntos dados y que se construye mediante la fórmula de interpolación. Existen infinitas

funciones que pasan por esos puntos y son de anchura diferente de W.

Fuente cibernética II

14

Representación espectral El espectro de frecuencia de un fenómeno ondulatorio (sonoro, luminoso o

electromagnético), superposición de ondas de varias frecuencias, es una medida de la

distribución de amplitudes de cada frecuencia.

El espectro de frecuencias o descomposición espectral de frecuencias puede aplicarse a

cualquier concepto asociado con frecuencia o movimientos ondulatorios como los

colores, los sonidos, las ondas de radio o TV e incluso la radiación cósmica.

Una fuente de luz puede tener muchos colores mezclados en diferentes cantidades

(intensidades). Un arcoiris, o un prisma transparente, deflecta cada fotón según su

frecuencia en un ángulo ligeramente diferente. Eso nos permite ver cada componente de

la luz inicial por separado. Un gráfico de la intensidad de cada color deflactado por un

prisma que muestre la cantidad de cada color es el espectro de frecuencia de la luz o

espectro lumínico. Cuando todas las frecuencias visibles están presentes por igual, el

efecto es el "color" blanco, y el espectro de frecuencias es uniforme, lo que se

representa por una línea plana. De hecho cualquier espectro de frecuencia que consista

en una línea plana se llama blanco de ahí que hablemos no solo de "color blanco" sino

también de "ruido blanco" (Figura 6).

Fuente cibernética II

15

Figura 6. Ruido blanco generado con Matlab, muestras arriba y espectro abajo

De manera similar, una fuente de ondas sonoras puede ser una superposición de

frecuencias diferentes. Cada frecuencia estimula una parte diferente de nuestra cóclea

(caracol del oído). Cuando escuchamos una onda sonora con una sola frecuencia

predominante escuchamos una nota. Pero en cambio un silbido cualquiera o un golpe

repentino que estimule todos los receptores, se dice que contiene frecuencias dentro de

todo el rango audible.

Como se ha visto, hay una base física para modelar la luz, el sonido o las ondas de

radio en superposición de diferentes frecuencias. El proceso que cuantifica las diversas

intensidades de cada frecuencia se llama análisis espectral. Matemáticamente el análisis

espectral está relacionado con la transformada de Fourier. De la misma forma que la

representación temporal se realiza definiendo cada muestra por medio de su magnitud,

en un instante determinado, la trasformada de Fourier define mediante un número

complejo (módulo y fase) la componente armónica a una frecuencia determinada. En

las representaciones gráficas, frecuentemente sólo se representa el módulo al cuadrado

Fuente cibernética II

16

de ese número, y el gráfico resultante se conoce como espectro de potencia o densidad

espectral de potencia.

Filtrado FIR Entre los filtros existentes, la mayor restricción en cuanto a su uso es la característica

de la fase. Si se requiere fase lineal la opción inmediata es el filtrado FIR. Si bien en

esta sistema no se oye el resultado de la aplicación de los filtros, sí se percibe un efecto

visual en el que la distorsión de la señal por un aporte de fase no lineal desvirtuaría el

resultado.

La función de transferencia de un filtro FIR se representa mediante la transformada z de

su respuesta impulsional, de la misma forma que para cualquier sistema LTI:

La función de transferencia de cualquier filtro FIR de longitud es un

polinomio de orden M en . El orden de un filtro se define como el orden de su función

de transferencia. El orden corresponde también con el número de retardos que introduce

el filtro.

La respuesta en frecuencia de un filtro se define como el espectro de la señal de salida

dividido por el espectro de la señal de entrada. Viene dada al evaluar la función de

tranferencia en el círclo unidad, es decir .

Siendo un sistema representado por

donde X(z) es la transformada z de la entrada al filtro, la transformada z de la

salida, y la función de transferencia del filtro, una propiedad básica de la

transformada z es que sobre el círculo unidad , encontramos el espectro.

Entonces se obtiene

,

que es la definición de la transformada de Fourier en tiempo discreto.

Fuente cibernética II

17

Aplicado al sistema se tiene

La respuesta en frecuencia del filtro resulta un número complejo con modulo y aporte

de fase a cada frecuencia.

Filtrado en LabVIEW Durante la primera etapa del proyecto hubo que familiarizarse con el lenguaje

empleado en la Cyfom. Se eligió LabVIEW por ser un lenguaje especialmente

orientado a la programación con tarjetas de adquisición de datos y por ser de la misma

casa que fabrica la tarjeta PCI-6013. El uso de Matlab, que era más apropiado para las

tareas a desarrollar en esta nueva etapa, se desechó en un primer momento por este

motivo, además de que para poder trabajar con él, habría que reescribir el código

existente desde cero, incluyendo la propia configuración de la tarjeta para el nuevo

entorno.

LabVIEW es un entorno de programación gráfica concebido para adquisición de

señales, análisis de las mismas y control de instrumentos. En él se tratan las diferentes

funciones como bloques que, interconectados entre sí por hilos que representan

variables de medida, de control, etc., conforman los programas. La desventaja que se ha

encontrado es que no permite llegar a lo que hay detrás de esos bloques, a sus

principios de funcionamiento. Se echa en falta un contexto matemático en el que estar

en contacto con los fundamentos teóricos de las funciones, algo que permitiría realizar

pruebas y analizar resultados de una manera rápida y clara, paralelamente con la

construcción del programa.

Los primeros filtros fueron probados mediante la simulación. Una de las dificultades

presentadas fue que los filtros no están caracterizados en los términos que

familiarmente se utilizan en el área del filtrado digital. Se definen de una forma mucho

más general, por medio de frecuencias de paso, de rechazo, atenuaciones respectivas y

número de coeficientes del algoritmo de aproximación del filtro (que no corresponden

necesariamente al orden). Normalmente se definen los filtros por sus frecuencias de

Fuente cibernética II

18

corte, si son paso bajo o paso alto, o sus frecuencias centrales si son paso banda,

además de por el número de polos. Estos parámetros son interesantes en el diseño de

filtros porque son los que construyen los fundamentos teóricos sobre los que se apoya

el diseño. En el otro caso, en cambio, no se saben exactamente las consecuencias de la

alteración de uno de los parámetros, ya que todos están ligados entre sí (por eso no se

pueden conseguir filtros ideales, y hay que establecer compromisos entre la calidad del

filtro y el número de coeficientes). Muchas veces se ha llegado a filtros imposibles en

los que era necesario relajar alguna de las restricciones o aumentar el número de

coeficientes de aproximación. Esto supuso una gran cantidad de tiempo dedicado a la

comprensión de cómo LabVIEW maneja los filtros.

Inicialmente se intentó filtrar una sola señal para comprobar el funcionamiento de los

filtros uno a uno. Ello se consigue a partir del espectro de la señal filtrada, que al venir

de un ruido blanco, con un espectro plano, coincide con la característica del filtro

empleado. En todos los casos el desarrollo del programa fue incómodo por la dificultad

de manejo de los distintos parámetros y la poca versatilidad de los bloques, que tienen

asignados los tipos de las variables que utilizan y no se pueden cambiar, lo que hace

que para poner en interconexión dos componentes, o realizar cambios en el diagrama de

bloques, haya que realizar una adaptación de algún tipo entre ellos o a todo el circuito.

A continuación se resumen los resultados obtenidos:

• Separación de la señal en una banda de graves y otra de agudos

La frecuencia de separación se fija en 1kHz.

Duración del ensayo: 1s

Frecuencia de muestreo: 60kHz

Se sustituyó el generador de ruido blanco por un generador finito de tonos

uniformemente distribuidos en el dominio de la frecuencia, con amplitud constante

y fase aleatoria, debido a que el espectro del ruido blanco no era plano. Esto resultó

algo desconcertante, pero se prefirió, antes que seguir indagando en el misterioso

LabVIEW, moverse en el terreno de lo conocido. En la Figura 7 se muestra el

diagrama de bloques usado.

Fuente cibernética II

19

Figura 7. Diagrama de bloques del primer ensayo

Se observó en la característica del filtro una fuerte dependencia del número de

coeficientes. Al ser filtros relativamente selectivos (en torno a 1kHz), es necesario

subir mucho este número para evitar efectos indeseados como un excesivo

solapamiento de las zonas de transición, una alta componente de las frecuencias de

rechazo, o un deterioro en la ganancia de la banda de paso, aunque esto ultimo

podría corregirse mediante el escalado del filtro en magnitud (multiplicarlo por una

constante). Se observa también que para una aproximación muy gruesa (el menor

número de coeficientes) el algoritmo no consigue reproducir el comportamiento

adecuado, y corta la señal a frecuencias alejadas de la esperada.

En las sucesivas Figuras (de la 8 a la 21) se aprecian a la izquierda las señales

original (pseudo ruido blanco) y filtrada, y a la derecha, bajo la magnitud de la

característica en frecuencia del filtro, las representaciones espectrales de cada una

de ellas. Los filtros se definen mediante frecuencias de paso y de rechazo. La banda

de transición para paso alto y paso bajo está entre 10Hz y 1kHz.

Fuente cibernética II

20

Figura 8. Filtro paso bajo con 3 coeficientes

Figura 9. Filtro paso bajo con 4 coeficientes

Fuente cibernética II

21

Figura 10. Filtro paso bajo con 10 coeficientes

Figura 11. Filtro paso bajo con 20 coeficientes

Fuente cibernética II

22

Figura 12. Filtro paso bajo con 30 coeficientes

Figura 13. Filtro paso bajo con 40 coeficientes

Fuente cibernética II

23

Figura 14. Filtro paso bajo con 50 coeficientes

Figura 15. Filtro paso bajo con 100 coeficientes

Fuente cibernética II

24

Figura 16. Filtro paso alto con 3 coeficientes

Figura 17. Filtro paso alto con 5 coeficientes

Fuente cibernética II

25

Figura 18. Filtro paso alto con 10 coeficientes

Figura 19. Filtro paso alto con 20 coeficientes

Fuente cibernética II

26

Figura 20. Filtro paso alto con 50 coeficientes

Figura 21. Filtro paso alto con 100 coeficientes

• Filtrado en cinco bandas

La elección de la anchura de cada banda ha de elegirse en función de la percepción

de las frecuencias, que es logarítmica. Una anchura de 100Hz puede tener sentido a

Fuente cibernética II

27

bajas frecuencias, pero un resultado imperceptible a altas, además de resultar un

filtro de orden altísimo. En la Figura 22 se muestra cómo debe hacerse el filtrado y

su efecto en escalas lineal y logarítmica.

Figura 22. Anchos de las bandas en coherencia con su percepción

Se presenta ahora en la Figura 23 un esquema donde se implantan los cinco filtros

simultáneamente simulando el comportamiento previsto para su funcionamiento en

la fuente.

Fuente cibernética II

28

Figura 23. Diagrama para la descomposición en cinco bandas

Los resultados que posteriormente se probarían en tiempo real son los representados

en la Figura 24, de forma parecida a las representaciones anteriores. Arriba la señal

de entrada en los dominios de la frecuencia y el tiempo y a continuación los

sucesivos filtros representados en módulo y fase a la izquierda acompañados por las

correspondientes señales filtradas a la derecha.

Fuente cibernética II

29

Figura 24. Características y efectos de los cinco filtros

Fuente cibernética II

30

Las pruebas en la fuente ofrecieron diversos resultados, ninguno satisfactorio. En

algunas ocasiones no se obtenía ninguna repuesta ante señal alguna, en otras

simplemente parecía no haber filtro. Se pensó que la acción requeriría unos

conocimientos mucho más amplios de LabVIEW, ya que el trabajo en este entorno

había resultado algo oscuro, o que la tarjeta o el lenguaje de programación no

permitirían realizar cierta cantidad de cálculos en tiempo real, o que la solución del

problema tuviera una respuesta más sencilla.

En la búsqueda de información sobre sistemas de adquisición de datos y su procesado

en tiempo real se obtuvieron algunas respuestas contradictorias. En la página web de

National Instruments se ofrece una ampliación de la tarjeta con un microprocesador que

realiza operaciones aritméticas en paralelo con el ordenador, concebido para

funcionamientos en tiempo real. Convencido de que el filtrado FIR no requería de tanta

capacidad de cálculo, aunque con ciertas reservas al tratarse de cinco filtros de gran

orden en paralelo, se preguntó a diversos profesores del departamento de Electrónica y

Automática que ofrecieron distintas soluciones. Una de ellas fue el uso de un

procesador digital de señales, o DSP que habría que programar desde el principio con

un lenguaje de alto nivel como C. La otra, teniendo en cuenta las características de la

tarjeta, fue bajar la frecuencia de muestreo y tratar de eliminar de la interfaz con el

usuario todos aquellos elementos que pudieran ocupar demasiados recursos del

microprocesador, como las representaciones gráficas. Bajar la frecuencia de muestreo

suponía la aparición del fenómeno aliasing, que confundiría las componentes armónicas

mayores de la mitad de la frecuencia de muestreo con componentes de baja frecuencia,

efecto especialmente negativo para los objetivos fijados, que además requeriría la

inclusión de un filtro analógico llamado prefiltro antialiasing

Antes de pensar seriamente en utilizar Matlab para generar e implantar los filtros se

optó por continuar intentando el procesado de la señal en LAbVIEW, esta vez en la

parte del programa de funcionamiento en modo de reproducción de archivo para no

abandonar el trabajo realizado. En este caso se consiguió filtrar un archivo de audio con

algunas de las configuraciones utilizadas offline, pero sin un resultado claro. Se

observó un comportamiento distinto de los relés, menos enérgico, que con el archivo

sin filtrar. Pero LabVIEW no es una herramienta que permita el manejo de los datos

para su estudio, comparado con Matlab, que está especialmente orientado a ello y

Fuente cibernética II

31

dispone de numerosas ventajas a la hora de realizar análisis y diseños de filtros de todo

tipo al ser un entorno matemático que utiliza un lenguaje afín a los utilizados en

ingeniería. También se pensó en realizar desde LabVIEW una llamada a Matlab para

realizar el filtrado, pero elevaría mucho el uso de recursos y podría ser más complicado

que reescribir el código de la Cyfom en Simulink. Mezclar dos lenguajes diferentes

podía, además, generar problemas y dificultar la gestión de variables, además de

suponer un aumento de los recursos y el tiempo de ejecución que no están justificados

en un sistema en tiempo real.

Por otra parte Matlab viene con los drivers de muchas tarjetas de distintos fabricantes

entre la que se encuentra la PCI-6013 de National Instruments, por lo que desaparece el

inicialmente planteado problema de configuración del hardware para el nuevo entorno.

Fuente cibernética II

32

Fase II: Matlab

Fuente cibernética II

33

Sobre Matlab y Real Time Windows Target Matlab presenta una aplicación para hacer simulaciones en tiempo real, la toolbox Real

Time Windows Target. Esta herramienta presenta diferentes aplicaciones como control

en tiempo real, simulación en tiempo real para plantas físicas, como por ejemplo

turbinas de avión, y modelado de sistemas físicos, donde se permite realizar

visualizaciones de señales con el bloque de osciloscopios de simulink y modificación

de parámetros y control en tiempo real. La comunicación entre el equipo y el hardware

exterior se realiza por medio de una tarjeta de adquisición de datos, que permite operar

con señales de entrada y/o salidas analógicas y digitales.

Matlab permite la programación de comandos agrupándolos en ficheros de texto, como

un lenguaje convencional de programación mediante instrucciones. En ellos se pueden

utilizar todos los comandos de Matlab, como si fuera la ventana principal del programa,

y permite el uso de estructuras de control como condicionales y bucles.

El desarrollo de todo el código, pruebas y presentación de resultados se realiza por

medio de las dos herramientas: un código en texto en el que se definen variables, un

vector de frecuencias para la representación espectral y se diseñan los filtros, un

diagrama en Simulink equivalente al programa inicial en LabVIEW, donde se incluye

el filtrado de la señal, y un segundo archivo de texto en el que se hace el análisis de

Fourier y se hacen las representaciones gráficas pertinentes.

Una vez comprobada la comunicación con la tarjeta mediante programas simples para

capturar la señal sonora y escribir valores determinados en el puerto digital, se fue

subiendo la complejidad hasta llegar al comportamiento esperado. En este proceso

diversos problemas llevaron a bajar la frecuencia de muestreo de los 60kHz iniciales,

heredados del proyecto anterior, a 20kHz para evitar problemas de aparente rebose de

búfer. Sin embargo en el funcionamiento con los filtros se pudo volver a subir hasta los

44.1kHz. La investigación de este aparente sinsentido se deja para futuras

depuraciones, ya que no dificulta en definitiva el funcionamiento actual.

Fuente cibernética II

34

Fuente cibernética II

Cyfom en Matlab Se detalla la programación del código de control de la Cyfom que engloba la

conversión de un lenguaje a otro y la construcción de la parte relativa al filtrado y al

análisis según bandas.

La captura es el primer paso; el bloque de adquisición está configurado para devolver la

entrada normalizada en base al rango de medida de la tarjeta y bipolar, por la naturaleza

de la señal adquirida (Figura 25). Para poder evaluar la magnitud de interés es necesario

tomar el módulo de la señal, que corresponde a la intensidad sonora, como se muestra

en la Figura 26.

Figura 25. Configuración de la entrada analógica

Fuente cibernética II

35

Figura 26. Esquema básico de la Cyfom en Simulik

La Figura 27 muestra el juego de comparadores, donde se genera una salida distinta

para cada intervalo de intensidades. Los condicionales en Simulink llevan asociados

dos bloques, uno en el que se evalúa la expresión, y que devuelve 1 ó 0 (condición

satisfecha o no), y otro en el que se escriben las acciones a tomar. Este último está

gobernado por la señal que proviene del bloque anterior, que sirve de habilitación,

como se aprecia en la Figura 28. Una vez satisfecha cada condición se pone en marcha

el correspondiente bloque de acción donde se realizan dos operaciones: escribir en la

salida digital la codificación necesaria para la altura correspondiente, y permitir el paso

de la señal al siguiente paso de comparación (Figura 29); en caso contrario se inhibe el

avance de la señal por los comparadores, quedando en la última condición cumplida; en

la Figura 30 se muestra la configuración necesaria del bloque out para limpiar su valor

hasta la siguiente habilitación. En la primera comparación las salidas se fuerzan a cero

mediante un bloque else, de no ser alcanzado el primer umbral.

Fuente cibernética II

36

Figura 27. Juego de comparadores

Figura 28. Condicional y bloque de instrucciones

Fuente cibernética II

37

Figura 29. Acciones durante la habilitación del bloque

Figura 30. Configuración del bloque out para limpiar el valor durante la inhabilitación del bloque action

En esta ocasión se ha aprovechado el número de electroválvulas existentes y la tara

establecida en el proyecto original para conseguir no 10, sino 15 estados lógicos,

aumentando así la resolución de los chorros. El paso de comparación para la señal de

Fuente cibernética II

38

±10V (que se toma en el programa normalizada entre -1 y 1, y de la que se obtiene

posteriormente el valor absoluto) es de 1/15.

Filtrado a un colector Los bloques FIR reciben los coeficientes de unos filtros previamente diseñados.

Durante las pruebas para el diseño se encontró un comando en que devuelve estos

coeficientes a partir de las frecuencias características y el orden del filtro, el comando

fir1.

En esta ocasión no existe el problema de la degradación de los filtros por no poder

cumplir la especificación impuesta, los filtros obtenidos tienen ganancia unidad a las

frecuencias de diseño y es a través del orden del filtro como se determina la

característica al resto de frecuencias, en cuanto a rizados, niveles de atenuación en las

bandas de rechazo y pendientes de caída. En los casos de filtrado convencional de

imágenes o sonido estos parámetros no suelen ser excesivamente críticos si se quiere

ponderar una banda sobre las demás, pero sí en casos donde el filtrado quiere ser algo

más selectivo, como en los que se refieren al audio de alta fidelidad. Como si fuera un

ecualizador gráfico y de cara a futuras ampliaciones se ha intentado hacer filtros

relativamente selectivos, permitiendo un pequeño solapamiento de las bandas. En una

ventana de LTI Viewer (Figura 31) se observan las características más relevantes de los

filtros para su depuración sin necesidad de realizar continuas simulaciones. Aquí una

ventaja de Matlab.

Fuente cibernética II

39

Figura 31.Característica de los filtros diseñados, en LTI Viewer (magnitud)

Las pruebas realizadas offline son conceptualmente iguales a las realizadas en

LAbVIEW para comprobar la eficacia de los filtros. En esta ocasión se utiliza como

entrada un bloque que genera un ruido blanco de media cero y varianza uno con

frecuencias de cero a la mitad de la de muestreo. Los resultados se muestran mediante

un análisis posterior de los registros de las señales existentes en el esquema de

simulación, que se pueden ver en la Figura 32.

Fuente cibernética II

40

Figura 32. Esquema para los ensayos offline

Durante la implantación de los filtros en la fuente, ya con el micrófono, se probó el

colector para cada rango de frecuencias con la frecuencia de muestreo de 20kHz. La

tarjeta cuenta con ocho líneas digitales de las que se utilizan cinco para controlar el

estado de cinco electroválvulas, con lo que no se puede comprobar a priori si se podría

actuar sobre cinco grupos de electroválvulas simultáneamente. Se observaba respuesta

en casi todos los casos, más débil que ante las señales sin filtrar y algo oscuras en

cuanto a interpretación debido a que la voz no tiene un espectro plano y a que además

éste es muy limitado. Lo ideal sería introducir señales más ricas, pero esto, con la

frecuencia de muestreo utilizada, podría fácilmente dar problemas de aliasing. Para

evitar estos problemas se suelen emplean dos técnicas en las que se pensó y que se

valoraron para su inclusión en el proyecto. La primera, de la que más se habla en la

literatura, es el filtro antialiasing, un filtro analógico que se pone antes de realizar la

captura que limita la banda de la señal a la mitad de la frecuencia de muestreo; para ello

hay que buscar filtros de fase lineal para evitar la distorsión y el deterioro de la señal

antes de la captura. La segunda, usada en entornos profesionales, se conoce como

oversampling and decimation y consiste en muestrear todo lo rápido que permite el

hardware, obteniendo una señal con muchas muestras y con un espectro probablemente

Fuente cibernética II

41

más ancho que el de la señal de interés, y realizar después un filtrado digital mediante

una ventana cuadrada de promediado con una anchura tal que permita tener una señal

de anchura de espectro aceptable a la vez que con una tasa de muestras que permita ser

procesada por el software. En cualquier caso Matlab permite hacer un análisis a

posteriori de las señales en el que se representan, filtradas y sin filtrar, las señales en el

dominio del tiempo y de la frecuencia para obtener una visión del comportamiento del

sistema. Este análisis se muestra a continuación en las Figuras de la 33 a la 37.

Figura 33. Ruido blanco y respuesta ante el filtro 1 de frecuencia de corte

Fuente cibernética II

42

Figura 34. Ruido blanco y respuesta ante el filtro 1 de frecuencia de corte

Figura 35. Ruido blanco y respuesta ante el filtro 1 de frecuencia de corte

Fuente cibernética II

43

Figura 36. Ruido blanco y respuesta ante el filtro 1 de frecuencia de corte

Figura 37. Ruido blanco y respuesta ante el filtro 1 de frecuencia de corte

Fuente cibernética II

44

Simulación de filtrado a cinco colectores Una vez comprobado que los espectros de todas las señales eran correctos, se ideó una

manera de comprobar el funcionamiento de la fuente sin necesidad de disponer de cinco

salidas digitales: haciendo un barrido de frecuencias en el rango de trabajo (0-fs/2), la

altura de los chorros sería máxima a aquellas frecuencias donde la ganancia fuera 1,

siendo menor la altura para frecuencias intermedias; se leería la respuesta en frecuencia

del sistema en la altura de las columnas de agua. Con la ayuda de un generador de

señales y un osciloscopio con el que visualizar la señal de entrada se aplicó una

sinusoide de frecuencia constante ajustable manualmente a la mesa de mezclas para

tener a la entrada de la tarjeta una señal de ±10V. Al reparar en que cada rama del

circuito intentaría escribir por su cuenta en el mismo puerto digital, se ponderó cada

una de ellas mediante una constante (de forma parecida a como trabaja un ecualizador

gráfico), de forma que hubiera sólo una activa en cada comprobación, pero el resultado

no fue el esperado ni siquiera eliminando el bloque else de cada unidad de

comparación, que sería en este caso el que tratara de poner la salida a cero.

La solución definitiva consistió en hacer un detector de “presencia” de frecuencias, es

decir, realizar en cada rama una sola comparación, con 0.9 en este caso, y escribir una

sola palabra en el puerto digital, en lugar de quince, como se venía haciendo. El

resultado es una variación de la altura en función de las bandas de frecuencias, lo que

indica que las ramas funcionan independientemente.

Las Figuras de la 38 a la 42 son instantáneas tomadas durante estas pruebas. En el

osciloscopio, siempre en la misma escala, se muestra la señal inyectada a la entrada. A

su lado, las cinco columnas de agua con su altura correspondiente.

Figura 38. 38Hz

Fuente cibernética II

45

Figura 39. 100Hz

Figura 40. 250Hz

Figura 41. 1kHz

Fuente cibernética II

46

Figura 42. 3,5kHz

Es necesario comprobar el funcionamiento con cinco salidas digitales de 8 bits; lo que

se está haciendo aquí es simular cinco salidas digitales a partir de una.

Fuente cibernética II

47

Conclusiones

Fuente cibernética II

48

LabVIEW es un lenguaje de programación gráfica muy potente, pero no está orientado

al diseño ni al estudio como lo está Matlab. Ambos permiten realizar una interfaz con el

usuario, y es en este ámbito donde LabVIEW está especialmente enfocado.

La construcción de la fuente cibernética para su funcionamiento como un analizador

espectral en forma de columnas de agua debe hacerse forzosamente construyendo un

colector para cada chorro. El control de cada colector pueda hacerse por medio de cinco

líneas digitales o por multiplexión en tiempo de la línea existente, de la que se utiliza un

bit para cada electroválvula, quedando tres libres para seleccionar cada uno de los cinco

colectores. Una vez comprobado el funcionamiento completo en tiempo real sería más

fácil depurar los filtros y bajar los órdenes que se utilizan para evitar los solapamientos

de las bandas, ajustándolos hasta tener el efecto visual deseado.

Un posible control dinámico de la iluminación se haría a partir de ciertas características

del sonido al margen de sus magnitudes físicas. En música se definen conceptos

relativos a la proporción armónica, la duración y las velocidades de aparición (ataque) o

de desvanecimiento (decaimiento). En este caso ya no sería suficiente una sola línea

digital multiplexada para el control del sistema total.

Si se quiere hacer este tipo de análisis, que no son ya tan simples como el filtrado, lo

más aconsejable es un procesador digital de señales o DSP (Digital Signal Processor),

que suele tener una enorme capacidad de cálculo y existen modelos con un gran

número de entradas y salidas tanto analógicas como digitales.

Como apunte adicional se menciona la idea de realizar también un control de la

orientación de salida de los chorros, también en tiempo real, y a partir de algún otro

parámetro sonoro. Pequeñas variaciones del ángulo (sólido) de salida con respecto a la

vertical dotaría al conjunto de una apariencia más enérgica llegando a conseguir un

auténtico baile del agua en tiempo real y a partir de cualquier tipo de sonido captado. Se

proponen métodos como pequeños motores acoplados a las bocas de los chorros o la

creación de un campo magnético variable en intensidad y sentido en el plano

perpendicular de salida, a cuya fuerza el agua sería sensible modificando su trayectoria.

Fuente cibernética II

49

Bibliografía

Fuente cibernética II

50

Fuente cibernética (Proyecto fin de carrera, Carlos Jiménez Alonso, 5º Ingeniería Industrial en la Universidad Pontificia Comillas, año 2003) DSP First (James H. McClellan, Ronald W. Schlafer, Mark A. Poder, Ed. Prentice Hall) Tutoriales LabVIEW (National Instruments) Manual de la DAQ PCI6013 (National Instruments) Tutoriales Matlab (MathWorks) http://www.monografias.com/trabajos22/aplicaciones-matlab/aplicaciones-matlab.shtml#resum (Aplicaciones en tiempo real para Matlab) http://ccrma.stanford.edu/~jos/filters/ (Introducción al filtrado digital) http://www.ghesafuentes.com (Empresa creadora de la fuente cibernética del Parque Juan Carlos I de Madrid) Entre otras.

Fuente cibernética II

51

Anexos