Cap´ıtulo
4
Implementaci´on
4.1
Introducci´on
En este cap´ıtulo se describe la implementaci´on del protocolo de rutado propuesto en este de Trabajo de Fin de Master. Para ello se supone una aplicaci´on donde la red WSN se emplea para monitorizaci´on. Por tanto, se establece que la misi´on de la red es hacer accesible por la estaci´on base (BS) las medidas tomadas de forma peri´odica por cada uno de los nodos de la red.
En las Secci´on4.2se plantea el esquema general de la implementaci´on realizada, donde se descri-ben las hip´otesis de las cuales se parte, las diferentes funcionalidades contempladas, as´ı como tambi´en los diferentes tipos de mensajes que se intercambian y los diferentes modos de funcionamiento de los nodos. En la Secci´on4.3 se detalla el proceso de rutado. Finalmente, en la Secci´on4.4 se describe el simulador desarrollado en MATLAB para la implementaci´on del protocolo. Por ´ultimo se establecen las conclusiones.
4.2
Esquema general
En el desarrollo de este trabajo, se asume que la red realiza un proceso de monitorizaci´on, el cual se quiere mantener activo durante el mayor tiempo posible. Para esto se parte de unas hip´otesis que se asumen para la red con la que se quiere trabajar:
• La red tiene s´olo una estaci´on base (BS). Todos los mensajes provenientes de todos los nodos de la red WSN tienen como destino final esa BS
• Todos los nodos de la red WSN contienen sensores, por lo que todos generan informaci´on que 29
desean transmitir a la estaci´on base.
• Todos los nodos pueden medir su nivel de bater´ıa, el cual transmitir´an peri´odicamente a la estaci´on base
• Todos los nodos tienen la capacidad de mantenerse en estado de bajo consumo de energ´ıa (dor-mido), y salir del mismo para tomar su medici´on y enviar el mensaje a la red.
• Todos los nodos de la red tienen la capacidad de despertar a otro nodo de ser necesario
• La estaci´on base conoce la ubicaci´on y las caracter´ısticas (identificadores, rango de transmisi´on, consumos de potencia) de todos los nodos que conforman la red WSN. Se asumen alcance y modelos de consumo energ´etico realistas.
El m´etodo de rutado desarrollado se implementa en una red WSN donde el enrutamiento es realizado de manera centralizada por la estaci´on base. La BS calcula de forma peri´odica las rutas de la red WSN, partir de la optimizaci´on de una funci´on objetivo J. Para esto selecciona entre un universo existente de posibles acciones a tomar en el momento en que se realiza la evaluaci´on, que consisten en activar o desactivar un nodo para el rutado. Se predice el comportamiento de la red para cada posible acci´on y se selecciona la que maximice la funci´on objetivo.
Se trabaja con un enfoque de tipo greedy, defini´endose la funci´on objetivo en funci´on del estado de la red en el siguiente instante de tiempo (o en el instante de la pr´oxima evaluaci´on). As´ı, debido a que se quieren mejorar las restricciones energ´eticas de la red, las predicciones se realizan en funci´on del consumo energ´etico que tendr´an los nodos si se toma una u otra acci´on.
Para la evaluaci´on de la red y la actualizaci´on las rutas, el m´etodo propuesto define un T eval, que consiste el intervalo entre evaluaciones consecutivas de la red. El ajuste adecuado de este par´ametro puede modificar considerablemente el comportamiento de la red. Si el valor es muy alto, transcurrir´a mucho tiempo entre una evaluaci´on y la siguiente, pudiendo descargarse alg´un nodo antes de que la BS pueda tomar la decisi´on de desactivarlo. Por otro lado, si el valor de T eval es muy peque˜no se puede sobrecargar la red con mensajes, lo cual ocasionar´ıa p´erdida de informaci´on.
4.2 Esquema general 31
1. Monitorizaci´on: Esta actividad se realiza por parte de todos los nodos de la red de manera peri´odica, de acuerdo con su tiempo de medici´on asignado, que podr´a o no ser igual al de los dem´as nodos. El sensor toma la medida de la variable que se est´a monitorizando y se genera en el nodo un mensaje que es enviado inmediatamente a la BS por la ruta establecida.
2. Rutado: Esta funcionalidad contempla varias acciones:
(a) El establecimiento de la configuraci´on inicial de las rutas, las cuales se calculan en la estaci´on base, a partir de las condiciones iniciales de la red.
(b) La actualizaci´on de rutas, que se realiza de manera peri´odica en la BS, y que establece las modificaciones a realizar en la configuraci´on de la red para que su desempe˜no sea el m´as adecuado, con miras a alargar el tiempo de vida de la misma
(c) La actualizaci´on de los estados de los nodos, donde se contempla que los nodos peri´odicamente le enviar´an informaci´on sobre su nivel de bater´ıa y estado (activo o inactivo) a la BS
4.2.1 Tipos de mensajes
El protocolo de enrutamiento trabaja en funci´on de dos tipos generales de mensajes: los de monito-rizaci´on y los de rutado. A continuaci´on se describen las estructuras de cada tipo de mensaje.
Mensajes de monitorizaci´on
Son mensajes de tipo Msj Mnt y se transmiten desde los nodos hacia la BS. Los campos de estos mensajes son el c´odigo que define el tipo de mensaje que se env´ıa, el identificador del nodo origen, el identificador del nodo destino (nodo padre) y la informaci´on asociada a la medici´on. La estructura de estos mensajes es la mostrada en la Tabla4.1.
Msj Mnt ID Origen ID Destino Medidas
Tabla 4.1: Estructura de mensajes tipo Msj Mnt
Mensajes de rutado
Para ejecutar las tareas de rutado descritas anteriormente, se utilizan cinco tipos de mensajes, cada uno con una estructura diferente. La estructura de todos los mensajes de rutado se muestran a
continuaci´on:
Msj Ri NoSec Padre ID1 Padre ID2 ... Padre IDn
Tabla 4.2: Estructura de Msj Ri
Msj Ei NoSec Estado ID1 Estado ID2 ... Estado IDn
Tabla 4.3: Estructura de Msj Ei
Msj Rn NoSec Info Nodo x Info Nodo y ... Info Nodo z
Tabla 4.4: Estructura de Msj Rn
Msj S ID Origen ID Destino Bater´ıa Estado
Tabla 4.5: Estructura de Msj S
1. Mensaje de rutas iniciales (Msj Ri): La BS env´ıa este tipo de mensajes s´olo una vez, para
establecer la configuraci´on inicial de la red; lo transmite por difusi´on a toda la red, con la informaci´on concerniente a las rutas iniciales que se establecer´an. Contiene el nodo padre asignado a cada uno de los nodos de la red. Los campos del mensaje son como se muestran en la Tabla4.2. El segundo campo indica el n´umero de secuencia, que sirve para evitar el env´ıo duplicado de paquetes, evitando as´ı bucles infinitos de reenv´ıo de mensajes en la red.
2. Mensaje de estados iniciales (Msj Ei): Inmediatamente despu´es de enviar el mensaje de tipo
Msj Ei, la BS env´ıa otro mensaje con las mismas caracter´ısticas, pero con informaci´on del estado en
el que se mantendr´a cada nodo. La estructura es la de la Tabla4.3. Esta informaci´on se env´ıa aparte, para garantizar que los nodos recibieron su informaci´on de rutado antes de que alguno pueda cambiar su modo a inactivo, evitando as´ı la p´erdida de datos.
A partir de este momento los nodos se mantendr´an en el modo de energ´ıa que les corresponda (ver Tabla3.1), de acuerdo con la informaci´on de estado recibida.
4.2 Esquema general 33
3. Mensaje de rutas nuevas (Msj Rn): Este tipo de mensajes se genera despu´es de cada evaluaci´on
que la BS realiza sobre la red, para actualizar las rutas. Tambi´en es enviado por la BS a toda la red, por medio de difusi´on, y contiene s´olo la informaci´on de actualizaci´on de rutas y estados de los nodos de la red, determinada a partir del m´etodo propuesto en el Cap´ıtulo3.
La estructura de estos mensajes se puede observar en la Tabla 4.4. El mensaje contiene la in-formaci´on actualizada para cada nodo que sufra alg´un cambio. Dentro de los campos asociados a la informaci´on de cada nodo, se tendr´an los datos de la Tabla4.6.
IDNodo Estado ID Padre
Tabla 4.6: Formato de Campo Info Nodo
4. Mensaje de estado (Msj S): Este tipo de mensajes es enviado de manera peri´odica desde cada
nodo hacia la estaci´on base, siguiendo las rutas establecidas por la misma. Contienen informaci´on relativa al estado y nivel de bater´ıa de los nodos, de manera de garantizar que la BS tenga informaci´on actualizada de los mismos en todo momento. La estructura de estos mensajes se encuentra en la Tabla
4.5. El mensaje contiene el identificador del nodo donde se origina el mensaje y el de su padre, el nivel de bater´ıa y el estado en que se encuentra el nodo al momento de enviar el mensaje.
5. Mensajes de encendido (Msj Act): Este mensaje s´olo se env´ıa a un nodo si ´este se encuentra
dor-mido. Es transmitido a trav´es de su nodo padre, con la finalidad de despertarlo para recibir informaci´on nueva de rutado. Para que el nodo que se encuentra dormido reciba estos mensajes, se han desarrollado diferentes tecnolog´ıas y esquemas [41,42,43,44,45].
4.2.2 Activaci´on de nodos
Todos los nodos de la red funcionan como sensores, y pueden estar en alguno de los siguientes modos:
• Activo: Un nodo que se encuentra en este modo funciona como sensor y como enrutador. En este
caso el nodo siempre est´a encendido, por lo que adem´as de enviar sus propios mensajes es capaz de recibir y retransmitir los mensajes enviados por otros nodos.
• Inactivo: El nodo se encuentra en modo de baja energ´ıa (modo sleep), por lo que s´olo despertar´a
para enviar los mensajes que ´el mismo genere, mientras que el resto del tiempo su radio se man-tendr´a apagada. Un nodo puede encontrarse en este estado debido a tres circunstancias posibles:
– A partir del esquema de Coste-Recompensa se decidi´o que la mejor opci´on en ese momento
era mantenerlo en ese modo.
– Al establecerse el rutado, el nodo queda en una hoja del ´arbol de rutas, por lo que ning´un
otro nodo enruta a trav´es de ´el. Debido a esto, es mejor mantenerlo en baja energ´ıa.
– Si la bater´ıa del nodo se encuentra por debajo del umbral de enrutamiento, se toma la decisi´on
de llevarlo a este modo con la intenci´on de alargar la vida del nodo
• Apagado: Esto ocurre cuando el nodo se encuentra descargado, es decir no tiene bater´ıa suficiente
para transmitir mensajes.
El modo de trabajo de cada nodo se establece a partir del c´alculo del rutado que hace la estaci´on base. As´ı, en los mensajes de tipo Msj Ri, Msj Ei y Msj Rn la BS transmite a cada nodo la informaci´on asociada a su estado y rutas.
4.3
M´etodo de rutado
En este trabajo es necesario que la estaci´on base tenga en todo momento informaci´on actualizada de los niveles de bater´ıa de los nodos, as´ı como de los estados en que se puedan encontrar en cada momento.
En un principio la BS realiza un c´alculo de rutas, por un m´etodo de m´ınimo n´umero de saltos ([40]), con la intenci´on de obtener las rutas iniciales de los mensajes. Se env´ıa entonces un primer mensaje tipo
Msj Ri por difusi´on a toda la red, con la informaci´on de los padres para cada nodo. A continuaci´on se
env´ıa un segundo mensaje tipo Msj Ei con la informaci´on sobre el modo de trabajo que asumir´a cada nodo (ver Tabla3.1), esto con la intenci´on de garantizar la llegada de toda la informaci´on de rutado antes de mandar a alg´un nodo a dormir .
La BS de manera peri´odica eval´ua, en base a la informaci´on actualizada sobre el estado de los nodos, el estado de la red, con la finalidad de actualizar las rutas de los mensajes. Para esto se eval´ua la funci´on objetivo J (ver Secci´on3.6) para el universo de acciones posibles en el instante actual. Las posibles acciones consisten en la activaci´on o desactivaci´on de un nodo para el rutado. Se simula el
4.3 M´etodo de rutado 35
comportamiento de la red durante el siguiente periodo para la acci´on posible a evaluar, y en base a los resultados obtenidos del desgaste de los nodos para ese periodo se eval´ua J. As´ı, una vez obtenidos los valores de J para todo el universo de acciones posibles, se escoge aqu´ella cuyo valor de la funci´on objetivo sea el m´as alto.
Seguidamente, la BS env´ıa por medio de difusi´on un mensaje tipo Msj Rn con las actualizaciones de estados y rutas. Este mensaje al llegar a los nodos es retransmitido una vez por cada uno de ellos a toda la red, con la intenci´on de garantizar que el mensaje llegue a todos.
4.3.1 Difusi´on de mensajes de rutas
Existen dos situaciones para la transmisi´on de los mensajes de rutas. La primera es el env´ıo de los mensajes iniciales, para lo cual se asume que todos los nodos est´an activos. La segunda consiste en el env´ıo de la informaci´on de actualizaci´on de rutas, que ocurre cada vez que la BS realiza una evaluaci´on del estado de la red.
En el primer caso, y para garantizar que todos los nodos recibir´an la informaci´on completa de rutado, primero se env´ıa el mensaje de tipo Msj Ri, donde se asignan las rutas de todos los nodos. Este mensaje se transmite por difusi´on, por lo que para evitar lazos de reenv´ıo, el mensaje lleva un campo N◦Sec. que
lo identifica. As´ı, si un nodo recibe este mensaje y la secuencia del ´ultimo mensaje de este tipo recibido por ´el es diferente, lo gestiona y retransmite a la red. Si por el contrario, la secuencia del mensaje recibido es igual que la del ´ultimo mensaje de ese tipo recibido por ´el, lo descarta sin retransmitirlo.
Una vez que los nodos tienen su informaci´on de rutado, la BS env´ıa un mensaje de tipo Msj Ei con el estado de cada nodo. Este mensaje se transmite de la misma manera que el anterior, tomando cada nodo en consideraci´on el n´umero de secuencia para retransmitir el mensaje. Al recibir esta informaci´on cada nodo empezar´a a trabajar en modo activo o inactivo, seg´un la informaci´on de estado que haya recibido.
Para el segundo caso, la BS despu´es de evaluar la red y calcular las nuevas rutas, mandar´a un mensaje de tipo Msj Rn, que contendr´a s´olo la informaci´on a actualizar, tanto de rutas como de estado de los nodos. Estos mensajes se transmiten bajo las mismas condiciones (difusi´on, n´umero de secuencia) que los ya descritos. Si un nodo que se encuentra inactivo debe actualizar su informaci´on, el nodo que actuaba
como padre antes de esta nueva actualizaci´on, enviar´a un mensaje al nodo dormido para despertarlo, de manera que pueda recibir la informaci´on. Para esto, los nodos construyen siempre que reciben mensajes de otros nodos, una tabla de vecinos, conociendo as´ı qui´enes son sus nodos hijos.
4.4
Simulador
4.4.1 Introducci´on
Para el desarrollo del protocolo se plante´o inicialmente trabajar con un simulador de redes WSN que fuera ampliamente utilizado, con el que se hubieran obtenido resultados satisfactorios en trabajos ya desarrollados. En esta b´usqueda se seleccion´o el Castalia [46]. Se trata de un simulador de redes inal´ambricas de sensores (WSN), redes inal´ambricas de ´area corporal (WBAN), y en general para redes de dispositivos integrados de baja potencia. Est´a basado en la plataforma OMNeT++ y trabaja con modelos de radio y canales inal´ambricos realistas. Las principales caracter´ısticas de Castalia son las siguientes:
• Modelos avanzados de canal, basados en datos medidos emp´ıricamente
• Modelos avanzados de radio basados en radios reales para comunicaciones de baja potencia
• Modelado extendido de sensado (ruido del dispositivo, bias y consumo de potencia)
• Sincronizaci´on del reloj de nodo, consumo de potencia del CPU
• Disponibilidad de protocolos de rutado y MAC
• Est´a dise˜nado para adaptaci´on y expansi´on
Castalia fue dise˜nado desde el principio de manera que los usuarios pudiesen implementar/importar f´acilmente sus algoritmos y protocolos en Castalia aprovechando las caracter´ısticas que provee el simulador.
En vista de las prestaciones del Castalia, inicialmente se escogi´o este simulador. Sin embargo se investig´o sobre las diferentes ´areas de aplicaci´on, y se comprob´o que no existen muchos desarrollos por parte de los usuarios de Castalia en el ´area de enrutamiento, por lo que muchas funciones no est´an depuradas. Los mayores esfuerzos se han hecho en las capas de aplicaci´on y red. Se consultaron algunos
4.4 Simulador 37
expertos en Castalia, que confirmaron lo expuesto.
Se investig´o sobre posibles desarrollos en MATLAB, y se encontraron algunos avances en este ´ambito, entre los cuales se pueden mencionar los simuladores RMASE y PROWLER [47,48], y algunos desarrollos en Simulink [49]. Se decidi´o realizar la programaci´on del m´etodo propuesto en MATLAB. Para evaluar el protocolo de manera correcta se tuvo que dise˜nar una plataforma que simulara la comuni-caci´on entre los distintos nodos de la red, as´ı como el intercambio de mensajes entre ellos, y el desgaste energ´etico asociado al funcionamiento de los nodos. En las siguientes secciones se describen brevemente los componentes principales de la plataforma de simulaci´on implementada.
4.4.2 Esquema del simulador
El programa que simula el funcionamiento de la red se puede dividir en un conjunto de procedi-mientos que se realizan de manera secuencial, dentro de un ciclo que simula los pasos a realizar en cada instante de simulaci´on. B´asicamente consta de tres etapas: la primera consiste en la configuraci´on inicial de la red, la segunda es la simulaci´on de las funciones que implementa cada uno de los nodos de la red WSN, con las mediciones, env´ıo y recepci´on de datos, actualizaci´on de rutas, etc., y por ´ultimo el c´alculo estad´ıstico. En la Figura4.1se muestra un esquema general de la plataforma de simulaci´on desarrollada. Los diferentes pasos dentro de las etapas mencionadas se describen con m´as detalle a continuaci´on: 1. Configuraci´on inicial de la red: Inicialmente se establece la configuraci´on de la red, que incluye
el establecimiento de la posici´on de los nodos, el tipo de nodos a utilizar (en este trabajo se usaron nodos TelosB), lo cual establece los consumos energ´eticos asociados a la transmisi´on, recepci´on, medici´on y modo de bajo consumo (sleep), as´ı como del alcance m´aximo de transmisi´on, los tiem-pos asociados a la medici´on, gesti´on y transmisi´on del mensaje. Tambi´en se definen los contadores que se usar´an posteriormente para el c´alculo de estad´ısticas relacionadas con el funcionamiento de la red. Dentro de este paso se realiza el intercambio inicial de mensajes entre la estaci´on base y los nodos, donde se establece el enrutamiento inicial a seguir.
2. Medici´on: Se asume que todos los nodos pueden tener intervalos diferentes para realizar sus mediciones. En este sentido, la subrutina que contempla la medici´on incluye un contador por nodo, que determina en qu´e instante de simulaci´on (Tsim) se toma la medida de ese nodo. Cada
contador aumenta su valor en ”1” en cada Tsimtranscurrido. Cuando el contador de un nodo llega
Fin Inicio
C o n fig u ra c i
ón inicial de la red WSN
Toma medida y enví
a mensaje R e c e p ci ón y retransmisión de mensajes R e c e p c i ón de mensajes p o r la B S G e st i ón de energí a de nodos Evaluación y actualización de rutas Estadí sticas t = t + 1 t = Teval A c tiv a sí sí sí no no
Figura 4.1: Esquema del Simulador programado en MATLAB
contador. En este momento se genera el mensaje que enviar´a el nodo, como se describi´o en las secciones anteriores de este cap´ıtulo, para lo cual se calcula el desgaste de la bater´ıa del nodo luego de realizar la medici´on.
4.4 Simulador 39
pasado el proceso de medici´on, cada nodo revisa el canal buscando alg´un mensaje para ´el. De haber alguno, el nodo recibe el mensaje, lo gestiona y lo retransmite a su nodo padre. Esto desde el punto de vista de la programaci´on representa un nuevo mensaje a colocar en la tabla, que es el mismo anterior pero con el tiempo de reenv´ıo, los nodos origen y destino actualizados. Este proceso se repite siempre que haya mensajes en la tabla cuyo destino final sea diferente a la estaci´on base. En este proceso cada nodo adem´as construye una Tabla de Vecinos, formada por los nodos de quienes ´el recibe mensajes, es decir, por sus nodos hijos.
4. Recepci´on de datos por la estaci´on base: La BS revisa el canal en busca de mensajes que est´en dirigidos a ella. Recibe estos mensajes y los almacena en una tabla de Mensajes Recibidos. 5. Gesti´on de energ´ıa de nodos: Luego de la medici´on, transmisi´on y reenv´ıo de mensajes, se
calcula el desgaste energ´etico de cada nodo al final de cada Tsim. Para esto se toma en cuenta que
puede haber dos tipos de nodos, los que s´olo miden y transmiten sus mensajes, y los que adem´as enrutan los mensajes provenientes de otros nodos. En el conjunto de Ec. (4.1) se observan las definiciones de los tiempos y desgastes energ´eticos,para los nodos en modo inactivo (Estados 0, 2 y 3), y los nodos activos (Estado 1).
T idleN odo0,2,3 = Tsim
−tmed−tT x
ConsumoN odo0,2,3 = TsimPcpu+ tmedPM + tT x
∗PT x+ T idlePsleep (4.1)
T idleN odo0,2,3 = Tsim
−tmed−tT x
ConsumoN odo1 = TsimPcpu+ tmedPM + tT xPT x+ T idlePRx
T idle representa el tiempo ocioso para cada nodo, tmedes el tiempo que tarda un nodo en realizar
la medici´on, tT xes el tiempo que emplea cada nodo en transmitir su propio mensaje y retransmitir
los mensajes provenientes de otros nodos. Las potencias son Pcpu (potencia del procesador del
nodo), PM (potencia de medici´on), PT x (potencia de transmisi´on), Psleep(potencia del nodo en
modo ahorro de energ´ıa) y PRx(potencia de recepci´on). En este paso tambi´en se eval´ua si un nodo
est´a por debajo del umbral de desconexi´on, que garantiza la transmisi´on de sus mensajes, entonces su Estado se cambia a ”-1”, y se recalculan las rutas, excluyendo al nodo, ya que se asume que no ser´a capaz de seguir enviando sus mensajes.
6. Evaluaci´on y actualizaci´on de rutas: Esta fase se realiza de manera peri´odica, con un periodo igual a Teval. La BS realiza una evaluaci´on del estado de la red siguiendo los pasos descritos en
la secci´on4.3. Para esto, se busca en la tabla de Mensajes Recibidos de tipo Msj Edo el ´ultimo mensaje proveniente de cada nodo, ya que es el que contiene el valor m´as actualizado de su nivel de Bater´ıa. En base a este dato, y al del Estado del nodo, se realiza la evaluaci´on. Una vez obtenidas las nuevas rutas,la BS env´ıa los mensajes de actualizaci´on, con la nueva informaci´on del estado y nodos padre de cada nodo. En esta etapa y antes de realizar la evaluaci´on de la red, se verifica si alg´un nodo est´a por debajo del umbral de enrutamiento, si es as´ı se coloca su Estado en ”3” y se le niega al nodo de manera definitiva la posibilidad de trabajar como enrutador, con la idea de alargar su tiempo de vida.
7. Datos para estad´ısticas: Existen varios par´ametros que se almacenan en ficheros durante la si-mulaci´on, con la intenci´on de al final de la misma poder sacar estad´ısticas asociadas al funcio-namiento del m´etodo. Entre estos par´ametros se pueden mencionar: Node mensajes generados, Node mensajes perdidos,% Mensajes recibidos por el sink, retardo promedio de los mensajes, No nodos activos en funci´on del tiempo, entre otros. Las gr´aficas asociadas a estas estad´ısticas se generan una vez terminada la simulaci´on.
El simulador adem´as permite configurar otros par´ametros al momento de definir la red, como son el tipo de nodos con el que se quiere trabajar, sus modelos energ´eticos (potencias de transmisi´on, recepci´on, etc.), as´ı como tambi´en par´ametros asociados al medio de transmisi´on radioel´ectrico tales como el PRR. Igualmente permite modificar los niveles de bater´ıa de los nodos, la configuraci´on de la red se puede establecer a partir de un fichero de texto, o incluso de manera aleatoria desde el mismo simulador.
4.4.3 Simulador del medio radioel´ectrico
En este simulador el espacio radioel´ectrico se simula mediante un espacio de memoria, en la cual se van introduciendo los mensajes en el orden en que se van generando. Los mensajes introducidos en dicha tabla, adem´as de tener la informaci´on correspondiente a cada tipo de mensajes definido en la Secci´on4.2.1, tienen la informaci´on necesaria para gestionar el env´ıo, recepci´on y duraci´on del mensaje en el espacio radioel´ectrico. Esta informaci´on corresponde al tiempo en que se transmiti´o por ´ultima vez (reenv´ıo) y al nodo del cual se reenv´ıa el mensaje.
Durante el proceso de recolecci´on de datos los nodos revisan la tabla para ver si hay alg´un mensaje para ellos. El tiempo descrito arriba se utiliza para conocer el tiempo de vida del mensaje en el canal.
4.4 Simulador 41
Siempre que un nodo revisa la tabla y encuentra un mensaje para ´el, antes de gestionar la recepci´on primero se verifica si el mensaje a´un se encuentra en el canal, es decir si la diferencia entre el tiempo actual y el tiempo en que se reenvi´o por ´ultima vez es menor que el tiempo de vida del mensaje en el canal. Si es as´ı, entonces se gestiona la recepci´on del mensaje a trav´es del PRR (ver Ec. (4.2)). Para esto se necesita conocer el nodo del cual se reenv´ıa el mensaje, con la intenci´on de determinar la distancia existente entre el nodo que recibe y el que transmite. En base a esta informaci´on se simula la recepci´on de este mensaje a partir de la funci´on PRR, definida de la siguiente manera:
P RR(d) = 1 si d ≤ d1 m(d − d2) si d1 < d ≤ d2 0 si d > d2 (4.2)
donde d es la distancia entre el nodo transmisor y el receptor del mensaje, mientras que d1, d2 y m son
par´ametros de la curva de PRR, que se definen dependiendo del tipo de radio con el que se trabaje. Un ejemplo de curva de PRR se muestra en la siguiente Figura:
d1 d2
d PRR
PRR(d) = m(d-d2)
Figura 4.2: Curva t´ıpica de PRR
Siempre que se simula la recepci´on de un mensaje, se eval´ua el valor del PRR, y se genera un n´umero aleatorio p, cuyo rango ser´a [0,1], de manera que si se cumple que p ≤ P RR(d) el mensaje es recibido satisfactoriamente por el nodo, de los contrario ocurre un error en la transmisi´on y el mensaje se pierde. Si el mensaje es satisfactoriamente recibido por el nodo, ´este lo gestiona y lo retransmite a su nodo padre.
4.5
Conclusiones
En este cap´ıtulo se present´o la implementaci´on del m´etodo propuesto en este trabajo. Se detallaron las funcionalidades contempladas en el m´etodo, as´ı como los tipos de mensajes que se intercambian entre la estaci´on base y los nodos de la red. Tambi´en se present´o la manera en que la BS realiza la evaluaci´on, c´alculo y actualizaci´on de rutas. Por ´ultimo se realiz´o una breve descripci´on del simulador implementado en MATLAB para evaluar el m´etodo, describi´endose las diferentes etapas y prestaciones del mismo. Adem´as se describi´o la simulaci´on del espacio radioel´ectrico. En el cap´ıtulo siguiente se presentan las simulaciones realizadas y los resultados obtenidos, para validar el m´etodo propuesto.