Geoffsica Colombiana pp 60-64 [u n l o de 2002 Bogota 0 C ISSN - 0121 - 2974N° 5 Adquj stcton, registro y tr ansmtalon en tiempo real de seiiales stsmotoqlcas bajo TCPlIP CARLOS A. VARGAS-JIMENEZ', G. CASTELLANOS', J. A. FLOREZ', J. P. GOMEZ' RESUMEN Se presenta el desarrollo de un sistema de monitoreo de variables sismicas, que incluye la adquisici6n y adecuaci6n de 16canales simultaneos, el preproceso, la grabaci6n y la transmisi6n sobre redes IP en tiempo real. EI sistema esta orientado al sistema Windows, para 10 cual se emplearon librerfas dinarnicas orientadas al acceso de dispositivos en tiempo real. Asi mismo, el acceso de datos al PC se realiza vfa DMA, para implementar el proceso multiple de sefiales en tiempo real. La arquitectura de la red IP de monitoreo sfsmico es cliente/servidor, en la cual se tome como servidor un PC dotado de una tarjeta de adquisicion de datos, encargado de realizar la conversion analogo-digital de las senales, almacenar en archivos las que correspondan a eventos sfsmicos y, al mismo tiempo, atender las solicitudes de los diferentes clientes. El software de cliente permite a los usuarios visualizar en tiempo real las senales que el servidor esta adquiriendo y realizar un procesamiento basico de las senales registradas en el servidor. PALABRAS CLAVE: AOQUISICION DE DATOS, TCP/IP, TIEMPO REAL ABSTRACT The constant evolution of network technologies has made possible the development of applications facilitating the real time access to the information. This way, it is possible the implementation of remote monitoring systems that using PCs achieves efficient trans- mission of signals through computer networks. In this work, the procedures system design and implementation procedures are ex- plain in Client/Server environment that, based on TCP/lP, transmits in real time 16 seismological signals over LAN network and the Internet. The server is a PC endowed with an acquisition data card and it is the one in charge of carrying out the signal Analog/Digital conversion, to store in files those that correspond to seismic events and, at the same time, to assist the applications of the different clients. The client's software allows the users to view in real time the signals that the server is acquiring and to carry out a basic processing to the signals that have been registered in the server. KEY WORDS DATA ACQUISITION, TCP/IP, REAL TIME INTRODUCCION EI auge de los PC, y especial mente de Internet, en los ultirnos aDOSha permitido el desarrollo de sistemas que monitorean en tiempo real se- fiales que representan variables ffsicas a un bajo cos to. En este caso se trata de sefiales stsmicas capturadas por un geofono, el cual genera un voltaje de acuerdo con la velocidad del movimiento del suelo. Estos sensores se encuentran en diferentes ubicaciones geograficas, por 10 que se hace necesario utilizar enlaces telernetricos para centralizar la informaci6n. Una vez agrupadas las sefiales, en el servidor se efectua la conversi6n analogo-digital. En este artfculo se desarrolla un siste- ma de monitoreo sfsmico que contempla la adquisici6n, el preproceso, el registro de seriales sfsmicas y su posterior envfo y acceso a traves de redes de IP. La transmisi6n de las sefiales se realiza bajo el proto- colo TCP/IP, logrando que el software opere en Intranets e Internet sin necesidad de modificaciones en su estructura. Asf mismo se deta- lla el funcionamiento de los algoritmos de procesamiento digital de sefiales implementados en el software de cliente para dar herrarnien- tas a los sisrnologos que estudian las seiiales adquiridas remotamente en el servidor. 'Universidad Nacional de Colombia, Departamento de Geociencias, Grupo de Geotislca, Bogota. I Universidad Nacional de Colombia, Grupo Control & Procesamiento Digital de senates. 60 ADQUISICION DE SENALES SISMOLOGICAS Las sefiales sismol6gicas son consideradas como no estacionarias, y su ancho de banda esta entre 0.001 y 50 Hz, por 10 que una frecuencia de conversi6n de 100 muestras por segundo por canal es considerada sufi- ciente, restricci6n facilmente superable para el desarrollo de sistemas de proceso en tiempo real, incluida su transmisi6n. En general, hay tres formas de transferir los datos del dispositivo de adquisici6n a la memo- ria en la arquitectura del PC (Hazzah, 1997): por consultas 0 polling, por interrupciones y por acceso directo a memoria (DMA, Direct Memory Access). De estas tres tecnicas, la adquisici6n por DMA es la que ofrece mayores ventajas para aplicaciones que deben garantizar el muestreo de una 0 varias sefiaies a una frecuencia constante, EI DMA permite que dispositivos externos transfieran informaci6n directamen- te desde 0 hacia la memoria del sistema, sin la intervenci6n del procesador, mediante su respectivo contralador, el cual se apodera tem- poraJmente del manejo de los buses (de datos, direcciones y control) del microprocesador, y transfiere los datos directamente del puerto 0 de la memoria, a localidades de memoria especfficas, 0 viceversa. EI DMA tiene como prop6sito principalliberar ala unidad central de procesarniento (CPU) de la carga de atender a algunos control adores de dispositivos, opci6n que no se tiene en los casos de adquisici6n por COIl- sultas 0 por interrupciones. El DMA acnia como una unidad de procesa- miento secundaria, toma el control de los buses de datos, direcciones y GEOFlslCA COLOMBIANA, 5, DICIEMBAE DE 200-\ ADQUISICIQN REGISTRO Y TRANSMISIQN EN TIEMPO REAL DE SENALES SISMOLQGICAS BAJO TCP/IP control, se encarga de capturar el ruimero de muestras con que fue pro- gramado y los almacenan a partir de la posici6n especificada (Garcia de Celis, 1999). De esta manera, DMA es un metodo que proporciona el multiproceso por hardware. La tarjeta de adquisici6n de datos que se conecta al PC que desempe- fia el papel de servidor debe cumplir los siguientes requerimientos: con- versi6n simultanea de 16 canales, resoluci6n de 12 bits, frecuencia de conversi6n superior a lOOmps y posibilidad de realizar transferencias DMA. En el mercado se encuentran disponibles diferentes model os de tarjetas que cumplen con estos requerimientos. En el caso particular, el software de servidor fue desarrollado utilizando una tarjeta National Instruments modelo PCI MIa 16E4 (National Instruments, 1997). Sin embargo, el manejo de dispositivos desde el sistema Windows a 32 bits no es directo, y es necesario el empleo de DLL tDinamic Linked Library) especializadas. En particular se emplea el VxD (Vir- tual Device Driver), que tiene acceso irrestricto a todos los dispositi- vos de hardware, examina libremente las estructuras de datos del siste- ma operativo y puede acceder cualquier direcci6n de memoria (Hazzah, 1997). Asi, la VxD puede manejar interrupciones y realizar transferen- cias por DMA. Para la tarjeta escogida, se proporcionan las VxD en forma de API (Application Programming Interface), que se compone de una librerfa de rutinas que permite programar la tarjeta y configurar parametros como la frecuencia de conversion, el rango de las sefiales de entrada y el manejo del buffer, entre otros. Ellenguaje de programaci6n utilizado fue el LabVIEW 6i, el cua! es un lenguaje de programaci6n grafico orientado a la instrumentaci6n (National Instruments, 2(00). Desde la aplicacion hecha en LabVIEW se accesa el hardware a traves de la API mencionada. Las funciones conteni- das en las DLL de la API permiten realizar transferencias DMA. El meto- do como se transfieren los datos de la tarjeta de adquisici6n a la memoria es definitivo para poder garantizar una frecuencia de conversi6n constante. POl'ser Windows a 32 bits un sistema operativo de multitarea apropiativa, no se puede garantizar la ejecuci6n de una rutina de tiempo real critico (hard real-time), como es en este caso la conversi6n AID a una frecuencia constan- te. Este requerimiento se logra realizando la tarea de tiempo real cntico por hardware, es decir que, una vez programada la tarjeta de adquisici6n, esta realiza aut6nomamente las conversionesAID, transfiriendo los datos a un bu- ffer DMA. Debido a que la tarjeta es para bus PCI, se puede manejar Bus- master DMA, que no tiene tantas restricciones como las transferencias DMA para busISA (Hazzah, 1997).Con Bus-master DMA se pueden manejar apun- tadores a direcciones pol' encirna de las 16Mb,y ademas el buffer no tiene que serconsecutivo (scatter-gather DMA). Una vez cumplidos los requerirnien- tos de tiempo rea!, la aplicaci6n que se ejecuta en el servidor toma las mues- tras del buffer, que han sido puestas en este, en virtud de la transferencia Bus- masterDMA. Para el caso de las sefiales sismicas es necesario contar con informa- cion de un cierto mimero de muestras anteriores a la declaraci6n del evento. Esto se debe a que los algoritmos que declaran el evento, activan el comando de almacenamiento varias muestras despues del inicio del sismo, cuando se ha superado un umbral de sensibilidad elegido por el usuario. Se recomienda un pre-evento de alrededor de 30 s, que puede variar dependiendo del tipo de estudios que se realicen en la red sismica. La duraci6n exacta del pre-evento es especificada por el usuario una vez se inicia el roceso de conversi6n AID; de esta forma, si se considera que se muestrea la sefial 100 veces por segundo y se define un pre-evento de 30 segundos, entonces el buffer tiene una longitud de 3000 palabras por canal, ya que se necesitan dos bytes (una palabra), para almacenar cada muestra convertida a una resolucion de 12 bits. La figura I muestra la sefial digitalizada en el servidor, expresada en cuentas. Para una resolu- ci6n de 12 bits y sefial bipolar, se tiene un rango que va desde -2048 a 2048 cuentas. Una cuenta equivale a 2.44 mY, considerando Ul rango para la sefial analoga de -5 a 5 voltios. 1400 96f·'4'··--.... - .... ...,..'I"""I'------ ....------ ....----------~...,..------- 2ll- OL .. " '. " "." d'cci·d-!=dd.-ir"=h\---ir.h=7r<~irihi;__i==IT_-1 '211-rv\/ll\!\ITI\f~7C1IUI'll .. -ill- Figura I. Ejemplo de seiiales adquiridas en el scrvidor REGISTRO DE EVENTOS SiSMICOS EN EL SERVIDOR Una red sismica 0 incluso una sola estaci6n sismica que opera conti- nuamente a ciertas frecuencias y con una alta resoluci6n, es este caso 12 bits, produce una cantidad enorme de datos que son a menudo diff- ciles de guardar y analizar. EI objetivo de los algoritmos de disparo es detectar las sefiales sismicas tipicas (terremotos, fuentes control ad as GEOFislCA COLOMBIANA, 5, DICIEMBRE DE 2001 . I I i' 1- de senales sismicas, explosiones nucleares, sefiales subterraneas, etc.), en las cuales aparece ruido sismico constantemente. Una vez se de- tecta un supuesto evento sismico, el algoritmo guarda todas las sefia- les entrantes y s610 se detiene despues de que se declara el fin del evento, 0 despues de un tiempo predeterminado. Los algoritmos auto- maticos de disparo son relativamente ineficaces cuando se comparan 61 con la experiencia humana, asi, estes pueden generar archivos falsa- mente activados por supuestas sefiales sismicas 0, por el contrario, no alrnacenaran pequefias sefiales detectadas como ruido sismico; por tales motivos la sensibilidad del filtro estara dada por las necesidades de la red sismica. En el servidor se utiliza el algoritmo de disparo STA/LTA (Short Term Average/Long Term Average), que realiza procesos de filtraci6n de las sefiales sismicas. EI STA mide la amplitud del instan- te de la sefial sismica, mientras el LTA cuida del promedio actual de la amplitud del ruido sismico. La ecuaci6n en diferencia que permite describe el STA/LTA es (Lee, 1989): 1 k-I yen) = -x(n)+-' yen-I) k k donde x representa la entrada, y el promedio computado, k es el ta- mario del STA 0 del LTA, n representa el periodo de tiempo actual y n-I el perfodo de tiempo previo. La ecuaci6n en diferencia (I) implementa un filtro pasabajos normalizado, donde la frecuencia de corte es control ada por k. Un k grande representa una pequefia fre- cuencia de corte y un gran tiempo de promedio. Para determinar k si se ha especificado la frecuencia de corte, se debe resolver la siguien- te ecuaci6n (Lee, 1989): a2 + (2· cos(w· T) - 4)a + 1= 0 donde a = Ilk, W es la frecuencia de corte en radianes y T es el perio- do de muestreo. Para aplicar el STA/LTA, se calcula la amplitud ab- sol uta de cada dato de la serial entrante. Luego, se calcula el prome- dio de amplitudes absolutas en ambas ventanas. En el pr6ximo paso se calcula una proporci6n de ambos valores de STA/LTA; esta pro- porci6n se compara continuamente a un valor seleccionado de um- bral; si la proporci6n excede este umbral, se dec lara un evento. Esto no necesariamente significa que la red empieza a grabar sefiales sismicas, puesto que real mente en el sistema se tienen varias estacio- nes. Todas las redes sismicas y la mayorfa de los registradores sismicos tienen un mecanismo de disparo que define cuantos y que canales tienen que estar en un estado activado antes de que el instrumento 0 la red empiecen a grabar datos. Despues de que una serial sismica termina gradualmente, se desactiva el disparo. Esto pas a cuando la proporcion de STA/LTA actual cae debajo de otro para metro que entra el usuario. EI STA/ LTA de desactivaci6n debe tener un nivel de umbral mas bajo (0 ra- ramente igual) que los STA/LTA que activan el nivel de umbraJ. Ade- mas de los datos adquiridos durante la activaciondel disparo, las re- des sisrnicas y los registradores sismicos agregan una cierta cantidad de datos sismicos al even to archivado que corresponden al pre-even- to de tiempo (PEM), y despues de que el estado activo termina, el sistema tam bien agrega un post-evento de tiempo (PET), En la figura 2 se presenta una serial sismica y los calculos de STA y de LTA. En la segunda grafica se observa un crecimiento lento pero constante del LTA y una variaci6n del STA que sigue de una forma rapida los cam bios en la sefial; de esta forma se declara el evento cuando la raz6n STA/LTA supera el umbral predefinido. 62 VARGAS £T AL. (I) L.~t~~v];~(it~,~A,~,/\,/~<~J ;orcr-~-~---'-v--""",,--~~------, \ ST,olA..T,olr:;,lu (1119ger~liYe / __ :ET il" ,-._ _ .111 fl'\1 ..... J'" '"O'-'-"~~~'"'---'---'--~----"-'=="-"'-'=~d 5 c ·Go'----Io~~;O-~,o-----"'(L--'~T--E~O--70~.-J[O Figura 2. Ejemplos de promedios STA/LTA y activacion de disparos TRANSMISION EN UN ENTORNO DE RED EN TIEMPO REAL EI auge de Internet y las intranets ha convertido a TCP/IP en el protocolo de comunicaciones mas ampliamente usado en las redes de computadores a nivel mundial. Por esta raz6n todos los sistemas que utilicen redes de com- putadores como medio de transmisi6n estan tendiendo a utilizar TCP/IP como protocolo de comunicaci6n (Parker, 1997), Los sistemas de instru- mentaci6n no son la excepci6n. De esta forma, los usuarios pueden tomar datos aI tiempo que son adquiridos en el servidor, accesando la informaci6n en tiempo real, sujeto a la velocidad de la red. En el sistema desarrollado para el presente trabajo, el servidor debe estar en capacidad de transmitir 16 sefiales digitalizadas con una resoluci6n de 12 bits y a 100 muestras por segundo, 10que deterrnina que se debe estar transmitiendo como minima 25.6Kbps. Esta velocidad de transmisi6n determina la velocidad minima necesaria, pero no considera los bits que agrega el protocolo de transmisi6n de datos. Otra consideraci6n de disefio es que el servidor debe estar en capacidad de atender peticiones simultaneas de diferentes clientes conecta- dos a la red. Clientes en LabVIEW Programa de adquisici6n Servidor Data Socket Figura 3. Modelo clienre/servidor GEOFislCA COLOMBIANA, 5, OICIEMBAE DE 2001 ADQUISICION. REGISTRO Y TRANSMISION EN TIEMPO REAL DE SENALES SISMOLOGICAS BAJO TCP/IP En la Figura 3 se ilustra el esquema de conexi6n entre el proceso de adquisici6n en el servidor y los clientes. Esta conexi6n se basa en la utilizaci6n de sockets, los cuales son puntos finales de enlaces de comunicaciones entre procesos. Es decir que cada circuito que entre y sale de la capa TCP se identifica de manera unica por una combi- naci6n de mimeros, 0 sockets. Estos mimeros son la direcci6n IP de la rnaquina y el mimero de puerto usado por el software TCP, hacien- do posible que un proceso hable con otro proceso a traves de la red, basado por completo en el mirnero de socket. La tecnologia Datasockets provee al programador una API para transmisi6n de se- fiales a traves de una red, utilizando URL (Uniform Resource Locator). Cada URL identifica explicitamente un iinico proceso en una maquina especifica, por ejemplo una URL puede ser dstp:11 200.30.41.75/datos. EI modelo de red cliente/servidor esta constituido par aplicaciones cliente que requieren los servicios que proporciona la maquina servidor. La aplicaci6n de servidor se dedica a escuchar las direcciones conocidas (puertos de servicio) para el requerimiento de servicios. Cuando una peti- ci6n tiene lugar, el proceso servidor despierta de su estado latente y atien- de la direcci6n solicitada ejecutando las acciones especificas que sean procedentes. En esta aplicaci6n se trabaja con 16 sefiales, par 10que se decidi6 construir una trama propia con estas sefiales y agregarle un cor- to encabezado, que contiene el nurnero de canales enviados y otra in- farmaci6n necesaria para que el cliente interprete cada sefial sismica. Esta unica trama se escribe a un socket, que previamente ha sido abierto. RESULTADOS V CONCLUSIONES EI resultado final es una aplicaci6n en ambiente Windows que ad- quiere hasta 16 sefiales sfsmicas, las procesa y registra acorde a los resultados del algoritmo de STA/LTA. EI sistema de adquisici6n fue probado satisfactoriamente con las sefiales que entrega la red sismica regional eje cafetero, en las insta- laciones de Ingeominas-Manizales, en Colombia. Esta red sismica esta dotada de registradores electromecanicos que gene ran impresio- nes continuas de todas las estaciones. De esta manera se puede efec- tuar una comparaci6n visual entre los archivos generados por el sis- tema de adquisici6n digital y los registros el pape!. Se observ6 que los sismos emergentes que crecen lentamente no son siempre detec- tados por el algoritmo STAILTA. Par esa raz6n fue implementado un algoritmo de detecci6n mas simple, basado en un umbra 1de ampli- tud. Asf, el usuario puede elegir la declaraci6n de evento par STAI LTA 0 par umbra!. La Figura 4 muestra las sefiales recibidas en un cliente conectado al servidar a traves de una red LAN a IOMbps. Cinco canales indican se- fiales de ruido sismico y uno de los canales registra una sinusoidal de prueba entre ada por un generador de sefiales. '~~MIJ\1V\f'~PPlft~~,lGf1lf01'r~ffiM~\f , I' , j " I I f ' __ ' r\7\J\/\j\l\F\ ~~~~vt~\m~~ l' I t I I I t It Figura 4. Recepci6n de senates en el cliente Para el usuario, el proceso de conexi6n es total mente trasparente. Una vez se cuente con la infraestructura de red, s610 es necesario cono- cer la direcci6n IP del servidor y el nombre del proceso. Las herramientas de software implementadas que dispone el clien- te se agrupan en tres categonas: preprocesamiento en el dominio del GEOFlslCA COLOMBIANA, 5, DICIEMBRE DE 2001 tiempo, analisis en el dominio de la frecuencia y aplicaci6n de fil- tros. El programa permite aplicar las siguientes funciones de ventana a sismos que se cargan desde archivos: Hanning, triangular, Blackman, Hamming, Blackman exacta, coseno tapered y Blackman-Harris. Asi mismo puede utilizar filtros Chebyshev, Butterworth y elipticos. Es- 63 VARGAS ET AL tos filtros permiten variar SUS frecuencia de corte, la clase: pasabajos, pasaaltos, pasabanda 0 rechazabanda y el orden del mismo. En el dominio de la frecuencia se pueden realizar FFT, auto-espectro de potencia, el espectro cruzado de potencia y la transformada de Hilbert. La figura 5 detail a las herramientas de procesamiento digital de se- fiales que posee el software de cliente. r =- I 0>1,,0:<1, 9 r.. 1!!!il :;t.MIl :;;;I!!J - l!] ~"',-'lW1l ~lJ q Il =:- l"'~-Ilf",....~::.,.,. --M~l Figura 5. Procesamiento digital de senates efectuado par el software de cliente Se observe tam bien una mejora sustancial del desernpefio de las rutinas de procesamiento en tiempo real, cuando se trabaja con mime- ros expresados en formato entero, ya que una operacion entre mimeros expresados en coma flotante consume mas tiempo de ejecuci6n de la CPU que la misma operacion reaJizada sobre nurneros enteros. De igual forma se anota que almacenar los datos adquiridos en far- rnato binario presenta mas ventajas que el almacenamiento en ASCII. Almacenar en formato binario es mas rapido que en ASCII: esta vent a- ja es importante debido a la caracteristica de tiempo real de la aplica- cion. Por otra parte, los archivos binarios son de menor tarnafio y no se pierde precision al realizar la conversion a ASCn. 64 REFERENCIAS BIBLIOGRAFICAS AKI, K., RICHARDS, P. 1980: Quantitative Seismology Theory and Methods, W.H. Freeman and Company. CADZOW,J. A. 1973: Discrete Time Systems, Prentice Hall, Englewood Cliffs, N. Y. F. HARVEY.1994: DMA Fundamentals on Various PC Platforms, National Instruments. GARCiA de Celis, C. 1999: EI universo digital del IBM PC, cuarta edici6n. HAZZAH, K. 1997: Writing Windows VxDs and Device Drivers, R&D Books. NATIONALINSTRUMENTS.1997: PC I-MID E Series User Manual Multifunction I/O Boards for PCI Bus Computers. LEE, W. H. K. 1989: ToolBox for Seismic Data Acquisition, Procesing and Analysis, International Association of Seismology and Physics of the Earth's Interior. NATIONAL INSTRUMENTS,2000: LabVIEW User Manual National Instruments, Lab VIEW version 6i-Internet-Ready Measurement Applications. PARKER,T. 1997: Teach yourself TCP/IP in 14 days, segunda edici6n, Prentice Hall. PROAKIS,J., MANOLAKIS,D. 1998: Tratamiento digital de sefiales, tercera edici6n, Prentice Hall. TAYLOR,F, Mellott, J. 1998: Hands-on Digital Signal Procesing, McGraw-Hill. TMKOCZY,A. 1999: Understanding and Setting the STAILTA Trigger Algorithm and Associated Parameters, http://www.seismo.com/msop GEOFiSICA COLOMBIANA, 5, DICIEMBRE DE 2001