<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>1683-0789</journal-id>
<journal-title><![CDATA[Acta Nova]]></journal-title>
<abbrev-journal-title><![CDATA[RevActaNova.]]></abbrev-journal-title>
<issn>1683-0789</issn>
<publisher>
<publisher-name><![CDATA[Universidad Católica Boliviana]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1683-07892011000100003</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Comunicación entre un dispositivo de adquisición de bioseñales cerebrales y un terminal móvil]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Pinto Orellana]]></surname>
<given-names><![CDATA[Marco Antonio]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Católica Boliviana Departamento de Ciencias Exactas e Ingeniería Cochabamba]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>03</month>
<year>2011</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>03</month>
<year>2011</year>
</pub-date>
<volume>5</volume>
<numero>1</numero>
<fpage>50</fpage>
<lpage>71</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.bo/scielo.php?script=sci_arttext&amp;pid=S1683-07892011000100003&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.bo/scielo.php?script=sci_abstract&amp;pid=S1683-07892011000100003&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.bo/scielo.php?script=sci_pdf&amp;pid=S1683-07892011000100003&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[La presente investigación contrasta los beneficios del uso de diferentes métodos de codificación dentro un protocolo de comunicación, en términos de su confiabilidad. Para este fin, se diseñó un protocolo en la capa de enlace (BTLCP), con el que se midió el parámetro BER de distintas combinaciones de técnicas de modulación y codificación. La fuente de datos en este sistema fue un conjunto de ondas cerebrales muestreadas provenientes de estudios ajenos, y además, señales electroencefalográficas generadas por un modelo propio. Este conjunto de condiciones fue implementado y simulado dentro una aplicación específica de simulación de eventos discretos y cálculo matricial (OpenTonitruum). Los resultados de las pruebas dieron una alta variabilidad respecto a la codificación y una baja variación en relación a la modulación; demostrando que el efecto de las diferentes técnicas de modulación de fase es indiferente, siendo las técnicas de codificación las verdaderamente influyentes en el desempeño. Además, se encontró que la codificación por turbocódigos posee la tasa de errores más baja que el resto, aumentando la confiabilidad del protocolo.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[The present study contrasts the benefits of using different coding methods within a communication protocol, in terms of its reliability. For this purpose, a protocol was designed in the link layer (BTLCP), with which the parameter measured BER of various combinations of modulation and coding techniques. The source of data in this system was a set of brainwave studies sampled from outside, and also electroencephalographic signals generated by a proprietary model. This set of conditions was implemented and simulated within a specific application of discrete event simulation and matrix calculus (OpenTonitruum). The test results were highly variable with respect to the coding and low variation in the modulation ratio, demonstrating that the effect of the different phase modulation techniques is indifferent, coding techniques being really influential in the performance. Furthermore, we found that possesses turbocodes coding error rate lower than the rest, increasing the reliability of the protocol]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[protocolo]]></kwd>
<kwd lng="es"><![CDATA[codificación]]></kwd>
<kwd lng="es"><![CDATA[modulación]]></kwd>
<kwd lng="es"><![CDATA[bioseñales]]></kwd>
<kwd lng="es"><![CDATA[turbocódigos]]></kwd>
<kwd lng="en"><![CDATA[protocol]]></kwd>
<kwd lng="en"><![CDATA[coding]]></kwd>
<kwd lng="en"><![CDATA[modulation]]></kwd>
<kwd lng="en"><![CDATA[turbo codes biosignals]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[  <h1 align="center"><font size="4" face="Verdana"><b>Comunicación entre un dispositivo    de adquisición de bioseñales cerebrales y un terminal móvil</b></font></h1>     <p align="center">&nbsp;</p>     <p align="center">&nbsp;</p>     <p align="center"><font size="2" face="Verdana"><b>Marco Antonio Pinto Orellana    </b></font></p>     <p align="center"><font size="2" face="Verdana">Departamento de Ciencias Exactas    e Ingeniería, Universidad Católica Boliviana    <br>   Av. General Galindo s/n, Cochabamba, Bolivia</font></p>     <p align="center"><font size="2" face="Verdana"><a href="mailto:pinto.marco@live.com">pinto.marco@live.com</a></font></p>     <p align="center">&nbsp;</p>     <p align="center">&nbsp;</p> <hr align="center" noshade>     <p align="justify"><font size="2" face="Verdana"><b>Resumen: </b>La presente investigación    contrasta los beneficios del uso de diferentes métodos de codificación dentro    un protocolo de comunicación, en términos de su confiabilidad. Para este fin,    se diseñó un protocolo en la capa de enlace (BTLCP), con el que se midió el    parámetro BER de distintas combinaciones de técnicas de modulación y codificación.    La fuente de datos en este sistema fue un conjunto de ondas cerebrales muestreadas    provenientes de estudios ajenos, y además, señales electroencefalográficas generadas    por un modelo propio. Este conjunto de condiciones fue implementado y simulado    dentro una aplicación específica de simulación de eventos discretos y cálculo    matricial (OpenTonitruum). Los resultados de las pruebas dieron una alta variabilidad    respecto a la codificación y una baja variación en relación a la modulación;    demostrando que el efecto de las diferentes técnicas de modulación de fase es    indiferente, siendo las técnicas de codificación las verdaderamente influyentes    en el desempeño. Además, se encontró que la codificación por turbocódigos posee    la tasa de errores más baja que el resto, aumentando la confiabilidad del protocolo.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font size="2" face="Verdana"><b>Palabras clave</b>: protocolo,    codificación, modulación, bioseñales y turbocódigos.</font></p>     <p align="justify"><font size="2" face="Verdana"><b>Abstract</b>: The present    study contrasts the benefits of using different coding methods within a communication    protocol, in terms of its reliability. For this purpose, a protocol was designed    in the link layer (BTLCP), with which the parameter measured BER of various    combinations of modulation and coding techniques. The source of data in this    system was a set of brainwave studies sampled from outside, and also electroencephalographic    signals generated by a proprietary model. This set of conditions was implemented    and simulated within a specific application of discrete event simulation and    matrix calculus (OpenTonitruum). The test results were highly variable with    respect to the coding and low variation in the modulation ratio, demonstrating    that the effect of the different phase modulation techniques is indifferent,    coding techniques being really influential in the performance. Furthermore,    we found that possesses turbocodes coding error rate lower than the rest, increasing    the reliability of the protocol.</font></p>     <p align="justify"><font size="2" face="Verdana"><b>Keywords</b>: protocol, coding,    modulation and turbo codes biosignals.</font></p>   <hr align="center" noshade>     <p align="justify">&nbsp;</p>     <p align="justify">&nbsp;</p> <h2 align="justify"><font size="3" face="Verdana"><b>1&nbsp;&nbsp; Introducción</b></font></h2>     <p align="justify"><font size="2" face="Verdana">El sistema nervioso es una inmensa    red de neuronas y células gliales. La interacción de estas unidades biológicas    se logra a través del impulso nervioso, que permite modelar al conjunto de neuronas    como generadores bioeléctricos[1]. Existen diversas formas de registrar esta    actividad, el método más común y accesible es el electroencefalograma (EEG),    que consiste en un registro de la actividad eléctrica en la corteza cerebral,    inventado por el psiquiatra alemán Hans Berger en 1924 para permitir visualizar    las señales resultantes de la corriente iónica del conjunto de los potenciales    de las dendritas[2].</font></p>     <p align="justify"><font size="2" face="Verdana">Por simplicidad y accesibilidad,    para obtener estas señales se suelen emplear electrodos superficiales o scalp    situados directamente sobre el cráneo con algún compuesto coloidal (gel electrolito).    Existe una norma internacional para la distribución de estos transductores,    conocida como «Sistema 10-20» [3], que asigna una letra y un número único a    19 posiciones, que se encuentran con 20% de separación entre sí respecto a la    distancia entre el inión (protuberancia externa del occipital) y nasión (sutura    internasal)[2][4].</font></p>     <p align="justify"><font size="2" face="Verdana">Debe resaltarse, que este tipo    de señales no solamente tienen fines exclusivamente médicos, sino también aplicaciones    prácticas en la automatización de tareas mediante algoritmos interpretativos.    Los sistemas de procesamiento e interpretación de ondas cerebrales no son totalmente    efectivos, debido a diversos factores presentes en cada individuo y en el sistema    mismo. Para minimizar el primer tipo de dificultad se aplican algoritmos de    aprendizaje y entrenamiento previos[5], buscando asegurar la precisión de los    datos. Pero, en el segundo caso, los mecanismos de corrección se limitan a los    dispositivos que captan la señal, minimizando el ruido presente en éstos[1],    sin analizar el tipo de canal, codificación, e incluso, modulación óptima para    enviar la información inherente a las bioseñales. Los errores introducidos sobre    la señal original - en particular, el retardo - pueden generar resultados inapropiados    una vez que se realice el procesamiento de la información con los medios matemáticos    temporo-espectrales (Wavelet o Fourier)[4]. Debe considerarse además, que cada    algoritmo de codificación puede incluir valores particulares o singulares en    los que no se garantice la detección o corrección de errores - cálculo de polinomios    o vectores síndrome en el caso de códigos lineales o cíclicos -, por esta razón,    al definirse un conjunto concreto de señales, o un cúmulo de señales de cierta    naturaleza, se consigue analizar la validez del algoritmo en un contexto particular    con mayor certidumbre. Este fue el enfoque que se otorgó al análisis de las    muestras de bioseñales.</font></p>     <p align="justify"><font size="2" face="Verdana">Adicionalmente, estos sistemas    tienen la particularidad de emplear mecanismos independientes de control y transmisión    de bioseñales. Este efecto genera que diferentes diseños de interfaces cerebro-ordenador[1][6]    no puedan usarse en aplicaciones exclusivamente encargadas de las funciones    de discriminación, filtrado y procesamiento[2] debido a la incompatibilidad    de los sistemas y procesos de comunicación entre el dispositivo captador de    señales y el destinatario, comúnmente, ordenador.</font></p> <h2 align="justify">&nbsp;</h2> <h2 align="justify">&nbsp;</h2> <h2 align="justify"><font size="3" face="Verdana"><b>2&nbsp;&nbsp; Metodología</b></font></h2>     <p align="justify"><font size="2" face="Verdana">La ejecución del estudio se realizó    a través de tres actividades primordiales:</font></p>    <ol start=1 type=1>         ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana"><b>Modelamiento de las bioseñales cerebrales</b>        para generar una cantidad, teóricamente, ilimitada de señales electroencefalográficas        aleatorias.</font></li>         <li><font size="2" face="Verdana"><b>Diseño y especificación del protocolo        de comunicación</b> en la capa de enlace, denominado BTLCP, permitiendo        las funcionalidades mínimas de control de canal.</font></li>         <li><font size="2" face="Verdana"><b>Modelamiento de los métodos de codificación,        modulación y canal</b>, dentro un entorno de simulación denominado OpenTonitruum,        implementado específicamente para esta investigación.</font></li>       </ol>     <p align="justify"><font size="2" face="Verdana"> Estas tres actividades se complementan    mutuamente en una estructura tal como se muestra en la Fig. 1. En el sistema    simulado, existe un receptor y un transmisor, ambos equipados con un módem (modulador-demodulador)    y un códec (codificador-decodificador). La salida del módem se transmite a través    de un canal genérico, modelado como un canal de ruido gausiano blanco aditivo    (AWGN). La forma en la que los dos dispositivos se comunican entre sí responde    a los procedimientos definidos por el protocolo BTLCP. Finalmente, las señales    que ingresan al sistema provienen de dos fuentes diferentes: ondas almacenadas    en una base de datos, o señales generadas por el modelo EEG.</font></p>     <p align="justify"><font size="2" face="Verdana">Existe una motivación particular    para estudiar las ondas EEG y crear un modelo de señales aleatorias de esta    naturaleza: mayor fuente de datos. La base de datos contiene un poco menos de    150 ondas diferentes, cantidad insuficiente para probar adecuadamente el sistema.    Sin embargo, el uso del modelo, permitió generar una onda para cada repetición    del experimento; aumentando, la variabilidad de los datos.</font></p>     <p align=center><font size="2" face="Verdana"><img border=0 width=479 height=251 id="Imagen 1" src="/img/revistas/ran/v5n1/v5n1a03-01.gif"></font></p>     <p align="center"><font size="2" face="Verdana"><b>Figura 1:&nbsp;&nbsp; </b>Entorno    simulado de la investigación</font></p> <h3 align="justify"><font size="3" face="Verdana"><b>2.1&nbsp;&nbsp;&nbsp;&nbsp;    Modelamiento de bioseñales cerebrales</b></font></h3>     <p align="justify"><font size="2" face="Verdana">Las señales electroencefalográficas    aparentan un comportamiento aleatorio o errático explicado levemente mediante    ritmos o señales base [7]. Para fines de la investigación, se hizo necesario    el uso de la mayor variedad posible de estas ondas durante la simulación, para    comprobar adecuadamente las técnicas de modulación y codificación. En correspondencia    a este propósito se analizó la naturaleza de las ondas EEG en busca de una relación    estocástica que permita representarlas.</font></p>     <p align="justify"><font size="2" face="Verdana">Se empleó como base de datos    de bioseñales, el conjunto de datos (dataset) de la «BCI Competition II» (2003)    del instituto «Berlin Brain-Computer Interface» que recogió muestras de un experimento    de análisis visual de contenido léxico (P300 speller paradigm). Este conjunto    de datos proveyó 1451519 muestras distribuidos en 147 segmentos de señales.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font size="2" face="Verdana">Después de una inspección y análisis    preliminar a las diferentes señales en el dominio del tiempo y frecuencia [7],    se observó que en ambas condiciones, las ondas no parecían asemejarse a una    combinación de funciones lineales, logarítmicas, exponenciales o sinusoides,    sino aparentaban responder a un comportamiento totalmente aleatorio. No obstante,    se halló una peculariedad: el espectro en frecuencia en todas las situaciones    demostraba una envolvente aparentemente común.</font></p>     <p align="justify"><font size="2" face="Verdana">El espectro de frecuencia de    las ondas EEG tiene dos características esenciales:</font></p>    <ul type=disc>         <li><font size="2" face="Verdana">La forma de la envolvente sigue un patrón        cercano a una función exponencial con un superíndice decreciente.</font></li>         <li><font size="2" face="Verdana">Existe un impulso de tamaño variable mayor        que la tendencia exponencial situado en una banda de frecuencia menor a        100Hz.</font></li>       </ul>     <p align="justify"><font size="2" face="Verdana">Para encontrar la envolvente    del espectro se empleó un filtro pasabajo de 10Hz sobre la señal equivalente    a la distribución de frecuencias basándose en el principio del detector de envolvente    de AM.</font></p>     <p align="justify"><font size="2" face="Verdana">Dado el aspecto incierto de las    señales electroencefalográficas, desde un punto de vista determinístico, es    difícil hallar una ecuación que establezca la forma de estas señales rigurosamente.    Pero, es posible producir un espectro que se asemeje a estas señales en el dominio    de las frecuencias. El método para ello consistiría en generar valores aleatorios    entre el eje de las abscisas y la envolvente para todas las frecuencias. De    esta forma el modelo de las señales EEG se traduciría en encontrar una ecuación    paramétrica de la envolvente.</font></p>     <p align="justify"><font size="2" face="Verdana">La envolvente, si bien tiene    un carácter exponencial, no puede ser adecuadamente modelada por una función    exponencial común, por su bajo índice de correlación con las señales originales;    y aunque este mismo índice se mejora con el uso de una función gaussiana, no    supera el 70% [7]. Después de algunos análisis preliminares se encontró que    la envolvente puede ser satisfactoriamente modelada con una combinación de las    expresiones anteriores:</font></p>     <p align="center"><font size="2" face="Verdana"><img border=0 width=193 height=38 src="/img/revistas/ran/v5n1/v5n1a03-02.gif">                                                          (ec. 1)</font></p>     <p align="justify"><font size="2" face="Verdana">Debe notarse que los coeficientes    <img border=0 width=11 height=19 src="/img/revistas/ran/v5n1/v5n1a03-03.gif"> de la ecuación son valores variables.</font></p> <h3 align="justify">&nbsp;</h3> <h3 align="justify"><font size="3" face="Verdana"><b>2.2&nbsp;&nbsp;&nbsp; Protocolo    de comunicaciones BTLCP</b></font></h3>     ]]></body>
<body><![CDATA[<p align="justify"><font size="2" face="Verdana">La transmisión de bioseñales    en medios inalámbricos requiere que el protocolo permita tramas de tamaño variable,    al mismo tiempo que debe facilitar mecanismos para la corrección de errores    en las mismas (FEC, Forward Error Correction), pero permitiendo su retransmisión    en caso que las correcciones fuesen insuficientes. En el caso particular de    aplicaciones en tiempo real, como la interpretación semi-instantánea de bioseñales,    el protocolo debe minimizar el retraso en la recepción de los datos en el destinatario.</font></p>     <p align="justify"><font size="2" face="Verdana">La alternativa más común para    este tipo de situaciones suele ser el protocolo HDLC (High Data Link Control)[8]    o una versión derivada enfocada en alguna condición en particular. Las ventajas    de este protocolo involucran: tamaño de trama variable, uso de diferentes modos    de conexión, control de flujo y bidireccionalidad. Sin embargo, el principal    obstáculo que impide el uso de este protocolo es el deficiente soporte para    comunicaciones inalámbricas en aspectos como la seguridad y sincronización.</font></p>     <p align="justify"><font size="2" face="Verdana">En cualquier caso, el protocolo    debería usar una técnica de control de flujo óptima. Este requisito se basa    en la premisa de maximizar el número de tramas de información recibidas en el    destinatario en el menor tiempo posible. Las opciones más comunes incluyen:    «Stop and Wait ARQ», «Go Back N» o «Selective Repeat». Siendo la última alternativa    la que más se acerca a la condición deseada.</font></p>     <p align="justify"><font size="2" face="Verdana">En este contexto, se encontró    un protocolo que se acercó bastante a las especificaciones indicadas: AIRMAIL    [9]. Éste definía el uso de control y corrección de errores a nivel de bits    y tramas, esta última opción sustentada en la extrapolación de la codificación    Hamming a nivel de tramas (o paquetes) en lugar de bits. Asimismo AIRMAIL dispone    de una técnica diferente de control de flujo, cercana a «Selective Repeat»,    consistiendo en la adición de un bit especial que señala el fin de un bloque    (permitiendo así grupos de trama de tamaño menor al establecido por la ventana    de transmisión), con una sola trama de confirmación de recepción, o un grupo    de tramas señalando los paquetes a retransmitir, por cada bloque. A pesar de    estas características, este protocolo no las especificaba completamente, ni    establecía un formato de trama, haciéndolo poco factible de implementarse en    la presente investigación.</font></p>     <p align="justify"><font size="2" face="Verdana">En el ambiente descrito, se diseñó    un protocolo experimental punto-a-punto en la capa de enlace del modelo abierto    OSI que pudiera satisfacer las necesidades de las transmisiones inalámbricas    de bioseñales: BTLCP (Biosignals Transmission Link Control Procedure). Este    protocolo posee las siguientes características:</font></p>    <ul type=disc>         <li><font size="2" face="Verdana">Se aprovechan algunas propiedades de AIRMAIL:        el uso de un bit especial (bit «e») para señalar el fin de bloque y el envío        de una sola trama de confirmación por cada uno de ellos.</font></li>         <li><font size="2" face="Verdana">El control de flujo se realiza mediante        «Selective Repeat», pero usando un formato especial para indicar las tramas        a retransmitir, de manera que se envíen el menor número de tramas con el        objetivo de informar.</font></li>         <li><font size="2" face="Verdana">Se emplean dos tipos de tramas: de información        y configuración. El formato de ambas se basó en HDLC descartando los campos        innecesarios y añadiendo algunos más.</font></li>         <li><font size="2" face="Verdana">Los equipos pueden intercambiar valores        de configuración al inicio de la conexión, con el fin de informarse sobre        algunos aspectos relacionados con la comunicación. En el caso exclusivo        de bioseñales EEG, se podría emplear esta propiedad para indicar el número        de canales, el tamaño de cada muestra (que define también el tamaño de la        trama), entre otros factores. Este proceso, también es útil para intercambiar        claves públicas e implementar técnicas de encriptación. Sin embargo, todas        estas posibilidades se encuentran fuera del alcance del presente estudio.</font></li>       </ul>     ]]></body>
<body><![CDATA[<p align="justify"><font size="2" face="Verdana">El funcionamiento básico de BTLCP    se puede ver en la Fig. 2. Aunque para describir formalmente el protocolo se    utiliza una máquina de estados finitos extendidos para comunicaciones (CEFSM,    Communicating Extended Finite State Machine)[8]. El diagrama del transmisor    se muestra en la Fig. 3 y la notación correspondiente se detalla en la Tabla    1.</font></p>     <p align=center><font size="2" face="Verdana"><img border=0 width=317 height=321 id="Diagrama 2" src="/img/revistas/ran/v5n1/v5n1a03-04.gif"></font></p>     <p align="center"><font size="2" face="Verdana"><b>Figura 2:&nbsp;&nbsp; </b>Etapas    en el protocolo BTLCP.</font></p>     <p align=center><font size="2" face="Verdana"><img border=0 width=467 height=564 id="Imagen 5" src="/img/revistas/ran/v5n1/v5n1a03-05.jpg"></font></p>     <p align="center"><font size="2" face="Verdana"><b>Figura 3:&nbsp; </b>Diagrama    CEFSM del transmisor BTLCP.</font></p>     <p align=center><font size="2" face="Verdana"><img border=0 width=477 height=547 id="Imagen 6" src="/img/revistas/ran/v5n1/v5n1a03-06.jpg"></font></p>     <p align="center"><font size="2" face="Verdana"><b>Figura 4:&nbsp; </b>Diagrama    CEFSM del receptor BTLCP.</font></p>     <p align="center"><img src="/img/revistas/ran/v5n1/v5n1a03-49.gif" width="626" height="920"></p>     <p align="justify"><font size="2" face="Verdana">El receptor, por su parte, se    puede representar con el diagrama de la Fig. 3, con la notación descrita en    la Tabla 2.</font></p>     <p align="center"><img src="/img/revistas/ran/v5n1/v5n1a03-50.gif" width="576" height="613"></p>     ]]></body>
<body><![CDATA[<p align="justify"><font size="3" face="Verdana"><b>2.3&nbsp;&nbsp;&nbsp; Herramienta    de simulación OpenTonitruum</b></font></p>     <p align="justify"><font size="2" face="Verdana">Para obtener los resultados,    fue necesario realizar simulaciones sobre un protocolo determinado, empleando    diversas técnicas de modulación y codificación. Esto con el objetivo de contrastar    el desempeño de los turbocódigos con el algoritmo BJCR. No existe una aplicación    que reúna estas características, las más próximas fueron Matlab (u Octave, SciLab    como alternativas de código abierto), GNS-3 y OMNet++. Pero, ninguna de ellas    permite realizar todas las actividades de forma simultánea.</font></p>    <ul type=disc>         <li><font size="2" face="Verdana">Usar diferentes combinaciones de técnicas        de modulación y codificación.</font></li>         <li><font size="2" face="Verdana">Permitir cambiar la configuración de la        simulación en tiempo de ejecución.</font></li>         <li><font size="2" face="Verdana">Incluir mecanismos para seleccionar el tipo        de fuente de señales EEG a usar (generadas o de la base de datos).</font></li>         <li><font size="2" face="Verdana">Mostrar gráficamente los avances de la señal        por el sistema de transmisión.</font></li>       </ul>     <p align="justify"><font size="2" face="Verdana">Para fines prácticos, la aplicación    se desarrolló bajo el nombre de «OpenTonitruum». Con un código escrito en 4    lenguajes de programación: Python, C++, Cython y QML (Figura 3) basándose en    las siguientes librerías:</font></p>    <ul type=disc>         <li><font size="2" face="Verdana"><b>IT++:</b> funciones matemáticas escritas        en C++, se empleó para algunos algoritmos de codificación y modulación.</font></li>         <li><font size="2" face="Verdana"><b>SimPy:</b> simulación de eventos discretos        diseñado en Python. Es el fundamento de la simulación del sistema. En base        a esta herramienta se implementó el sistema de comunicación virtual simulado.</font></li>         ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana"><b>NumPy/SciPy:</b> cálculo matricial para        Python, añade un conjunto de funciones matemáticas de índole científica;        su principal uso fue destinado al análisis estadístico, método de mínimos        cuadrados, filtros, entre otros.</font></li>         <li><font size="2" face="Verdana"><b>Matplotlib/GuiQwt: </b>graficación de        funciones. Matplotlib se requirió para las gráficas realizadas durante las        pruebas, mientras que guiqwt se usó como base en la aplicación.</font></li>         <li><font size="2" face="Verdana"><b>PyQt: </b>biblioteca multipropósito para        Python portado de <b>Qt</b> (C++), facilitando las herramientas necesarias        para diseñar la interfaz gráfica multiplataforma. </font></li>       </ul>     <p align=center><font size="2" face="Verdana"><img border=0 width=503 height=294 id="Objeto 8" src="/img/revistas/ran/v5n1/v5n1a03-07.gif"></font></p>     <p align="center"><font size="2" face="Verdana"><b>Figura 5:&nbsp; </b>Lenguajes    de programación empleados en el entorno de simulación</font></p>     <p align="justify"><font size="2" face="Verdana">La aplicación está desarrollada    en torno al paradigma de la programación orientada a objetos, y funciona en    base a un modelo de capas, tal como se muestra en la Fig. 5:</font></p>    <ul type=disc>         <li><font size="2" face="Verdana"><b>Application Library Layer</b>. Toda la        aplicación se sustenta en un conjunto especial de clases agrupadas dentro        de la capa «ApplicationLibrary», que equivale al paquete «OpenTonitruum.Common»        del código fuente. Este nivel de abstracción ofrece utilidades como enumeraciones        y eventos.</font></li>         <li><font size="2" face="Verdana"><b>Simulation Layer</b>. El conjunto de        mecanismos de simulación, como tal, se agrupan en la capa «Simulation» que        realiza las funciones de control y  mecanismos de funcionamiento en tiempo        de ejecución. En base a estos procedimientos, se desarrolla una serie de        modelos de simulación que se cargan durante la ejecución del programa en        forma externa a la aplicación central (subcapa «Simulation Models»). Estos        modelos definen la forman en la que se realiza la simulación, por tanto,        se dividen en modelos de canal, modulación, codificación y protocolo. Cada        uno de ellos, indica dentro de su contenido, los algoritmos o cálculos necesarios        a desarrollar durante la simulación.</font></li>         <li><font size="2" face="Verdana"><b>Data Logger Layer</b>. La capa de registro        de datos «DataLogger» se encarga de almacenar los resultados de la simulación        en una base de datos diseñada con este fin.</font></li>         ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana"><b>Presentation Layer</b>. La capa «Presentation»        y su subcapa «Animation» tienen el objetivo único de establecer la interfaz        de usuario para la manipulación de los detalles de la simulación.</font></li>         <li><font size="2" face="Verdana"><b>Controller Layer</b>. La capa «Controller»        tiene las funciones de permitir la interacción entre la capa de presentación        y simulación.</font></li>       </ul>     <p align=justify>&nbsp;</p>     <p align=center><font size="2" face="Verdana"><b><img border=0 width=88 height=188 src="/img/revistas/ran/v5n1/v5n1a03-08.gif"><img border=0 width=408 height=189 id="Imagen 7" src="/img/revistas/ran/v5n1/v5n1a03-09.gif"></b></font></p>     <p align="center"><font size="2" face="Verdana"><b>Figura 6:&nbsp;&nbsp; </b>Diagrama    de capas de OpenTonitruum</font></p>     <p align="justify"><font size="2" face="Verdana">La aplicación se basa en una    biblioteca de simulación de eventos discretos (SimPy), mediante la que se realiza    la interacción de componentes en una línea del tiempo independiente al tiempo    del ordenador. En base a este principio, se creó dos tipos de simulaciones dentro    del programa:</font></p>    <ul type=disc>         <li><font size="2" face="Verdana">Los <b>escenarios</b>, que consisten en        simulaciones en las que el tiempo de simulación puede ser calibrado de forma        que se ejecute proporcionalmente al tiempo real. Asimismo, en esta categoría,        las simulaciones incluyen animaciones que muestran el desarrollo de la simulación        desde diversas perspectivas, según los elementos del sistema de transmisión        (fuente, codificador, modulador, canal, demodulador y decodificador) y el        diagrama de estados del protocolo, entre otros.</font></li>         <li><font size="2" face="Verdana">Los <b>entornos</b>, son un medio alternativo        de simulación carente de animaciones y optimizado en velocidad, con la diferencia        que puede simular más de un tipo de configuración en forma consecutiva.</font></li>       </ul>     ]]></body>
<body><![CDATA[<p align="justify"><font size="2" face="Verdana">En ambos casos, cuando la aplicación    se inicia, se cargan los modelos de simulación de un directorio especificado    y los parámetros que éstos requieren para funcionar correctamente. De esta forma,    al empezar la simulación, se crea en un ambiente virtual con dos «objetos de    simulación» que representan los equipos donde cada con uno de ellos posee un    transceptor - conformado por un componente virtual receptor y transmisor - mediante    el cual es capaz de comunicarse a través del canal simulado. El canal, modulador,    demodulador, codificador y decodificador se establecen mediante una configuración    previamente especificada, usando los modelos existentes para representar el    comportamiento de los diversos tipos de componentes. Asimismo, el protocolo    de capa de enlace también se carga y configura mediante este método.</font></p> <h3 align="justify">&nbsp;</h3> <h3 align="justify"><font size="3" face="Verdana"><b>2.4&nbsp;&nbsp;&nbsp; Detalles    de la simulación</b></font></h3>     <p align="justify"><font size="2" face="Verdana">Empleando el programa descrito    anteriormente, se procedió a definir las condiciones de la simulación. Los métodos    de modulación seleccionados fueron: 4-PSK, QAM, 16-QPSK y 4-PAM; mientras que    las técnicas de codificación elegidas, BCH, Hamming, Reed Salomon y Turbocódigos;    en un canal ideal y un canal gaussiano (AWG). Se empleó un elevado número de    repeticiones (200) de cada simulación para conseguir que el conjunto de resultados    tenga una distribución normal, según el teorema del límite central, de forma    que los análisis estadísticos comunes puedan ser aplicados [10][11].</font></p>     <p align="justify"><font size="2" face="Verdana">Con las características establecidas,    y considerando que el protocolo de comunicación se sustenta en BTLCP, se preciso    varios escenarios con una combinación diferente de canal, modulación, codificación    y fuente, asignándose un código identificador a cada uno de ellos. Después de    aproximadamente 50 horas de simulación sobre un computador Dell Vostro 1000    (TM) con un procesador AMD Dual-Core Athlon(TM) 64X2 con 1GB de memoria RAM    bajo el sistema operativo Windows Seven(TM), se produjeron los resultados de    la tasa de error de bits BER (bit error rate) sobre tramas enviadas con el protocolo    BTLCP presentados en la Tabla 4. Debe notarse, que el número total de bits varía    de acuerdo al efecto que tuvo los errores en el protocolo. Cuando la cantidad    de errores fue demasiado alta, los temporizadores dentro de cada equipo se ejecutaron,    generando que se ingrese en un estado de error y/o los equipos finalizaran la    comunicación.</font></p>     <p align="center"><img src="/img/revistas/ran/v5n1/v5n1a03-51.gif" width="589" height="846"></p>     <p align="center"><img src="/img/revistas/ran/v5n1/v5n1a03-52.gif" width="592" height="1103"></p>     <p align="justify"><font size="3" face="Verdana"><b>2.5&nbsp;&nbsp;&nbsp; Análisis    estadístico de resultados</b></font></p>     <p align="justify"><font size="2" face="Verdana">Para realizar una correcta evaluación    de los resultados, se procedió a desarrollar un análisis de varianza, y determinar    si los valores obtenidos fueron significativamente diferentes y no un producto    del azar. Sin embargo, en este análisis, se excluyó los datos obtenidos mediante    la técnica de modulación PAM, dado que que el fin de su adición en las pruebas    fue para demostrar el efecto de un deficiente método de modulación - que no    se usa en la práctica - independientemente del tipo de codificación que implementado    en un sistema de comunicación. Por esta razón, puede excluirse para fines de    este análisis estadístico.</font></p>     <p align="justify"><font size="2" face="Verdana">Se organizó los datos obtenidos    en una estructura tabular respecto a los tratamientos del experimento[2], tal    como se muestra en la Tabla 5.</font></p>     <p align="center"><img src="/img/revistas/ran/v5n1/v5n1a03-53.gif" width="613" height="355"></p>     <p align="justify"><font size="2" face="Verdana">Con esta información, se procedió    a realizar algunos cálculos auxiliares (Tabla 6) para formar la Tabla 7, que    corresponde al análisis de varianza, propiamente dicho.</font></p>     ]]></body>
<body><![CDATA[<p align="center"><img src="/img/revistas/ran/v5n1/v5n1a03-54.gif" width="500" height="454"></p>     <p align="center"><img src="/img/revistas/ran/v5n1/v5n1a03-55.gif" width="560" height="300"></p>     <p align="justify"><font size="2" face="Verdana">Conociendo que el tipo de codificación    condiciona el desempeño dentro del protocolo; es necesario establecer si la    tasa de bits de error BER obtenida por el uso de los turbocódigos, estadísticamente    es superior a las otras técnicas de codificación. Dado que del análisis precedente    se conoce que el tipo de modulación no varía significativamente los resultados,    se eligió los valores de simulación obtenidos con la modulación PSK (escenarios    A-PS-B-F, A-PS-H-F, A-PS-R-F y A-PS-T-F).</font></p>     <p align="justify"><font size="2" face="Verdana">Definimos las hipótesis de contraste    genéricas:</font></p>     <p align="justify"><font size="2" face="Verdana">·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    <img border=0 width=109 height=19 src="/img/revistas/ran/v5n1/v5n1a03-41.gif">. La tasa de bits de error BER generada por los métodos    de codificación puede ser igual o mayor a la obtenida mediante turbocódigos.</font></p>     <p align="justify"><font size="2" face="Verdana">·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    <img border=0 width=109 height=19 src="/img/revistas/ran/v5n1/v5n1a03-42.gif">. La técnica de codificación «x» tiene una BER media    menor que la BER resultado de la aplicación de los turbocódigos.</font></p>     <p align="justify"><font size="2" face="Verdana">La técnica de codificación «x»    puede hacer referencia a BCH, Hamming o Reed Salomon, según sea la situación.    La Tabla 8 resume los procesos de cálculo de las pruebas de hipótesis para estas    técnicas.</font></p>     <p align="center"><img src="/img/revistas/ran/v5n1/v5n1a03-56.gif" width="580" height="239"></p> <h3 align="justify"><font size="3" face="Verdana"><b>2.6&nbsp;&nbsp;&nbsp; Análisis    de resultados</b></font></h3>     <p align="justify"><font size="2" face="Verdana">Los datos obtenidos por la extensa    simulación del protocolo fueron sometidos a dos tipos de pruebas estadísticas:    análisis de varianza y pruebas de hipótesis. La primera operación dejó dos conclusiones    importantes:</font></p>    <ul type=disc>         <li><font size="2" face="Verdana">El método de modulación no influyó relevantemente        en los resultados de la simulación. Las diferencias de su efecto entre las        técnicas de codificación fue mínima.</font></li>         ]]></body>
<body><![CDATA[<li><font size="2" face="Verdana">Por el contrario, cada proceso de codificación        tuvo un impacto diferente en la tasa de errores, de tal forma que esta diversidad        no se vio causada por un factor netamente aleatorio. Esta premisa se sustenta        en la demostración de la variación de promedios BER.</font></li>       </ul>     <p align="justify"><font size="2" face="Verdana">Basándose en la segunda conclusión    precedente, existe una tasa de error diferente en función del tipo de codificación    que se aplica. Si consideramos el factor de desempeño entre cada tipo de codificación    obtenemos que los turbocódigos minimizan la tasa de error hasta un 93% (en el    caso de la confrontación con BCH).</font></p>     <p align="justify"><font size="2" face="Verdana">Además, las pruebas de hipótesis    de contraste se diseñaron para confirmar que los turbocódigos ofrecen un mejor    rendimiento respecto a BCH, Hamming y Reed Salomon; y en todos los ensayos,    estadísticamente, se puede sustentar - con un 0.2% de nivel de significancia    - que los turbocódigos tienen la tasa de error más baja.</font></p> <h2 align="justify">&nbsp;</h2> <h2 align="justify">&nbsp;</h2> <h2 align="justify"><font size="3" face="Verdana"><a><b>3&nbsp;&nbsp; Conclusiones</b></a></font></h2>     <p align="justify"><font size="2" face="Verdana">Como resultado de la presente    investigación, en base a las pruebas de simulación y comparaciones estadísticas,    se concluye que la aplicación de los turbocódigos con el algoritmo iterativo    BCJR como método de codificación de señales, dentro del protocolo experimental    BTLCP (Biosignals Transmission Link Control Procedure) mejora ampliamente la    confiabilidad del transporte de las ondas cerebrales en un sistema digital inalámbrico,    llegando a reducir la tasa de errores de bit más de 20 veces respecto a algunos    tipos de codificación. Esta misma aseveración se obtuvo en diferentes condiciones    de simulación de canal y modulación. De acuerdo a este argumento, se sostiene    la certeza de la hipótesis planteada.</font></p>     <p align="justify"><font size="2" face="Verdana">Además, de los ensayos experimentales    se encontró que no existe una técnica de codificación ideal, puesto que en todos    los algoritmos se hallaron valores especiales - singularidades o con alto número    de errores -  que los diferentes métodos fueron incapaces de detectar o corregir    apropiadamente. Ante estas situaciones, la única alternativa para obtener las    tramas correctas fue la retransmisión con el procedimiento descrito por el protocolo..</font></p>     <p align="justify"><font size="2" face="Verdana">Al mismo tiempo, el análisis    de varianza sobre los resultados de la simulación, evidenció una muy baja diferencia    entre el uso de las técnicas de modulación analizadas, a pesar de las distintas    probabilidades teóricas de error. Con este fundamento, se sustentó que no existe    una variación significativa entre los diferentes tipos de métodos de modulación    binaria y multinivel de fase en el transporte de bioseñales con el protocolo    BTLCP.</font></p>     <p align="justify"><font size="2" face="Verdana">También, con los avances desarrollados    en la investigación se pudo demostrar que es posible generar una bioseñal cerebral    aleatoria en base a un modelo matemático fundamentado en la descripción de la    envoltura de su espectro en frecuencia. Las pruebas realizadas sostienen que    la expresión hallada tiene un coeficiente de correlación mayor al 80% respecto    a las señales incluidas en la base de datos. De este modo se asegura su validez    de uso en el ambiente virtual que se creó exclusivamente para esta tesis, con    el fin de realizar todas las simulaciones necesarias.</font></p>     <p align="justify">&nbsp;</p>     <p align="justify">&nbsp;</p> <hr align="center" noshade> <h2 align="justify"><font size="3" face="Verdana"><b>Referencias</b></font></h2>     ]]></body>
<body><![CDATA[<!-- ref --><p align="justify"><font size="2" face="Verdana">[1]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    Enrique Mario Spinelli. <i>Interfaces de control cerebral.</i> Tesis maestral.    Universidad Nacional de la Plata, 2000.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=769527&pid=S1683-0789201100010000300001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font size="2" face="Verdana">[2]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    María T. Luque. <i>Mejora de la herramienta MindReader. Adquisiciín y análisis    de señales EEG.</i> Tesis de fin de carrera. Universidad Carlos III de Madrid,    2010.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=769528&pid=S1683-0789201100010000300002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font size="2" face="Verdana">[3]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    A. B. Benevides, T. F. Bastos y M. Sarcinelli. <i>Selección de Parámetros para    Clasificación de Tareas Mentales en Tiempo Real.</i> Simposio CEA de Bioingeniería,    Grupo de Bioingeniería del Comité Español de Automática - Red Temática en Ingeniería    Biomédica, 2010.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=769529&pid=S1683-0789201100010000300003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p align="justify"><font size="2" face="Verdana">[4]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    Ricardo Ron Angevin. <i>Retroalimentación en el entrenamiento de una interfaz    cerebro-computadora   usando técnicas basadas en realidad virtual.</i> Tesis    doctoral. Universidad de Málaga, 2005.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=769530&pid=S1683-0789201100010000300004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><p align="justify"><font size="2" face="Verdana">[5]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    I. Iturrate,  L. Montesano y  J. Minguez. <i>Detección en tiempo real de potenciales    de error durante la observación  de un brazo robótico. Simposio CEA de Bioingeniería    2010.</i> Simposio CEA de Bioingeniería, Grupo de Bioingeniería del Comité Español    de Automática - Red Temática en Ingeniería Biomédica, 2010.</font></p>     <p align="justify"><font size="2" face="Verdana">[6]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    Lucio González Sanz. <i>Estudio conjunto de magnetoencefalografía y electroencefalografía    en epilepsia.</i> Tesis doctoral. Universidad complutense de Madrid, 2011.</font></p>     <p align="justify"><font size="2" face="Verdana">[7]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    Marco A. Pinto O. <i>Comunicación entre un dispositivo de adquisición de bioseñales    cerebrales y un terminal móvil.</i> Tesis de grado de Ingeniería de Telecomunicaciones.    Universidad Católica Boliviana. Cochabamba, Bolivia, 2012.</font></p>     <p align="justify"><font size="2" face="Verdana">[8]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    Andrew S. Tanenbaum. <i>Redes de computadoras.</i> Prentice Hall, 1997.</font></p>     <p align="justify"><font size="2" face="Verdana">[9]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    E. Ayanoglu, S. Paul, T. F. LaPorta, et. al. <i>A link-layer protocol for wireless    networks. Wireless Networks.</i> J. C. Baltzer AG, Science Publishers, 1995.</font></p>     <p align="justify"><font size="2" face="Verdana">[10]&nbsp; G. Castellanos y Y.    Shinakov. <i>Teoría de señales: Fundamentos.</i> Centro de publicaciones UN    Manizales, 2009.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font size="2" face="Verdana">[11]&nbsp; Simon Haykin. <i>Sistemas    de comunicación.</i> Editorial Limusa, 2002.</font></p>     <p align="justify"><font size="2" face="Verdana"><a>[12]&nbsp;    </a>Murray R. Spiegel. <i>Probabilidad y estadística.</i> Schaum's outline series,    Mc Graw Hill, 2003.</font></p>       ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Spinelli]]></surname>
<given-names><![CDATA[Enrique Mario]]></given-names>
</name>
</person-group>
<source><![CDATA[Interfaces de control cerebral]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Luque]]></surname>
<given-names><![CDATA[María T.]]></given-names>
</name>
</person-group>
<source><![CDATA[Mejora de la herramienta MindReader. Adquisiciín y análisis de señales EEG.]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Benevides]]></surname>
<given-names><![CDATA[A. B.]]></given-names>
</name>
<name>
<surname><![CDATA[Bastos]]></surname>
<given-names><![CDATA[T. F.]]></given-names>
</name>
<name>
<surname><![CDATA[Sarcinelli]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[Selección de Parámetros para Clasificación de Tareas Mentales en Tiempo Real. Simposio CEA de Bioingeniería, Grupo de Bioingeniería del Comité Español de Automática - Red Temática en Ingeniería Biomédica]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Ron Angevin]]></surname>
<given-names><![CDATA[Ricardo]]></given-names>
</name>
</person-group>
<source><![CDATA[Retroalimentación en el entrenamiento de una interfaz cerebro-computadora usando técnicas basadas en realidad virtual.]]></source>
<year></year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
