10.2 Integraci´ on del sistema difuso en el receptor de IEEE802.11a/g/p
10.2.2 Implementaci´ on en GNURadio
El flujograma implementado para comprobar el funcionamiento del sistema de inferencia difuso para la modificaci´on del umbral de procesamiento se expone en la figura 10-9. En el flujograma se puede observar como el bloque WiFi Threshold Generator ha sido incluido y asignado con la tarea de establecer el umbral utilizada en la capa f´ısica para recepci´on. N´otese de igual manera, que los bloques correspondientes a la capa f´ısica y subcapa MAC, son lo que se modificaron para el gateway. El flujo seguido por la se˜nal hasta modificar un valor del threshold es: 1) la se˜nal es capturada por el bloqueUSRP Source. Esta, en formato complejo, viaja hacia la capa f´ısica, donde se encuentra el bloque WiFi Sync Short, para hacer todo el proceso de reconocimiento de trama y alineaci´on de s´ımbolos. 2) Dentro de la capa f´ısica,
90 10 Experimentos y resultados
dos de los bloques utilizados en el c´alculo de la autocorrelaci´on, son usados para calcular la potencia media que se transporta inmediatamente al bloque WiFi threshold Generator, sin embargo, este bloque no actualiza su valor interno, hasta que no llegue un mensaje. 3) A continuaci´on, la capa f´ısica entrega el mensaje recibido a la MAC, donde por medio del bloque
WiFi Parse MAC se genera el FER y posteriormente, a trav´es del bloque WiFi Message Handler, se desempaqueta el SNR, ambas medidas son entregadas el bloque WiFi threshold Generator. 4) A partir de las tres entradas y el par´ametro global de la ganancia de recepci´on normalizada, se decide un nuevo valor de threshold, que es transportado hacia la capa f´ısica, donde se ingresa por una entrada al bloqueWiFi Syn Short y este, actualiza su valor. De esta manera, cada vez que arriba un mensaje se reconfigura el valor del threshold, adem´as, como se mencion´o en la etapa de dise˜no, si debido a un valor muy alto del threshold, no es posible permitir el paso de una trama para conocer las nuevas condiciones del ambiente, puesto que los valores de SNR, FER y potencia media solo se actualizan con una nueva trama, se a˜nade una excepci´on, adecuadamente restringida, para permitir el paso de una trama que permita re-evaluar el valor del threshold.
Figura 10-9: Flujograma dise˜nado para implementar el cambio del umbral de procesamiento
en recepci´on de IEEE802.11a/g/p.
Ahora, teniendo en cuenta la limitada cantidad de recursos de los que se puede disponer, de- bido a la exigencia de la frecuencia de muestreo para la implementaci`on de IEEE802.11a/g/p, el coste computacional de la inclusi´on del bloque WiFi Threshold Generator se expone y se
10.2 Integraci´on del sistema difuso en el receptor de IEEE802.11a/g/p 91
analiza a continuaci´on.
Todas las operaciones se realizan para las variables tipo Numpy, float 32. El modelo ma- tem´atico se simplific´o uniendo operaciones por medio de ciclos for, sin afectar el resultado. Las operaciones con el mayor coste computacional est´an relacionadas con la definici´on para el universo del threshold. El n´umero de puntos de este universo, α, es configurable a trav´es de la relaci´on propuesta en (10-1). α=round 0.745−0.45 s0 + 1 (10-1)
Donde s0 es el paso requerido en los valores del universo.
Al inicio de la aplicaci´on, cuando GNU Radio est´a compilando el flujograma y lanzando la interfaz gr´afica, se ejecutan las declaraciones incluidas en la cabecera del archivo python. Estas variables representan un coste computacional fijo en el sistema de memoria, en este caso la RAM, a trav´es de la implementaci´on. Se presentan en la tabla 10-3. Como se puede observar, s´olo se incluyen los par´ametros de las funciones de pertenencia, en lugar de declarar los universos de entrada y las expresiones matem´aticas (que representan una mayor cantidad de memoria). Adem´as, como se ha indicado, el universo del threshold se puede modificar en funci´on de los recursos disponibles.
Tabla 10-3: Variables inicializadas en el inicio de la aplicaci´on
Asignaci´on Variable Cantidad
Universo del threshold Vector Float32 de α posiciones 1 Funciones de pertenencia
de entrada
Vector Mk de 17 posiciones 1
VectorDk de 17 posiciones 1
Por otro lado, durante la implementaci´on, se realiza un conjunto de operaciones, como se muestra en la tabla 10-4 . Como se puede observar, las operaciones son muy simples, de hecho la m´as compleja es un exponente de Euler, y, s´olo se ejecutan cuando llega una trama. As´ı, por ejemplo, si se reciben 1000 tramas por segundo, lo cual es una gran cantidad, se ejecutar´a una cantidad de operaciones de 51000 + 3000α. En el valor implementadoα= 256, se ejecutar´ıan 819000 operaciones, que comparadas con la ejecuci´on de un bloque simple en el flujograma, como la multiplicaci´on, que ejecuta un n´umero de operaciones igual a la frecuencia de muestreo (5, 10 o 20 MHz), es muy baja. Adem´as, si se requiere que la cantidad sea menor, un valor de α= 31 es suficiente para obtener valores para el threshold con d´ıgitos de precisi´on decimal, por lo que se ejecutar´ıan 144.000 operaciones.
92 10 Experimentos y resultados
Tabla 10-4: Operaciones realizadas para generar un valor del threshold
Elemento del sistema difuso Operaci´on Cantidad
Fuzificador
Exponenciaci´on con base Euler 12 Multiplicaci´on 12
Suma 12
Divisi´on 12 Sistema de inferencia M´ınimo α
M´aximo α
Defuzificador
Multiplicaci´on de dos elementos α
Suma de α elementos 2 Divisi´on 2
Total 51+3α
Con un an´alisis de los resultados de la implementaci´on del bloque y el flujograma utili- zado, resta evaluar el dise˜no del sistema de inferencia difuso. El flujograma del receptor IEEE802.11a/g/p se implementa sobre una USRP B210 y, por otro lado, con un flujograma similar al expuesto en la caracterizaci´on de las entradas, se ejecuta un transmisor en un se- gundo USRP, en este caso la N210. Por lo tanto, las tramas IEEE802.11 se env´ıan de un lado a otro, a trav´es de diferentes canales y bajo una gran cantidad de condiciones de ambiente diferentes. Los resultados se exponen y analizan a continuaci´on, se˜nalando la importancia de utilizar todo el intervalo efectivo del threshold en la reconfiguraci´on en tiempo real.
Como se ha enfatizado a trav´es del documento, el uso del intervalo efectivo del threshold es un asunto esencial en la implementaci´on. La figura 10-10 expone el ajuste del threshold generado por el bloque WiFi Threshold Generator cuando se var´ıan las variables SNR, potencia media y recepci´on normalizada. Los valores m´ınimos y m´aximos alcanzados son 0,4757 y 0,7375 respectivamente. Adem´as, a pesar de los valores muy bajos introducidos para el SNR y la ganancia, la capa f´ısica no pierde tramas debido a la configuraci´on del threshold, por lo que se considera un ´exito la inclusi´on del sistema difuso.
10.2 Integraci´on del sistema difuso en el receptor de IEEE802.11a/g/p 93
Figura 10-10: Modificaci´on del threshold para las pruebas realizadas con la implementaci´on
del sistema de inferencia difuso.
Adem´as de verificar el uso del intervalo efectivo del threshold, es necesario comprobar que la relaci´on entre las entradas del sistema de inferencia difuso y el umbral se ajuste a las reglas dise˜nadas. Para llevar a cabo el an´alisis, se lanzan varios experimentos para proponer hasta 100 escenarios de implementaci´on a trav´es de la variaci´on de los par´ametros caracter´ısticos relacionados, como se realiz´o para la caracterizaci´on de las entradas. De esta manera, para la evaluaci´on de cada entrada, se procura no modificar las dem´as, aunque, por supuesto, var´ıan en un peque˜no intervalo debido a las variaciones en las condiciones del medio de transmisi´on.
Los resultados para el SNR son expuestos en la figura10-11, donde los tres conjuntos difusos se pueden distinguir f´acilmente. Como se puede observar, esta variable es la ´unica que mueve el threshold en casi el universo. Adem´as, pone una gran cantidad de puntos en el intervalo [0.52.0.6], donde no hay un conjunto difuso para el threshold. Esto sucede porque diferentes reglas apuntan a diferentes conjuntos difusos de la salida, por lo tanto, cuando se ejecuta el defuzificador, las reglas que cambian su funci´on de pertenencia en funci´on del valor SNR, se mueven y aparecen estos valores.
94 10 Experimentos y resultados
Figura 10-11: Modificaci´on del threshold al variar ´unicamente el SNR: Las dem´as entradas
se establecen en valores iniciales alrededor de 0.75 para la ganancia norma- lizada y -55dB para la potencia media.
Para el caso de la potencia media, cuyos resultados son expuestos en la figura 10-12 , los conjuntos difusos ”Media 2 .Alta”se mezclan aislando a ”Baja”. Lo anterio sucede porque es
muy dif´ıcil obtener valores para la potencia media en el intervalo [-50, -40] dB, hecho que se analiza en el dise˜no del sistema difuso. Es importante agregar que esta variable cambia el threshold en un intervalo menor que el SNR. En este caso, el intervalo es [0.68.0.73] porque el SNR es alrededor de 20dB y la ganancia 0.75, si esos valores son modificados, el intervalo va a ser movido, por ejemplo, para un SNR alrededor de 10dB y la ganancia en 0.6, se establecer´ıa el Valor del threshold, al variar la potencia media, en la parte inferior del universo del threshold.
Figura 10-12: Modificaci´on del threshold al variar ´unicamente la potencia media que per-
cibe el transmisor: Las dem´as entradas se establecen en valores iniciales al- rededor de 20dB para el SNR y 0.75 para la ganancia normalizada.