Está en la página 1de 8

Adquisición de datos para el posicionamiento

basado en Wifi
Rubén Pérez, Nixon Jaramillo
Departamento de Eléctrica y Electrónica, Universidad de las Fuerzas Armadas-ESPE Sangolquí,

Ecuador
rdpereze4@espe.edu.ec , njjaramillo1@espe.edu.ec

Abstract: The present article present on analysis I. INTRODUCCIÓN


measuring the intensity of the received signal (received
signal strength indication or RSSI) and the method of
`ngerprinting'. Typical parameters useful to geolocate El indicador de fuerza de la señal recibida (RSSI por las
the Wi-Fi hotspot or wireless access point include the siglas del inglés Received Signal Strength Indicator), es una
SSID and the MAC address of the access point. The escala de referencia (en relación a 1 mW) para medir el
accuracy depends on the number of positions that have nivel de potencia de las señales recibidas por un dispositivo
been entered into the database. The Wi-Fi hotspot
en las redes inalámbricas (típicamente WIFI o telefonía
database gets lled by correlating mobile device GPS
location data with Wi-Fi hotspot MAC addresses. The móvil). La escala tiene al valor 0 (cero) como centro;
possible signal fluctuations that may occur can increase representa 0 RSSI, o 0 dBm. Aunque teóricamente puede
errors and inaccuracies in the path of the user. The darse el caso de medirse valores positivos, generalmente la
analysis focuses on the collection of this information or escala se expresa dentro de valores negativos; cuanto más
the data clips provided, so that all the information can negativo, mayor pérdida de señal.
be accessed through graphs and tables that present a
El RSSI indica intensidad recibida, no calidad de señal, ya
statistical analysis that shows: the set of electrodes, the
mean and the standard deviation of one of the people que esta última se determina contrastando la intensidad de la
analyzed. All these graphs and tables are based on señal respecto de la relación señal/ruido (Eb/No).
Matlab mathematical software that allows you to read
data clips, and manipulate them to obtain results.
Punto de acceso: Un punto de acceso es un dispositivo que
Keywords: Wi-Fi, Constelación, RSSI, Access Point.
crea una red de área local inalámbrica (WLAN),
normalmente en una oficina o un edificio de grandes
Resumen: El presente artículo tiene como objetivo analizar
dimensiones. Un punto de acceso se conecta a un router,
una serie de datos expuestos, que son el resultado de un
switch o hub por un cable Ethernet y proyecta una señal Wi-
estudio de la medición de la intensidad de la señal recibida
Fi en un área designada. Por ejemplo, si desea habilitar el
(indicación de la intensidad de la señal recibida o RSSI) y el
acceso Wi-Fi en la zona del vestíbulo de su empresa, pero
método de "impresión". La precisión depende del número
de posiciones que se han introducido en la base de datos. La no tiene un router que pueda cubrirla puede instalar un
base de datos de puntos de acceso público Wi-Fi se activa punto de acceso cerca de la recepción y conectarlo con un
mediante la correlación de los datos de localización GPS de cable por el techo a la sala del servidor.
los dispositivos móviles. con direcciones MAC de puntos Un uso típico corporativo involucra unir varios puntos de
de acceso Wi-Fi. La señal presenta posibles fluctuaciones acceso a una red cableada y luego brindar acceso
que pueden ocurrir puede aumentar los errores e inalámbrico a la LAN de la oficina.
imprecisiones en la trayectoria del usuario para minimizar Los puntos de acceso inalámbricos son gestionados por un
oscilaciones en él. Cuando se recibe la señal, hay ciertas controlador de WLAN que se ocupa de los ajustes
técnicas que se pueden aplicar para filtrar el ruido. El automáticos a la potencia de RF, los canales, la
análisis se centra en recopilar dicha información o clips de autenticación y seguridad.
datos proporcionados, de forma que se pueda expresar toda
esta información mediante gráficos y tablas presentando así
un análisis estadístico que muestre: el conjunto de electrodos,
la media y la desviación estándar de una de las personas
analizadas. Todos estos gráficos y tablas se reemplazarán en
base de un software matemático Matlab el cual permitirá leer
los clips de datos, y poder manipularlos para la obtención de
resultados.
Los datos fueron tomados en un intervalo de 20 minutos por
II. RECOLECCION DE DATOS zona, cada minuto ubicándose en la zona central para
garantizar que se están obteniendo los datos precisos.
El principal problema consiste en determinar un punto
adecuado de las zonas para poder determinar valores
precisos entre clips de datos de 1 minuto de duración que
cubren 20 valores en una zona de 6 x 6 metros divididas en
porciones de 2x2, 3x3 4x4.

Los clips de datos son obtenidos a través de la aplicación


Wi-Fi Analyzer, se organizan en un archivo Excel que
contienen datos de los decibelios de cuatro redes Wi-Fi,
como son BARCELONA, fernando, Tvcable_Suite01.

Ilustración 3. Zona delimitada de 3x3

III. PROCEDIMIENTO

Una vez que se realizaron las respectivas mediciones, se


procedió a almacenar los datos en Excel para luego ser
analizados en Matlab 2017a.

Ilustración 1. Aplicación Wifi Analyzer Matlab: Es una herramienta de software matemático


que ofrece un entorno de desarrollo integrado (IDE)
Posteriormente los datos son analizados y procesados en con un lenguaje de programación propio (lenguaje
Matlab de la siguiente forma: M).

Area1=xlsread('Matriz2x2.xlsx','B8:E27');
Area2=xlsread('Matriz2x2.xlsx','J8:M27'); Entre sus prestaciones básicas se hallan: la manipulación de
Area3=xlsread('Matriz2x2.xlsx','B31:E50') matrices, la representación de datos y funciones, gráficas de
alto nivel, la implementación de algoritmos, la creación de
 xlsread: Lee datos de una región interfaces de usuario (GUI) y la comunicación con
rectangular específica de la hoja de programas en otros lenguajes y con otros dispositivos
trabajo predeterminada ( Sheet1). hardware.
Especifique el rango de la sintaxis
'B8:E27', donde B8 y E27 son dos
esquinas opuestas que definen la región a
leer
 abs: devuelve el valor absoluto de cada
elemento en la matriz X.

Ilustración 4 Logo del software


matemático MATLAB

Dentro de éste apartado se graficarán varias secuencias de


datos para obtener los diagramas de constelaciones de las
diversas zonas establecidas. Los diagramas de
constelaciones son un método de representación en el plano
complejo de los estados de símbolo en términos de amplitud
Ilustración 2. área donde se realizó la toma de datos y fase en los esquemas de modulación digital

Los datos analizados se obtienen cubriendo una zona de 6x6 A partir de lo anterior entablamos las principales funciones
metros, en una área despejada. que nos ayudaran al ploteo de las gráficas de los datos, de
las medias y las desviaciones estándar de cada uno de las
redes analizadas.
La modulación PSK se caracteriza porque la fase de la señal paciente (1 y 2 respectivamente). Para ello
portadora representa cada símbolo de información de la señal necesitamos compilar el código de MATLAB
moduladora, con un valor angular que el modulador elige respectivo que nos proporcionará dichos resultados el
entre un conjunto discreto de "n" valores posibles. La cual se detalla a continuación, recalcaremos que el
modulación PSK también se denomina “por desplazamiento” código es repetitivo para cada uno de los pacientes.
debido a los saltos bruscos que la moduladora digital provoca
en los correspondientes parámetros de la portadora. Un
Código de MATLAB a
modulador PSK representa directamente la información
mediante el valor absoluto de la fase de la señal modulada,
compilar: Constelación:
valor que el demodulador obtiene al comparar la fase de esta
con la fase de la portadora sin modular.
function constelacion6x6
Area1=xlsread('Datos6x6.xlsx','B8:E27');
Establecimiento de la zona para realizar las mediciones: %------------------Area 1---------------
x11=abs(Area1(:,2));
Como ya entendimos nuestro propósito será el analizar los media1=mean(x11);
datos de las redes Wifi correspondientes a una zona muy x12=abs(Area1(:,3));
concurrida, urbanizada por lo que presentaremos las gráficas media2=mean(x12);
originales, así como también las gráficas de la media y x13=abs(Area1(:,4));
media3=mean(x13);
desviación estándar para cada división de la zona total de 6x6
%Colocacion del Eje central
metros.
%--------Media----------------
media=(media1+media2+media3)/3;
hold on
med1=maxmin(84,57,media);
[xmed1,ymed1]=circpunt(med1);
%-----Desviacion Estandar-----
des1=maxmin(84,57,abs(Area1))
desv1=std(std(des1))
[xdev1,ydev1]=circ(desv1+med1);
plot(xdev1,ydev1)
plot(xmed1,ymed1,'*')
plot(0,0,'x')
%--------Puntos-----------
for i=1:20
xp1(i)=maxmin(84,57,x11(i));
xp2(i)=maxmin(84,57,x12(i));
xp3(i)=maxmin(84,57,x13(i));
Ilustración 5. Delimitación de la Zona, Urbanizacion “La Colina” [xp11(i),yp11(i)]=circpunt(xp1(i));
[xp12(i),yp12(i)]=circpunt(xp2(i));
[xp13(i),yp13(i)]=circpunt(xp3(i));
end
plot(xp11,yp11,'ro')
plot(xp12,yp12,'bo')
Posteriormente se procesan los datos empleando Matlab para plot(xp13,yp13,'yo')
realizar una representación de un esquema de modulación end
digital en el plano complejo ¨Diagrama de Constelaciones¨.
Indicadores de las 3 redes analizadas

Ilustración 6. Diagrama de constelación


Interpretación del diagrama de Constelaciones Se obtienen los puntos para poder realizar el diagrama de
constelaciones
Al recibir la señal, se examina la tabla de los valores
recopilada durante los 20 minutos, las cuales se separa en for i=1:20
vectores cada una de sus señales, en específico hablando de xp1(i)=maxmin(90,72,x11(i));
BARCELONA, fernando y TvCable_Suite01 las cuales se xp2(i)=maxmin(90,72,x12(i));
aprovecha obteniendo la media de cada una de esas redes, xp3(i)=maxmin(90,72,x13(i));
donde después se obtiene la media total de toda la cuadricula, [xp11(i),yp11(i)]=circpunt(xp1(i));
se debe recalcar que los valores de DBM obtenidos se planteó [xp12(i),yp12(i)]=circpunt(xp2(i));
una ecuación donde tales valores podrían estar variando de 0 [xp13(i),yp13(i)]=circpunt(xp3(i));
a 1, se realizó tal acción por facilidad a la hora de graficar, end
donde se coloca los puntos obtenidos de las señales, la plot(xp11-1,yp11+1,'r.')
circunferencia muestra la desviación estándar donde indica el plot(xp12-1,yp12+1,'b.')
nivel de fiabilidad que tenga la red Wifi. Estos fueron los plot(xp13-1,yp13+1,'y.')
parámetros y pasos para obtener el diagrama de constelación.
La función maxmin presenta el siguiente código:

Constelación de los datos obtenidos en zonas de 3x3 function y=maxmin(max,min,x)


en dos dimensiones pen=(1-0)/(max-min);
b=1-pen*max;
y=pen*x+b;
end

Se crea una circunferencia(se obtiene puntos de la


circunferencia)
function [x1,y1]=circpunt(r)
% Donde:
% r : radio del círculo
t=linspace(0,2*pi,100);
x=r*cos(t);
y=r*sin(t);
%hold on
%plot(x,y,'linewidth',0.5);
t1=randi([1 100]);
x1=x(t1);
y1=y(t1);
Ilustración 7. Diagrama de Constelación zona 3x3
end
Se crea una circunferencia(se obtiene todos los
Se genera un código para establecer la media en cada puntos para la desviación estándar)
una de las zonas de 2x2 function [x,y]=circ(r)
t=linspace(0,2*pi,100);
x=r*cos(t);
x11=abs(Area1(:,2));
y=r*sin(t);
media1=mean(x11);
end
x12=abs(Area1(:,3));
media2=mean(x12);
x13=abs(Area1(:,4)); Explicación del código
media3=mean(x13);
%Colocacion del Eje central El proceso para obtener tales gráficas es el mismo que se
%--------Media---------------- explicó para obtener las constelaciones, cabe recalcar que
media=(media1+media2+media3)/3; hay dos funciones de circunferencia, donde uno retorna una
hold on posición de la circunferencia, la cual sirve para colocar los
med1=maxmin(90,72,media); puntos del diagrama, mientras que la siguiente función lo
[xmed1,ymed1]=circpunt(med1); que hace es retornar todos los puntos de la circunferencia,
esto sirve para graficar la desviación estándar.
Obtenemos la desviación estándar

des1=maxmin(90,72,abs(Area1))
desv1=std(std(des1))
[xdev1,ydev1]=circ(desv1+med1);
plot(xdev1-1,ydev1+1)
plot(xmed1-1,ymed1+1,'*')
plot(-1,1,'x')
Constelación de los datos obtenidos en zonas de end
2x2 en 3 dimensiones plot(xa11,ya11+2,'r.')
plot(xa12,ya12+2,'b.')
plot(xa13,ya13+2,'y.')
Diagrama de Constelación de los datos
Obtenidos en zonas de 2x2 en 2d

Ilustración 8. Diagrama de Constelación zona 3x3

Obtención de la desviación estándar

des1=maxmin(90,72,abs(Area1))
desv1=std(std(des1))
[xdev1,ydev1,zdev1]=esft(desv1+med1);
plot3(xdev1-1,ydev1+1,zdev1,'k:') Constelación de los datos obtenidos en zonas de 2x2
hold on en 3 dimensiones
plot3(xmed1-1,ymed1+1,zmed1,'*')
plot3(-1,1,0,'x')

Se obtienen los puntos para poder realizar el


diagrama de constelaciones

for i=1:20
xp1(i)=maxmin(90,72,x11(i));
xp2(i)=maxmin(90,72,x12(i));
xp3(i)=maxmin(90,72,x13(i));
[xp11(i),yp11(i),zp11(i)]=esf(xp1(i));
[xp12(i),yp12(i),zp12(i)]=esf(xp2(i));
[xp13(i),yp13(i),zp13(i)]=esf(xp3(i));
end
plot3(xp11-1,yp11+1,zp11,'r.') Ilustración 9. Diagrama de Constelación zona 2x2
plot3(xp12-1,yp12+1,zp12,'b.')
plot3(xp13-1,yp13+1,zp13,'y.') Se genera un código para establecer la media en cada una
de las zonas de 2x2
Obtenemos la desviación estándar de las zonas
3x3 x11=abs(Area1(:,2));
media1=mean(x11);
x12=abs(Area1(:,3));
media2=mean(x12);
x13=abs(Area1(:,4));
media3=mean(x13);
%Colocacion del Eje central
%--------Media----------------
media=(media1+media2+media3)/3;
hold on
med1=maxmin(84,57,media);
[xmed1,ymed1,zmed1]=esf(med1);
Se obtienen los puntos para poder realizar el
diagrama de constelaciones
Obtenemos la desviación estándar de las zonas de 2x2
for i=1:20
xa1(i)=maxmin(84,57,x21(i));
xa2(i)=maxmin(84,57,x22(i));
xa3(i)=maxmin(84,57,x23(i));
[xa11(i),ya11(i)]=circpunt(xa1(i));
[xa12(i),ya12(i)]=circpunt(xa2(i));
[xa13(i),ya13(i)]=circpunt(xa3(i));
Diagrama de Constelación de los datos
Obtenidos en zonas de 6x6 en 2d

Se obtienen los puntos para poder realizar el


diagrama de constelaciones

for i=1:20
xp1(i)=maxmin(84,57,x11(i));
xp2(i)=maxmin(84,57,x12(i));
xp3(i)=maxmin(84,57,x13(i));
[xp11(i),yp11(i),zp11(i)]=esf(xp1(i));
[xp12(i),yp12(i),zp12(i)]=esf(xp2(i));
[xp13(i),yp13(i),zp13(i)]=esf(xp3(i));
end Constelación de los datos obtenidos en zonas de 6x6 en 3
plot3(xp11-2,yp11+2,zp11,'r.') dimensiones
plot3(xp12-2,yp12+2,zp12,'b.')
plot3(xp13-2,yp13+2,zp13,'y.')

Obtenemos la desviación estándar de la zona


6x6

Ilustración 10. Diagrama de Constelación zona 6x6


Se obtienen los puntos para poder realizar el
diagrama de constelaciones Se genera un código para establecer la media en cada una
de las zonas de 6x6
for i=1:20
xp1(i)=maxmin(84,57,x11(i)); x11=abs(Area1(:,2));
xp2(i)=maxmin(84,57,x12(i)); media1=mean(x11);
xp3(i)=maxmin(84,57,x13(i)); x12=abs(Area1(:,3));
[xp11(i),yp11(i)]=circpunt(xp1(i)); media2=mean(x12);
[xp12(i),yp12(i)]=circpunt(xp2(i)); x13=abs(Area1(:,4));
[xp13(i),yp13(i)]=circpunt(xp3(i)); media3=mean(x13);
end %Colocacion del Eje central
plot(xp11,yp11,'ro') %--------Media----------------
plot(xp12,yp12,'bo') media=(media1+media2+media3)/3;
plot(xp13,yp13,'yo') hold on
end med1=maxmin(84,57,media);
[xmed1,ymed1,zmed1]=esf(med1);

Obtenemos la desviación estándar


Se obtienen los puntos para poder realizar el Grafica de las 9 zonas de 2x2m
diagrama de constelaciones

for i=1:20
xp1(i)=maxmin(84,57,x11(i));
xp2(i)=maxmin(84,57,x12(i));
xp3(i)=maxmin(84,57,x13(i));
[xp11(i),yp11(i),zp11(i)]=esf(xp1(i));
[xp12(i),yp12(i),zp12(i)]=esf(xp2(i));
[xp13(i),yp13(i),zp13(i)]=esf(xp3(i));
end
plot3(xp11,yp11,zp11,'r.')
plot3(xp12,yp12,zp12,'b.')
plot3(xp13,yp13,zp13,'y.')
end

Grafica de la zona 3x3

Explicación de la grafica
Al igual que la anterior zona de 3x3, esta muestra las
mismas variaciones, lo que difiere es n que hay mas zonas
donde las señales tienden mas a estabilizarse.

Grafica de la zona total de 6x6m

Se obtienen los puntos para poder realizar las


graficas de las 4 zonas 3x3

x11=abs(Area1(:,2))
x12=abs(Area1(:,3))
x13=abs(Area1(:,4))
subplot(2,2,1),plot(xt,x11,'r','linewidth',2);
hold on
subplot(2,2,1),plot(xt,x12,'b','linewidth',2); Se obtienen los puntos para poder realizar las graficas de la
hold on zona total de 6x6
subplot(2,2,1),plot(xt,x13,'y','linewidth',2); for i=1:20
axis([1 20 70 90]) xp1(i)=maxmin(84,57,x11(i));
xlabel('Tiempo(s)') xp2(i)=maxmin(84,57,x12(i));
ylabel('dBm') xp3(i)=maxmin(84,57,x13(i));
title('Cuadricula 1') [xp11(i),yp11(i),zp11(i)]=esf(xp1(i));
[xp12(i),yp12(i),zp12(i)]=esf(xp2(i));
Explicación de la Grafica [xp13(i),yp13(i),zp13(i)]=esf(xp3(i));
Se muestra como varia la señal de cada una de las end
redes, mostrando en que sectores es donde la señal plot3(xp11,yp11,zp11,'r.')
plot3(xp12,yp12,zp12,'b.')
tiende a ser mas estable mientras que en otras es más
plot3(xp13,yp13,zp13,'y.')
abrupta la señal end

Explicación de la Gráfica
Se logra denotar que mientras el área a medir es mas grande,
las variaciones también aumentan, como es el caso del de 6x6,
que tiene grandes variaciones, y no solo de una red sino de
todas desde el tiempo 2 al tiempo 10.
IV.CONCLUSIONES

• Los valores de las desviaciones estándar fueron


aceptables, es decir los datos del nivel de
intensidad de las redes Wifi estaba dispersos con
una diferencia pequeña, con respecto a las
diferencias observadas entre las medias.

• Los datos de los niveles de intensidad de las


Redes Wifi, presentan estados que son muy
aleatorios y resultan difíciles predecir de manera
certera.

• Mediante el análisis de las señales de este tipo,


podemos conocer sobre el comportamiento de
estas variables y aunque se obtuvieron los valores
de las medias y desviaciones estándar de cada
paciente y su respectivo estado, los datos nos
indican que los valores tienen una dispersión y
variabilidad alta.

• Matlab es una herramiento uotil y efectiva para


simular y graficar estas variables que resultan
difíciles de predecir sin un análisis por medio un
programa en Matlab.

V.REFERENCIAS

[1] KAGGLE Contest, Seizure


prediction, Obtenido de:
https://www.kaggle.com/c/melbourn
euniversity- seizure-prediction/

[2] BORJA, V, (2012), “Herramientas


computacionales para la matemática
MATLAB: Análisis de datos.”
Obtenido de:
http://www.utm.mx/~vero0304/HCP
M/33.Analisis
-datos.pdf
[3] PABÓN, H, (2010) , “Probabilidad
y estadística con Matlab para
investigadores, Curso básico”,
Obtenido de:
https://www.intranet.unicundo.ed
u.co

También podría gustarte