Вы находитесь на странице: 1из 64

 

1. DESCRIPCION DEL SISTEMA GLOBAL DE COMUNICACIONES MOVILES 
(GSM) 

En este capítulo se explicaran los conceptos básicos de la tecnología GSM, se darán a conocer los 
elementos  de  hardware  que  componen  una  red,  la  estructura  de  la  interfaz  de  radio,  el 
funcionamiento  básico  y  se  explicarán  los  indicadores  de  desempeño  más  relevantes  para 
monitorear el  comportamiento de  la red y la  implicación  que estos poseen en  la percepción  del 
usuario de la calidad del servicio. 

1.1 Elementos de la red 

1.1.1 Estación móvil: 

Esta compuesto por el terminal y una tarjeta SIM (Suscriber Identifier Module). La tarjeta SIM es 
personal  y  única  para  cada  suscriptor.  El  terminal  debe  poseer  características  similares  a  un 
teléfono  fijo  en  términos  de  calidad.  Tiene  funcionalidades  como  modulación  y  demodulación 
GMSK, codificación y decodificación de canal, debe tener generación multi‐frecuencia doble‐tono 
y  una  batería  de  larga  duración.  La  Tarjeta  SIM  es  un  microchip  operando  en  conjunto  con  una 
tarjeta de memoria, su principal función es el almacenamiento de datos del operador y el usuario. 
Las funciones más importantes de la tarjeta SIM son la autenticación, seguridad en la transmisión 
y el almacenamiento de los datos del usuario. 

1.1.2 Sistema de estaciones Base (BSS): 

El Sistema de Estaciones Base está compuesto por dos componentes: 

¾ Base Transceiver Station (BTS): Se encarga de proveer la conexión física con el terminal del 
usuario por medio de la interfaz de aire. Opera a uno o varios pares de frecuencia. 


 
 

¾ Base  Station  Controller  (BSC):  Se  encarga  de  controlar  un  grupo  de  BTSs,  entre  sus 
funciones se encuentran el control del Handover y gestión de la red de radio. 

1.1.3 Mobile Switching Center (MSC): 

El MSC se encarga de enrutar y gestionar las llamadas desde y hacia los abonados. También tiene 
como función la autenticación de los usuarios en la red. 

Figura 1. Estructura de una red GSM [10] 

1.2 Estructura de la Interfaz de Radio: 

El  estándar  GSM  está  basado  en  TDMA  sobre  múltiples  portadoras  (FDMA),  y  duplexión  en 
frecuencia. Cada portadora tiene un ancho de banda de 200 KHz, y está dividida en tramas TDMA 
de 4.615 ms. Cada trama está compuesta por ocho time slots. En la siguiente tabla se observa la 
definición de las bandas para GSM. 


 
 

Tabla 1. Bandas de frecuencia para GSM [2] 

Figura 2. Esquema de una trama GSM [2] 

Los canales se dividen en dos clases: canales lógicos y canales físicos. Cada slot de tiempo de una 
trama  TDMA  representa  un  canal  físico.  Un  canal  lógico  se  refiere  al  tipo  de  información 
transmitida  en  cada  canal  físico.  Los  canales  lógicos  se  dividen  en  dos  clases:  canales  de  tráfico 
(TCH) y canales de control (CCH). Los canales de tráfico son usados para transportar la información 
de  voz  o  datos  enviada  por  el  usuario.  Los  canales  de  control  se  encargan  de  transmitir  la 
información de señalización y control. En la siguiente tabla se puede observar los diferentes tipos 
de canales lógicos. 


 
 

Tabla 2. Canales lógicos de control. [2] 

Un canal de tráfico Full‐Rate (TCH/F) es un canal de voz o de datos que usa una codificación de 13 
Kbps,  a  una  tasa  de  transmisión  efectiva  de  9.6,  4.8  o  2.4  Kbps.  Un  canal  de  tráfico  Half‐Rate 
(TCH/H) usa codificación a 7 Kbps y tiene una tasa efectiva de transmisión de 4.8 Kbps y  2.4 Kbps. 
A cada slot de tiempo se le puede asignar un canal de tráfico Full‐Rate(TCH/F), o dos canales de 
tráfico Half Rate (TCH/F), es decir, una portadora GSM soporta 8 usuarios usando codificación Full 
Rate o 16 usuarios si se usa codificación Full Rate. 

1.3 Desempeño de la interfaz de radio 

El  sistema  GSM  implementa  funcionalidades  que  incrementan  el  desempeño  de  la  interfaz  de 
radio  ante  la  interferencia,  mejorando  así  la  calidad  de  la  voz  y  aumentando  la  capacidad  del 
sistema mediante la disminución de la sensibilidad a la interferencia. 


 
 

1.3.1 Saltos en frecuencia (Frequency Hopping) 

Frequency  Hopping (FH)  es  una  técnica  que  mejora  la  relación  señal  a  ruido (C/I) por  medio  del  
uso de múltiples portadoras de diferentes frecuencias. El principio del FH es la no correlación del 
efecto  del  desvanecimiento  en  un  punto  sobre  dos  frecuencias  distintas,  es  como  implementar 
diversidad de frecuencia, resultando en una misma calidad de comunicación con menor relación 
portadora/interferente (C/I) y portadora/ruido (C/N). [2] 

1.3.2 Transmisión discontinua (DTX) 

Consiste  en  la  reducción  de  la  información  transmitida  en  los  momentos  de  silencio  en  una 
comunicación.  Esto  se  logra  mediante  la  función  VAD  (Voice  activity  detection).  Cuando  hay  un 
periodo de silencio se envían únicamente 12 tramas en un periodo de 480 ms, cuando se detecta 
sonido se envían 100 tramas en el mismo periodo. Usando trasmisión discontinua se incrementa la 
relación señal a ruido (C/I) en un factor de aproximadamente 3 dB. 

Figura 3. Transmisión discontinua (DTX) [2] 

1.4 Indicadores de desempeño de la red GSM (KPIs) 

El  desempeño  de  una  red  celular  se  puede  determinar  usando  diferentes  “Key  performance 
indicators”  (KPIs),  los  cuales  pueden  medirse  por  medio  de  Drive  Test.  Algunos  de  estos 
indicadores son: 

1.4.1 Potencia recibida (RXLEVEL) y Relación Señal‐Interferencia (C/I) 

Estos indicadores son muy importantes ya que nos indican la cobertura o no cobertura del servicio 
en una zona específica. En condiciones típicas del medio ambiente, la relación señal a ruido de ser 
mayor a 9 dB y la potencia recibida debe ser superior a ‐104 dBm para GSM, ‐102 dBm para PCS 
1900  y  ‐100  dBm  para  DCS  1800.  [1]  El  parámetro  RXLEVEL  puede  ser  de  tipo  Full  y  Sub 


 
 

dependiendo  del  número  de  tramas  que  son  tenidas  en  cuanta  para  el  cálculo  del  nivel  de 
potencia  recibida.  El  valor  de  RXLEVEL  FULL    el  promedio  de  la  potencia  recibida  en  todas  las 
tramas en un periodo de 480 ms, y es reportado en el SACCH (Slow Associated Control Channel). 
En  este  periodo  de  tiempo  ocurren  104  tramas  TDMA,  pero  4  de  ellas  son  tramas  “Idle”  por  lo 
tanto la medición se realiza en promedio sobre 100 Tramas.  Cuando se usa la función DTX, el valor 
de RXLEVEL SUB, es calculado sobre 12 tramas, cuando hay un periodo de silencio (4 SACCH + 8 
SID). Las tramas SID (Silence Descriptor), contienen información, para crear ruido de confort en los 
receptores. Los valores de Sub deben ser mayores a los de Full. 

1.4.2.  Mean Opinion Score (MOS) 

La calidad de la voz puede ser cuantificada mediante el “Mean Opinion Score” (MOS). Los valores 
del MOS están comprendidos entre uno y cinco, siendo uno malo y cinco excelente. El  valor del 
MOS se basa en la opinión subjetiva de grupo de personas que califican la calidad de la voz que se 
escucha  en  una  comunicación.  Los  fabricantes  de  equipos  de  medición  de  calidad  de  voz  han 
desarrollado algoritmos para calificar el MOS, mediante la comparación de la señal de voz recibida 
en el terminal y la señal original. 

1.4.3 Bit Error Rate (BER) 

Es la medición de la tasa de error de bit en recepción antes del proceso de codificación. En GSM el 
BER se muestra en el RXQUAL, este parámetro tiene valores entre cero y siete. La distribución del 
RXQUAL se muestra en la tabla 3. 

Tabla 3. Valores de RXQUAL y su correspondiente BER [2]  
 


 
 

Al igual que en el RXLEVEL, el RXQUAL puede ser Full y Sub, y se calculan de la misma manera. En 
la siguiente gráfica se enseña la composición de un periodo SACCH. 
 

 
Figura 4. Ráfaga TDMA [11] 
 
Un periodo SACCH consiste en 4 multitramas, la cuales constan de 26 tramas TDMA cada una. El 
cálculo  del  RXQUAL  se  realiza  sobre  todas  las  tramas.  En  la  siguiente  gráfica  se  muestra  la 
composición  de  una  ráfaga  TDMA  cuando  la  función  DTX  está  habilitada  y  hay  un  momento  de 
silencio. 


 
 

 
Figura 5. Ráfaga TDMA, en un periodo de silencio.[11] 
 
Debido a que en una conversación humana, un gran porcentaje del tiempo son silencios, entonces 
el valor Sub es un indicador más representativo del desempeño de la red.  
 
1.4.4. Frame Erasure Rate (FER) 
Es un indicador de desempeño muy importante ya que tiene una gran correlación con la calidad de 
la voz final que percibe el usuario. GSM codifica la voz en tramas de 20 ms de duración. En cada 
trama, son añadidos 3 bit CRC (Código de redundancia cíclica). Cuando un terminal decodifica los 
260 recibidos en la trama, verifica los 3 bit CRC para los 50 bits más significativos. Si el CRC falla la 
trama es descartada. Como solo se usan 3 bit la probabilidad de detectar tramas defectuosas es 
muy baja. El FER es el porcentaje del total de tramas descartadas sobre 100 tramas recibidas. No 
se puede relacionar directamente el BER con el FER, ya que el valor del FER también depende del 
esquema de codificación de canal usado o de las técnicas de salto en frecuencia (FH).  
 
1.4.5 Tasa de llamadas caídas (DCR) 
Mide el porcentaje de conexiones perdidas, este un KPI muy importante ya que se considera que 
una llamada caída afecta generalmente muy negativamente la percepción de calidad del servicio 


 
 

del usuario final. En un drive test el DCR se calcula contando las llamadas caídas, sobre el total de 
intentos de llamadas. 
 
1.4.6 Tasa de llamadas bloqueadas (BCR) 
Como su nombre lo indica mide el índice de llamadas generadas que no logran registrarse en la 
red. Es también, un indicador muy importante en la perspectiva del usuario final. 
 
Todos los indicadores de desempeño son bastante útiles ya que muestran diferentes aspectos del 
desempeño de la red. El factor importante es entender lo que cada uno representa y la relación 
que existe entre ellos. Por ejemplo no es posible relacionar directamente el BER con la calidad del 
audio,  ya  que  está  también  depende  del  esquema  de  decodificación,  pero  el  BER  es  útil  para 
determinar  la calidad de la interfaz de aire. 

 
Figura 6. Ubicación en la cadena de recepción de los KPIs [2] 
   


 
 

 
2. CARACTERISTICAS DE LOS EQUIPOS Y PROCEDIMIENTO DE MEDICION 
 
La calidad de una red celular es determinada finalmente, por el grado de satisfacción del usuario 
de  la  red.  Drive  Test  es  una  herramienta  muy  útil  para  los  operadores  y  los  entes  reguladores, 
porque  les  permite  verificar  en  campo  la  percepción  que  el  usuario  tiene  del  servicio,    así  el 
operador podrá hacer una optimización más eficiente de la red y un ente regulador podrá verificar 
el cumplimiento de las normas de la calidad del servicio, exigidos en la legislación.  
 
2.1 Tipos de Drive Test 
Existen tres clases de Drive Test, los cuales son útiles para comprobar distintos parámetros de la 
red. 
 
2.1.1 Scanning: 
Es el Drive Test más simple y consiste en la medición del nivel de potencia de las portadoras que 
atienden una región. Este tipo de medición se utiliza para determinar las zonas donde se presenta 
interferencia  co‐canal  e  interferencia  de  canal  adyacente.  El  Scanning  se  puede  desarrollar  a 
cualquier hora del día ya que no se ve afectado por el tráfico generado por los usuarios en la zona. 
En las ciudades este tipo de medición se debe hacer cuadra a cuadra, en lo posible, con el fin de 
recolectar la mayor cantidad de muestras, que permitan hacer un análisis correcto del estado de la 
red. El equipo más utilizado para este tipo de medición es Clarify de la compañía PCTEL. 
 
2.1.2 Benchmarking 
Este tipo de medición es muy usado por los operadores, consiste en comparar el desempeño de la 
red celular de un operador con sus competidores.  Para realizar este tipo de medición se requiere 
un equipo, que cuente con un terminal para cada operador, estos se deben encontrar en igualdad 
de  condiciones,  por  lo  general  se  ubican  en  la  parte  de  atrás  del  vehículo.  Los  terminales  son 
controlados por un dispositivo que genera llamadas automáticamente hacia unas líneas fijas, las 
cuales están conectadas a un terminal que responde automáticamente, y envía una grabación de 
voz la cual es analizada y calificada por el dispositivo, y los datos son almacenados en la unidad del 

10 
 
 

disco  duro.  En  este  tipo  de  medición  también  se  capturan  los  valores  de  los  KPIs  vistos  en  el 
capítulo  uno.  El  equipo  más  usado  en  este  tipo  de  medición  es  Seven.Five  de  la  compañía 
Comarco. Está medición se debe desarrollar en horas de alto nivel de tráfico. 

 
Figura 7. Equipo para Benchmarking Seven.Five  
 
 
2.1.3 Drive Test Simple  
Consiste en la verificación de los indicadores de desempeño de la red celular. También se requiere 
un teléfono móvil que genere llamadas automáticamente a otro destino, por lo general una línea 
fija, para que los valores capturados no se vean afectados por un mal desempeño de la región de 
la  red  donde  se  encuentra  el  destinatario.  Existen  varios  equipos  para  realizar  este  tipo  de 
mediciones, entre otros están TEMS de la compañía Ericsson y Qualipoc de Swissqual. 
 
2.2 Procedimiento de toma de datos 
Las  mediciones  que  serán  analizadas  se  obtuvieron  mediante  un  Drive  Test  simple,  el  cual  se 
desarrollo  para  verificar  la  cobertura  y  la  calidad  del  servicio  en  vías  principales,  algunos  cascos 
urbanos y ciudades principales. El Drive Test se realizo en horas laborales, es decir de 8:00 de la 
mañana  a  5:00  de  la  tarde,  durante  días  hábiles  para  obtener  una  percepción  de  la  calidad  del 
servicio en horas en las que la red celular es más exigida. Se realiza únicamente un recorrido a una 
velocidad  máxima  de  50  Km/hora.  El  teléfono es  ubicado  sobre  el  panel  frontal  del  equipo  para 
que el ingeniero de Drive Test pueda verificar fácilmente el correcto funcionamiento de dispositivo 

11 
 
 

y  así  asegurarse  que  los datos  recopilados  tengan  validez.  Todos  los parámetros  capturados  son 
geográficamente referenciados  
 
2.3 Equipos de medición 
 
2.3.1 Qualipoc 
Es  un  novedoso  sistema  basado  en  un  teléfono  inteligente  para  optimización  y  medición  y 
monitoreo de la calidad del servicio. La aplicación Qualipoc es instalada en teléfonos comerciales 
que soporten el sistema operativo Symbian. Las pruebas se realizan sin la necesidad de hardware 
adicional. 
Qualipoc  soporta  varios  tipos  de  Test,  dependiendo  de  los  requerimientos  de  la  medición  para 
obtener  realmente  la  perspectiva  del  usuario  sobre  el  servicio.  Los  tipos  de  medición  que  se 
pueden desarrollar con Qualipoc son: 
 
¾ Llamada  a  cualquier  número:  este  tipo  de  medición  se  realiza  con  el  fin  de  medir  la 
accesibilidad a la red. 
¾ Pruebas de calidad de voz (MOS) 
¾ Pruebas de datos como Ping, FTP y UDP 
¾ Pruebas de navegación en portales WAP y HTTP URL 
¾ Mensajería 
¾ Video Streaming y Video llamada con calidad de video. 
 
El  equipo  usado  en  las  mediciones  es  el  nokia  N75,  el  cual  es  un  teléfono  convencional,  por  lo 
tanto se puede decir que las mediciones realizadas son comparables con la visión del usuario de la 
calidad del servicio. 

12 
 
 

 
Figura 8. Qualipoc [8] 
 
2.3.2 TEMS Investigation 
Desarrollado  por  la  empresa  Ericsson,  este  equipo  permite  el  monitorea  de  las  tecnolgías  GSM, 
Edge,  WCDM  y  HSPA.  El  equipo  básico  para  realizar  una  medición  es  el  terminal.  TEMS  soporta 
marcas  de  distintos  fabricantes,  cada  terminal  es  un  equipo  convencional  con  un  Firmware 
instalado para realizar este tipo de mediciones. Se requiere también de un computador portátil, 
que es el que se encarga de controlar el proceso de medición y el almacenamiento de los datos y 
un  GPS  (Global  Positioning  System)  para  la  georeferenciación  de  los  eventos  capturados  en  los 
recorridos.  
 
El teléfono móvil usado en las mediciones es el equipo K790 de Sony Ericsson. Este es un teléfono 
convencional,  con  las  especificaciones  técnicas  típicas  de  un  terminal  GSM  en  cuanto  a 
desempeño. 
  

 
Figura 9. Tems Investigation. [9] 

13 
 
 

 
 
Ambos  dispositivos  están  en  capacidad  de  medir  todos  las  KPI  explicados  en  el  capítulo  1,  y  las 
funcionalidades  de  ambos  son  similares,  se  diferencian  en  la  portabilidad,  la  visualización  y  la 
estabilidad de los sistemas. Todos los equipo de medición tienen como información de salida una 
base  de  datos,  geográficamente  referenciados,  con  los  valores  de  los  KPI  capturados  durante  el 
recorrido,  esta  base  de  datos  es  analizada  por  los  Ingenieros  para  encontrar  las  zonas  de  la  red 
donde  se  está  presentando  un  mal  desempeño.  En  los  documentos  anexos  se  encuentra  la 
información completa de los equipos. 
 

   

14 
 
 

3. PROGRAMACION USANDO SISTEMAS DE INFORMACION GEOGRAFICA 

  

En  este  capítulo  se  explicara  el  proceso  usado  para  importar  las  bases  de  datos  creadas  por  los 
equipos de medición y la forma como estos datos son analizados y visualizados, en la herramienta 
de Post Proceso. 

A  partir  de  las  bases  de  datos  creadas,  se  obtienen  archivos  tipo  texto,  con  un  formato 
estructurado por columnas. Cada columna guarda la información de algún parámetro y cada fila 
representa  la  información  captada  en  un  punto.  Todos  los  puntos  están  geográficamente 
referenciados. El proceso de importación de los datos es diferente para cada equipo de medición a 
continuación  se  explica  el  procedimiento  para  Qualipoc  y  TEMS.  La  herramienta  se  desarrollo 
sobre Visual Basic 2005. 

3.1. Proceso de importación de datos 

Con  el  equipo  Qualipoc,  el  programa  para  la  exportación  de  los  datos,  crea  archivos  diferentes 
para cada parámetro, es decir, cada KPI se almacena un archivo, por esta razón se deben cargar 
varios archivos en la herramienta para importar los datos que son relevantes para el análisis de la 
calidad del servicio. Los parámetros que vamos a utilizar para el análisis de la medición realizada 
con este equipo son: 

¾ RXLEVELSUB 

¾ RXQUALSUB 

¾ MOS 

¾ Tasa de llamadas caídas (DCR). 

¾ Tasa de llamadas bloqueadas BCR).   

15 
 
 

Ya  que  la  información  de  la  tasa  de  llamadas  caídas  y  la  tasa  de  llamadas  bloqueadas  están 
incluidas  en  un  archivo,  se  deben  importar  en  total  cuatro  archivos.  En  la  siguiente  figura  se 
muestra el menú para la selección de los datos a importar. 

Figura 10. Menú para la importación de datos. 

Antes de cargar una medición, se debe seleccionar el equipo de medición, y el parámetro que será 
importado. Los datos son importados de acuerdo a la columna en la que están ubicados dentro del 
archivo de texto.  

TEMS, por el contrario crea un archivo estructurado de texto con todos los datos requeridos, por 
lo  tanto  solo  es  necesario  importar  un  archivo.  Los  datos  captados  por  el  equipo  TEMS  para 
evaluar la calidad del servicio son: 

16 
 
 

¾ RXLEVELSUB 

¾ RXQUALSUB 

¾ FER 

¾ Tasa de llamadas caídas (DCR). 

¾ Tasa de llamadas bloqueadas (BCR). 

Una vez realizada la importación, se hará uso de un sistema de información geográfica incluido en 
la herramienta para visualizar el sitio exacto donde ocurrieron los eventos más relevantes y poder 
correlacionar  los  problemas  de  la  red,  con  los  parámetros  de  señal  obtenidos  en  una  región 
específica. A continuación se hará una breve introducción a los sistemas de información geográfica 
y se dará una descripción del desarrollo para la herramienta.   

3.2 Introducción a los sistemas de información geográfica: 

Los  sistemas  de  información  geográfica  permiten  la  manipulación,  el  análisis,  la  captura  y  el 
despliegue de información geográficamente referenciada y son usados por diferentes organismos, 
como  empresas  prestadoras  de  servicios  públicos,  planificación  urbanística,  operadores  de 
telecomunicaciones, etc. Ya que estos permiten resolver problemas complejos de  planificación y 
gestión. 

“El SIG funciona como una base de datos con información geográfica (datos alfanuméricos) que se 
encuentra asociada por un identificador común a los objetos gráficos de un mapa digital. De esta 
forma,  señalando  un  objeto  se  conocen  sus  atributos  e,  inversamente,  preguntando  por  un 
registro de la base de datos se puede saber su localización en la cartografía.”[7] 

La información es trabajada mediante capas, en cada capa se visualiza diferentes clases de


información, por ejemplo, una capa puede ser malla vial, y la capa que se monta encima
puede ser la red de acueducto y alcantarillado, de esta manera se puede observar como una

17 
 
 

obra en las tuberías puede afectar la malla vial. Este método de trabajar por capas permite
que el análisis de los datos sea rápido y sencillo.

Figura 11. Trabajo mediante capas [7] 

La herramienta está en capacidad de crear archivos de mapas en formato “Shape”. Este formato  
es compatible con diferentes programas de sistemas de información geográfica, entre los cuales 
está Mapinfo que es uno de los más usados por los operadores de telecomunicaciones. 

3.3 Uso de sistemas de información geográfica en la herramienta de software 

Para  lograr  trabajar  con  sistemas  de  información  geográfica  sobre  Visual  Basic  2005,  se  debe 
instalar el controlador “Mapwingis ActiveX Control” de la página www.mapwindow.com, el cual es 
de libre distribución. Este controlador es necesario para agregar el componente “Map Control” y la 
librería  de  instrucciones  para  la  creación,  manipulación  y  visualización  de  mapas  en  Visual  Basic 
2005. 

Como primer paso se implemento la función de abrir mapas en formato Shape y visualizarlos en 
una  ventana,  con  el  fin  de  lograr  ubicar  geográficamente  la  zona  donde  se  realizaron  las 
mediciones y obtener una mejor perspectiva de los objetos ubicados en la zona de medición que 
puedan  afectar  la  señal  transmitida  e  pueda  influenciar  negativamente  la  calidad  recibida  en  el 
terminal del usuario, como por ejemplo montañas que se interpongan entre la estación base y el 
terminal,  o  mapas  con  información  del  uso  del  suelo,  que  permite  determinar  las  zonas  que 

18 
 
 

pueden absorber la señal  y causar desvanecimientos, en ciertas partes del recorrido. En la figura 
13 se pueden visualizar las capas de departamentos y cascos urbanos abiertos en la herramienta. 

Figura 12. Departamentos y Cascos Urbanos de Colombia 

La  ventana  “Data  Layers”  que  tiene  como  función  el  control  de  la  visibilidad  de  las  capas.  Las 
mediciones se visualizaran usando un mapa temático de colores para visualizar los niveles de los 
parámetros captados. 

Para  el  parámetro  RXLEVELSUB  se  utilizan  dos  colores,  el  verde  indica  los  puntos  donde  el  nivel 
recibido es mayor a ‐104 dBm y rojo los puntos donde el nivel recibido es menor. Se usa este valor 
porque como se explico en el capítulo dos, ‐104 dBm es el límite de sensibilidad en la mayoría de 
los  teléfonos  convencionales.  Entonces  en  los puntos  donde  se presenta  un  nivel  por debajo  de      
‐104 dBm, existe una probabilidad muy baja de que un usuario puede establecer una llamada o de 
mantener  una  comunicación.  En  la  siguiente  figura  se  muestra  la  forma  como  es  visualizado  el 
mapa de RXLEVELSUB del Drive Test que se realizo en la ciudad de Villavicencio. 

19 
 
 

Figura 13. Zonas de cobertura y no cobertura. 

Para lograr entender la información que se visualiza en el programa, en la parte inferior izquierda 
se muestra la leyenda por colores del mapa, indicando que representa cada color. 

El  siguiente  KPI  es  el  RXQUAL  SUB  también  de  la  ciudad  de  Villavicencio,  en  la  ventana  de  la 
leyenda se observa el valor del RXQUAL SUB que representa cada valor. En este mapa se puede 
visualizar  las  zonas  donde  el  valor  de  BER  es  bastante  alto.  Si  lo  comparamos  con  el  mapa  de 
RXLEVEL  SUB,  las  zonas  donde  el  RXQUAL  SUB  es  malo,  coinciden  con  las  zonas  donde  las 
potencias son más, descubriendo de esta manera las posibles causas del aumento del BER en esas 
regiones. 

20 
 
 

Figura 14. RXQUAL SUB en la ciudad de Villavicencio. 

En  la  siguiente  figura  se  muestra  el  mapa  del  MOS  medido  con  la  herramienta  Qualipoc.  Los 
valores mostrados en la leyenda están de acuerdo a los siguientes rangos: 

¾ Bueno: valores de MOS mayores a 3.8. 

¾ Aceptable: valores de MOS menores a 3.8 y mayores a 3.2 

¾ Malo: valores de MOS menores a 3.2 y mayores a 2.5 

¾ Pésimo: valores de MOS menores a 2.5 

Si  se  compara  el  mapa  de  MOS  con  el  de  RXQUAL  SUB  se  puede  observar  que  no  existe  una 
relación directa entre estos. No es posible afirmar que en las zonas donde se midió un valor alto 
de RXQUAL SUB se presentará una calidad de voz baja. 

21 
 
 

Figura 15. MOS medido en la ciudad de Villavicencio 

En el caso de una medición realizada con el equipo TEMS no se presentara el MOS si no el FER, 
este parámetro está muy ligado a la  calidad  de  voz final  recibida  en el terminal del usuario. Los 
rangos definidos para este parámetro son:  

¾ <=2, el usuario no detecta ningún error en la comunicación. 
¾ >2 y <=5, el usuario puede experimentar un sonido “Ping‐Pong”, parecido al rompimiento 
de una botella. 
¾ >5, la comunicación es incompresible. 

El mapa de FER se visualiza de la siguiente manera. 

22 
 
 

Figura 17. FER Villavicencio, Drive Test realizado con TEMS Investigation. 
 
Las  estadísticas  de  llamadas  se  presentan  de  la  siguiente  manera.  Algunos  puntos  donde  se 
presentan  llamadas  caídas,  están  en  las  zonas  que  presentan  bajos  niveles  de  potencia.  Otras 
razones por las que pueden ocurrir éstos eventos son fallos de Handover o exceso de tráfico en la 
red.  Este  es  un  indicador  del  desempeño,  ya  que  una  llamada  caída  o  bloqueado  afecta 
directamente la percepción que tiene el usuario de la calidad del servicio de la red.     

23 
 
 

Figura 17. Estadísticas de llamadas 

Con  los  indicadores  de  desempeño  que  se  visualizan  en  la  herramienta  un  ingeniero  esta  en  la 
capacidad de encontrar las zonas de la red con bajos niveles de desempeño y si se cuenta con la 
base de datos de las estaciones y sus configuraciones, se podrá descubrir el problema y aplicar los 
correctivos necesarios. 

    

24 
 
 

4. ANALISIS DE LA CALIDAD DEL SERVICIO 

En este capítulo se definirá el concepto de calidad del servicio desde el punto de vista del usuario, 
se explicar la correlación de los KPI con la calidad del servicio y los cálculos de los KPI para dar una 
calificación global de la calidad en una zona de la red. 

4.1 Definición de calidad del servicio y desempeño de la red 

La  calidad  del  servicio  se  define  como  el  efecto  colectivo  del  desempeño  de  un  servicio  el  cual 
determina el grado de satisfacción del usuario de éste.[4] Pero la calidad del servicio también se 
puede definir de varias maneras, dependiendo del punto de vista:  

¾ Desde el punto de vista del usuario, la calidad se define como el nivel de satisfacción de 
éste;  es  decir  con  el  cumplimiento  de  las  expectativas  de  un  usuario  al  momento  de 
adquirir    un  servicio  (publicidad,  tarifas,  atención  al  usuario,  etc).[3]Se  puede  dividir  en 
aspectos  técnico  y  no  técnicos.  A  un  usuario,  generalmente,  no  le  interesa  la  forma  de 
como  se  provee  un  servicio,  o  de  alguno  de  los  aspectos  del  diseño  de  la  red,  solo  le 
interesa la calidad del servicio “end to end”.[3] 
 
¾ Desde  el  punto  de  vista  del  proveedor  del  servicio,  la  calidad  es  el  resultado  de  las 
prestaciones ofrecidas por cada una de las partes implicadas:  terminales, red de acceso, 
red de transporte (Core) y los servicios.  

Los siguientes parámetros conforman la calidad del servicio de telefonía de una red GSM: 

¾ Accesibilidad de red: Probabilidad de que un usuario disponga del servicio de telefonía. 
¾ Accesibilidad del servicio: Probabilidad de que un usuario pueda establecer una llamada. 
¾ Integridad del servicio:  Se refiere a la calidad de la voz, la voz recibida en el terminal debe 
ser patente para el usuario.[3]  

25 
 
 

¾ Mantenimiento del servicio:  Se refiere a la terminación de una llamada sin que una de las 
partes de la comunicación haya decidido terminarla. 
 

 
Figura 18. Relación entre la satisfacción del cliente, Calidad de servicio y desempeño de la red.[3] 
 
El  grado  de  satisfacción  de  un  usuario  la  componen  aspectos  técnicos  y  no  técnicos,  entre  los 
aspectos no técnicos se encuentran la disponibilidad de los puntos de venta, atención al usuario, 
planes y tarifas. 
 
Los aspectos técnicos lo conforman el desempeño del terminal del usuario y el desempeño de la 
red en  una  determinada  zona.  Se entiende  como  desempeño  “la  habilidad de la  red de  proveer 
funciones relacionadas con la comunicación” [3].  
 
Es  la  evaluación  del  desempeño  de  un  elemento  de  conexión  o  la  concatenación  de  varios 
elementos  empleados  para  proveer  el  servicio.  Se  define  y  se  mide  en  términos  de  parámetros 
que son significativos para la red y para el proveedor del servicio, y son usados para propósitos de 
diseño  del  sistema,  configuración,  operación  y  mantenimiento.  El  desempeño  de  la  red  es 
independiente del desempeño del terminal y de las acciones de los usuarios. El desempeño de la 
red está encaminado a proveer QoS ofrecido a los usuarios.   

26 
 
 

 
4.2 Calculo de la calidad del servicio 
 
Para realizar un cálculo la calidad del servicio que realmente refleje la percepción del usuario, se 
debe  tener  conocimiento  de  lo  que  representa  cada  KPI  explicado  en  el  capítulo  dos  y  sus 
implicaciones  dentro  de  los  parámetros  que  definen  la  calidad  del  servicio.  En  la  figura  X  se 
muestra el diagrama de flujo de la herramienta. 
 
4.2.1 Accesibilidad de la red 
 
El KPI relacionado con este punto el nivel recibido en una zona, RXLEVEL SUB. Este parámetro nos 
determina  la  probabilidad  de  que  un  usuario  pueda  establecer  una  comunicación.  Si  el  valor  de 
este  parámetro  esta  por  encima  de  cierto  límite  la  probabilidad  de  que  un  usuario  pueda 
comunicarse es más alta, en este caso se eligió ‐104 dBm. Las zonas con valores por debajo de este 
valor se determinaron como zonas sin cobertura, debido a que tiene una menor probabilidad de 
acceso al servicio. El cálculo se hará teniendo en cuenta el porcentaje del número de kilómetros 
con valores medidos de RXLEVEL SUB  superiores a ‐104 dBm sobre la distancia total recorrida. 
 

100%    (Ecuación 1) 

4.2.2 Accesibilidad del servicio 

Para el cálculo de este parámetro se usará el porcentaje de llamadas bloqueadas sobre el número 
total de intentos en una medición. 

ú
100%    (Ecuación 2) 
ú

 
 

27 
 
 

 
Figura 19. Diagrama de flujo 

28 
 
 

4.2.3 Integridad del servicio 

Este parámetro se deba calcular de manera diferente para una Drive Test realizado con Qualipoc 
uno realizado con TEMS, debido a que TEMS no tiene la posibilidad de calificar MOS se utilizara el 
FER para el calcular este parámetro y además se utilizara el valor medido de RXQUAL SUB pero en 
menor grado para obtener la evaluación de este parámetro. 

Para Qualipoc la ecuación quedaría: 

20% 80%      (Ecuación 3) 
.

  

Al valor de RXQUAL  SUB se le dará un peso de 20 porciento y será el número de kilómetros en los 
que este valor resulto igual a cero dividido el número total de kilómetros recorridos. Al MOS se le 
dará un peso del 80 porciento y será cálculo del MOS promedio de la medición sobre 5. 

Para TEMS la ecuación resultaría: 

20% 80%

  (Ecuación 4) 

El RXQUALSUB se calcula de la misma que para la medición realizada con Qualipoc y se calculara la 
distancia en la que el FER resulto ser cero sobre la distancia total recorrido. Se determina un peso 
de  80  porciento  para  el  cálculo  del  FER  debido  a  que  este  parámetro  tiene  una  relación  más 
directa con la calidad final de la voz. 

4.2.4 Mantenimiento del servicio 

Se calculara el porcentaje de llamadas caídas dividido el número total de intentos. 

ú í
100%    
ú

(Ecuación 5) 

29 
 
 

El promedio de la sumatoria de los parámetros calculados, determinara la calificación global de la 
calidad del servicio de la región de la red donde se desarrollo el Drive Test y dará una noción muy 
importante  para  conocer  la  perspectiva  del  usuario  para  el  analista  de  la  red.  Todos  los 
parámetros  tienen  el  mismo  peso,  ya  que  cada  uno  representa  aspectos  importantes  del 
desempeño  de  la  red.  En  la  siguiente  figura  se  presentan  los  resultados  de  la  ciudad  de 
Villavicencio. 

ó
    (Ecuación 6) 

Figura 20. Resultado del QoS en la ciudad de Villavicencio 
 

30 
 
 

 
La herramienta muestra el resultado de cada uno de los parámetros que componen la calidad del 
servicio, los computa y obtiene el resultado final del QoS, en este caso, la red GSM de la ciudad de 
Villavicencio obtuvo una calificación global de 94.29%, lo que indica un buen desempeño de la red. 

   

31 
 
 

5. RESULTADOS DE LA HERRAMIENTA 

En  este  capítulo  se  presentarán  algunos  resultados  obtenidos  en  Drive  Test  desarrollado  en 
diferentes vías y ciudades del país, con Qualipoc y TEMS: 

5.1 Drive Test con Qualipoc  

5.1.1 Arauca 

Figura 21. Mapa de cobertura y no cobertura, Arauca. 

32 
 
 

Figura 22. Mapa de RXQUALSUB  

Figura 23. MOS medido 

33 
 
 

Figura 24. Estadísticas de llamadas. 

Figura 25. Calculo de QoS en la ciudad de Arauca. 

34 
 
 

De acuerdo a los indicadores que son presentados por la herramienta, la red de telefonía móvil de 
este operador en la ciudad de Arauca, presenta una zona con problemas de cobertura al norte de 
la  ciudad  como  se  puede  observar  en  el  mapa.  En  esta  zona  bajan  los  valores  del  MOS,    se 
presentan altos valores de RXQUAL SUB y algunos bloqueos de llamadas. La calificación global de 
la calidad del servicio es de 90% lo cual indica un buen desempeño de la red, pero claramente se 
observa una zona que requiere atención del operador.  

5.1.2  Vía Bogotá‐Villavicencio 

Figura 26. Mapa de cobertura y no cobertura 

35 
 
 

Figura 27. Mapa RXQUAL SUB 

Figura 28. MOS medido 

36 
 
 

Figura 29. Estadísticas de llamadas. 

Figura 31. Cálculo de QoS en la vía Bogotá‐Villavicencio 

37 
 
 

En  esta  vía  se  detecto  una  alta  tasa  de  llamadas  bloqueadas,  por  lo  cual  el  indicador  de 
accesibilidad  del  servicio  tuvo  una  baja  calificación.  Los  otros  indicadores  tienen  valores 
aceptables. La calificación del QoS es de 86.58%, indicando un buen desempeño de la red en esta 
vía. Las zonas donde aparecen los espacios en blanco son los túneles, allí el GPS pierde la señal y 
no se registran valores. Además también el usuario no tiene cobertura al entrar al túnel, por eso el 
aumento en el número de llamadas bloqueadas. Pero en general en el resto de la vía el operador 
garantiza el servicio y ofrece buena calidad de voz. 
 
5.2 Drive Test con TEMS 
 
5.2.1 Villavicencio 

Figura 31. Estadísticas de llamadas 
 
Se presenta una sola caída de la llamada, no hay bloqueos. 
 
 

38 
 
 

 
Figura 32. Mapa de cobertura y no cobertura 

 
Figura 33. RXQUAL SUB 
   

39 
 
 

 
Las regiones en color corresponden a puntos donde el equipo no tomo valores de este parámetro. 

Figura 34. FER 

Figura 35. QoS calculado 

40 
 
 

ANALISIS Y CONCLUSIONES 

La herramienta desarrollada está en capacidad de mostrar visualmente la información de los KPIs 
recolectados  en  el  Drive  Test.  Esto  se  logró  gracias  al  desarrollo  de  un  Sistema  de  Información 
Geográfica, el cual permite crear para cada KPI un mapa temático por colores para indicar el rango 
en el que se encuentra el valor de un KPI en un determinado punto. Analizando estos mapas es 
posible  determinar  las  zonas  que  presentan  bajos  índices  de  desempeño.  También  es  posible 
agregar  mapas  en  formato  “Shape”  para  visualizarlos  en  la  herramienta.  Con  ésta  utilidad  es 
posible  ver  la  base  de  datos  geográficamente  referenciada  de  las  estaciones  base.  Haciendo  el 
análisis de las mediciones junto al análisis del diseño de la red es posible determinar el problema 
que  causa  un  mal  desempeño  de  la  red,  como  altos  niveles  de  interferencia,  bajos  niveles  de 
potencia o exceso de tráfico en una región, en la cual la infraestructura instalada no es capaz de 
atender. 

Mediante  el  cómputo  de  los  indicadores  de  calidad  del  servicio,  vistos  en  el  capítulo  cuatro,  se 
obtiene una calificación del desempeño en una región de la red, permitiendo al operador obtener 
una imagen de la percepción de los usuarios con el servicio de telefonía. El operador determinará 
si  está  cumpliendo  con  los  objetivos  propuestos  o  si  debe  implementar  mejoras  en  la  red  para 
incrementar su desempeño. Un organismo regulador también puede valerse de estos índices para 
realizar interventorías a los operadores. 

Las mediciones se realizaron en horas laborales, donde el tráfico generado es alto y la mediciones 
realizadas reflejan el comportamiento de la red en los momentos donde es más exigida. No es lo 
mismo  realizar  esta  medición  por  la  noche,  donde  muy  poca  gente  esta  usando  el  servicio, 
entonces todos los canales están libres y la relación Señal‐Interferencia es más alta. Una medición 
a estas horas reflejaría un mejor desempeño de la red, pero los datos no serían validos porque la 
medición no reflejaría la perspectiva del usuario. 

41 
 
 

En  algunas  ocasiones  cuando  ocurre  una  caída  de  llamada  o  un  bloqueo,  se  debe  a  eventos 
fortuitos,  como  el  tráfico  de  la  zona  en  ese  momento  o  a  la  presencia  de  alguna  fuente 
interferente  en  un  determinado  momento  de  tiempo.  Para  detectar  que  estos  eventos  de 
llamadas  se  deben  a  problemas  de  la  red  o  a  casos  fortuitos,  los  operadores  deberían  realizar 
varios Drive Test a diferentes horas del día, con el fin si el problema es constante en la red o se 
debió  a  efectos  del  ambiente  por  un  momento  del  día.  Pero  los  operadores,  no  acostumbran  a 
realizar la misma medición a diferentes horas del día, debido a los costos y al tiempo requerido. 

Los  equipos  de  medición  usados  para  estás  mediciones,  cuentan  con  teléfonos  usados 
comercialmente. Estos teléfonos están equipados con un software especial para realizar este tipo 
de  mediciones.  Como  son  teléfonos  convencionales,  no  representan  ninguna  ventaja  respecto  a 
los usados por los usuarios, por lo tanto las mediciones reflejan realmente la calidad del servicio 
prestado a los usuarios. 

Hoy en día está cobrando vigencia el uso de la telefonía móvil en otros servicios como Internet, 
SMS (Short Message Service), MMS (Multimedia Message Service); y con la llegada de la telefonía 
3G,  se  impondrá  Video‐Llamada  y  Video‐Streaming.  Los  operadores  estarán  en  la  obligación  de 
verificar constantemente la calidad ofrecida en estos servicios. La herramienta de análisis podría 
encaminarse en estos rumbos. Los equipos de medición deberán estar en la capacidad de medir 
los  KPIs  correspondientes  a  estos  servicios,  pero  el  analista  de  red  debe  conocer  la  relación  de 
cada  KPI  con  el  resultado  final  del  servicio  que  esta  recibiendo  un  usuario.  La  herramienta  se 
podría enfocar al análisis de los KPI de estos servicios y así determinar automáticamente como se 
esta  desempeñando  la  red  en  cuanto  a  la  prestación  de  estos  servicios.  Igualmente  los  datos 
deberán visualizarse en mapas para localizar las zonas en las que el servicio debe mejorarse. 

  

42 
 
 

REFERENCIAS BIBLIOGRAFICAS 
 
[1] ETSI,  Digital  cellular  telecommunications  system  (Phase  2);Physical  layer  on  the  radio  path 
General description (GSM 05.01), 1996 
[2] T. Halonen, J. Romero, J. Melero, “GSM, GPRS and Edge Performance”, 2003. 
[3] ETSI,  Speech  Processing,  Transmission  and  Quality  Aspects  (STQ);  QoS  aspects  for  popular 
services in GSM and 3G networks; Part 1: Identification of Quality of Service criteria, 2007 
[4] ETSI,  Network  Aspects  (NA);  General  aspects  of  Quality  of  Service  (QoS)and  Network 
Performance (NP), 1994 
[5] ETSI,  Speech  Processing,  Transmission  and  Quality  Aspects  (STQ);  QoS  aspects  for  popular 
services in GSM and 3G networks; Part 2: Definition of Quality of Service parameters and their 
computation, 2007. 
[6] ETSI,  Speech  Processing,  Transmission  and  Quality  Aspects  (STQ);  QoS  aspects  for  popular 
services  in  GSM  and  3G  networks;  Part  3:  Typical  procedures  for  Quality  of  Service 
measurement equipment, 2007 
[7] Wikipedia,  Sistemas  de  información  Geográfica,  disponible  en,http: 
//es.wikipedia.org/wiki/Sistema_de_Informaci%C3%B3n_Geogr%C3% 
[8] Swissqual, Manual Qualipoc 
[9] Ericcson, Manual TEMS 
[10]Ericsson, Principios del Planeamiento Celular, Libro del Estudiante. 
[11]Ericsson, Measurements in TEMS Investigation GSM, White Paper 
   

43 
 
 

ANEXO A 

ESPECIFICACIONES TECNICAS QUALIPOC 

   

44 
 
 

45 
 
 

46   
 
 

ANEXO B 

ESPECIFICACIONES TECNICAS TEMS INVESTIGATION 

   

47 
 
 

48 
 
 

ANEXO C 

CODIGO DE LA HERRAMIENTA DESAROLLADO EN VISUAL BASIC 2005 

   

49 
 
 

Imports system.IO
Imports System.Text

Public Class Form1


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Legend1.Map = AxMap1.GetOcx()
End Sub
Public Sub loadmap()
Dim mapa As New MapWinGIS.Shapefile
Dim handle As Integer
mapa.Open(OpenFileDialog1.FileName)
'AxMap1.AddLayer(mapa, True)
handle = Legend1.Layers.Add(mapa, True)
Legend1.Map.LayerName(handle) =
System.IO.Path.GetFileNameWithoutExtension(mapa.Filename)
End Sub
Public Sub AxMap1_MouseDownEvent(ByVal sender As System.Object, ByVal
e As AxMapWinGIS._DMapEvents_MouseDownEvent) Handles
AxMap1.MouseDownEvent

End Sub

Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MenuItem2.Click
Form2.Show()
End Sub

Private Sub MenuItem3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MenuItem3.Click
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK
Then
loadmap()
Else
Me.Show()
End If

End Sub

Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal


e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles
ToolBar1.ButtonClick
Dim tag As String
tag = e.Button.Tag
Select Case tag
Case "Zoom In"
AxMap1.CursorMode = MapWinGIS.tkCursorMode.cmZoomIn
Case "Zoom Out"
AxMap1.CursorMode = MapWinGIS.tkCursorMode.cmZoomOut
Case "Pan"
AxMap1.CursorMode = MapWinGIS.tkCursorMode.cmPan
Case "Full Extension"
AxMap1.ZoomToMaxExtents()
End Select

50 
 
 

End Sub

Private Sub MenuItem4_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MenuItem4.Click
Legend1.Layers.Remove(Legend1.SelectedLayer)
Legend1.Refresh()
End Sub

Private Sub Legend1_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Legend1.Load

End Sub
End Class
 

 
Imports system.io
Imports System.Text
Public Class Form2 'Declaracion de variables
Dim mapa, mapa1, mapa2, mapa3, mapa4, mapa5 As New
MapWinGIS.Shapefile
Dim linea As String
Dim x As String = Nothing
Dim y As String = Nothing
Dim contadorlin As Integer = 0
Dim latitud, longitud, distx, disty As Single
Dim ilatitud As Single = 0
Dim ilongitud As Single = 0
Dim rxlevsub As Integer
Dim rxlev As String = Nothing
Dim tab As Boolean
Dim carac As Char
Dim ntab As Integer = 0
Dim distxkm As Single = 0
Dim distykm As Single = 0
Dim distkmtot As Single = 0
Dim mnc1 As String = Nothing
Dim mnc As Single
Dim distr As Single = 0
Dim i As Integer = 0
Dim j As Integer = 0
Dim distcober, distnocober As Single
Dim srxqual As String = Nothing
Dim rxqual As Integer
Dim smos As String = Nothing
Dim mos As Single = 0
Dim ruta(500000) As MapWinGIS.Shape
Dim point(500000) As MapWinGIS.Point
Dim index, intentos As Integer
Dim field As New MapWinGIS.Field
Dim distancialimite As Single

51 
 
 

Dim distint, int1, int2, intt, distfer As Single


Dim cov, acc, mant, qos As Single
Dim bloqueadas As Integer
Dim caidas As Integer
Dim completadas As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK
Then
calculo()
Else
Me.Show()
End If
End Sub
Private Sub calculo()
'Me.Close()
distancialimite = NumericUpDown1.Value
Dim tabla As StreamReader = New
StreamReader(OpenFileDialog1.OpenFile) 'Captura de datos
linea = tabla.ReadLine()
If RadioButton5.Checked = True Then
'Qualipoc
If RadioButton1.Checked = True Then
'Rxlevel
field.Name = "RxLevel"
mapa.CreateNew("f:\rxlevel.shp",
MapWinGIS.ShpfileType.SHP_POINT)
mapa.EditInsertField(field, 0)
Do While Not (linea Is Nothing)
linea = tabla.ReadLine()
If linea = Nothing Then
Exit Do
End If
For i = 0 To linea.Length - 1
tab = Char.IsWhiteSpace(linea, i)
carac = linea.Chars(i)
If tab = True Then
ntab += 1
End If
If ntab = 8 Then
x = x + linea.Chars(i + 1)
End If
If ntab = 9 Then
y = y + linea.Chars(i + 1)
End If
If ntab = 25 Then
rxlev = rxlev + linea.Chars(i + 1)
End If
If ntab = 4 Then
mnc1 = mnc1 + linea.Chars(i + 1)
End If
Next
i = 0
ntab = 0

52 
 
 

latitud = CSng(y)
longitud = CSng(x)
rxlevsub = CInt(rxlev)
mnc = CSng(mnc1)
distx = latitud - ilatitud
disty = longitud - ilongitud
distxkm = distx * 110
distykm = disty * 110
distr = Math.Sqrt(Math.Pow(distxkm, 2) +
Math.Pow(distykm, 2))
'Crear mapas
point(contadorlin) = New MapWinGIS.Point()
point(contadorlin).x = longitud
point(contadorlin).y = latitud
ruta(contadorlin) = New MapWinGIS.Shape()

ruta(contadorlin).Create(MapWinGIS.ShpfileType.SHP_POINT)
ruta(contadorlin).InsertPoint(point(contadorlin), 0)
mapa.EditInsertShape(ruta(contadorlin), index)
mapa.EditCellValue(0, index, rxlevsub)
If distr < distancialimite Then
distkmtot = distkmtot + distr
If rxlevsub > -104 And rxlevsub < -30 And mnc =
103 Then
distcober = distcober + distr
Else
distnocober = distnocober + distr
End If
End If
ilatitud = latitud
ilongitud = longitud
x = Nothing
y = Nothing
rxlev = Nothing
mnc1 = Nothing
contadorlin += 1
index = contadorlin
Loop
cov = (distcober / distkmtot) * 100
End If
If RadioButton2.Checked = True Then
'Qualipoc RxQual
field.Name = "RxQual Sub"
mapa1.CreateNew("f:\rxqual.shp",
MapWinGIS.ShpfileType.SHP_POINT)
mapa1.EditInsertField(field, 0)
Do While Not (linea Is Nothing)
linea = tabla.ReadLine()
If linea = Nothing Then
Exit Do
End If
For i = 0 To linea.Length - 1
tab = Char.IsWhiteSpace(linea, i)
carac = linea.Chars(i)

53 
 
 

If tab = True Then


ntab += 1
End If
If ntab = 8 Then
x = x + linea.Chars(i)
End If
If ntab = 9 Then
y = y + linea.Chars(i)
End If
If ntab = 25 Then
srxqual = srxqual + linea.Chars(i)
End If
If ntab = 4 Then
mnc1 = mnc1 + linea.Chars(i + 1)
End If
Next
i = 0
ntab = 0
latitud = CSng(y)
longitud = CSng(x)
rxqual = CInt(srxqual)
mnc = CInt(mnc1)
distx = latitud - ilatitud
disty = longitud - ilongitud
distxkm = distx * 110
distykm = disty * 110
distr = Math.Sqrt(Math.Pow(distxkm, 2) +
Math.Pow(distykm, 2))
'Crear mapa
point(contadorlin) = New MapWinGIS.Point()
point(contadorlin).x = longitud
point(contadorlin).y = latitud
ruta(contadorlin) = New MapWinGIS.Shape()

ruta(contadorlin).Create(MapWinGIS.ShpfileType.SHP_POINT)
ruta(contadorlin).InsertPoint(point(contadorlin), 0)
mapa1.EditInsertShape(ruta(contadorlin), index)
mapa1.EditCellValue(0, index, rxqual)
If distr < distancialimite Then
distkmtot = distkmtot + distr
If rxqual = 0 And mnc = 103 Then
distint = distint + distr
End If
End If
ilatitud = latitud
ilongitud = longitud
x = Nothing
y = Nothing
srxqual = Nothing
mnc1 = Nothing
contadorlin += 1
index = contadorlin
Loop
int1 = (distint / distkmtot) * 20

54 
 
 

End If
If RadioButton7.Checked = True Then
'Qualipoc MOS
Dim summos As Single
Dim mospromedio As Single
field.Name = "MOS"
mapa2.CreateNew("f:\mos.shp",
MapWinGIS.ShpfileType.SHP_POINT)
mapa2.EditInsertField(field, 0)
Do While Not (linea Is Nothing)
linea = tabla.ReadLine()
If linea = Nothing Then
Exit Do
End If
For i = 0 To linea.Length - 1
tab = Char.IsWhiteSpace(linea, i)
carac = linea.Chars(i)
If tab = True Then
ntab += 1
End If
If ntab = 8 Then
x = x + linea.Chars(i)
End If
If ntab = 9 Then
y = y + linea.Chars(i)
End If
If ntab = 25 Then
smos = smos + linea.Chars(i)
End If
'If ntab = 4 Then
'mnc1 = mnc1 + linea.Chars(i + 1)
'End If
Next
i = 0
ntab = 0
latitud = CSng(y)
longitud = CSng(x)
mos = CSng(smos)
distx = latitud - ilatitud
disty = longitud - ilongitud
distxkm = distx * 110
distykm = disty * 110
distr = Math.Sqrt(Math.Pow(distxkm, 2) +
Math.Pow(distykm, 2))
'Crear mapa
point(contadorlin) = New MapWinGIS.Point()
point(contadorlin).x = longitud
point(contadorlin).y = latitud
ruta(contadorlin) = New MapWinGIS.Shape()

ruta(contadorlin).Create(MapWinGIS.ShpfileType.SHP_POINT)
ruta(contadorlin).InsertPoint(point(contadorlin), 0)
mapa2.EditInsertShape(ruta(contadorlin), index)
mapa2.EditCellValue(0, index, mos)

55 
 
 

ilatitud = latitud
ilongitud = longitud
x = Nothing
y = Nothing
smos = Nothing
contadorlin += 1
index = contadorlin
summos = summos + mos
Loop
mospromedio = summos / contadorlin
int2 = (mospromedio / 4.5) * 80
End If
'Estadisticas de llamadas
If RadioButton8.Checked = True Then
Dim accesoser As Integer = 0
Dim mantser As Integer = 0
Dim estatus As String = Nothing
Dim cadena As String
Dim ins As Boolean
field.Name = "Estatus de llamada"
mapa3.CreateNew("f:\llamadas.shp",
MapWinGIS.ShpfileType.SHP_POINT)
mapa3.EditInsertField(field, 0)
Do While Not (linea Is Nothing)
linea = tabla.ReadLine()
If linea = Nothing Then
Exit Do
End If
For i = 0 To linea.Length - 1
tab = Char.IsWhiteSpace(linea, i)
carac = linea.Chars(i)
If tab = True Then
ntab += 1
End If
If ntab = 8 Then
x = x + linea.Chars(i)
End If
If ntab = 9 Then
y = y + linea.Chars(i)
End If
If ntab = 25 Then
estatus = estatus + linea.Chars(i)
End If
If ntab = 4 Then
mnc1 = mnc1 + linea.Chars(i + 1)
End If
Next
i = 0
ntab = 0
latitud = CSng(y)
longitud = CSng(x)
cadena = estatus.Substring(2, 6)
distx = latitud - ilatitud
disty = longitud - ilongitud

56 
 
 

distxkm = distx * 110


distykm = disty * 110
distr = Math.Sqrt(Math.Pow(distxkm, 2) +
Math.Pow(distykm, 2))
'Crear mapa
point(contadorlin) = New MapWinGIS.Point()
point(contadorlin).x = longitud
point(contadorlin).y = latitud
ruta(contadorlin) = New MapWinGIS.Shape()

ruta(contadorlin).Create(MapWinGIS.ShpfileType.SHP_POINT)
ruta(contadorlin).InsertPoint(point(contadorlin), 0)
mapa3.EditInsertShape(ruta(contadorlin), index)
ins = mapa3.EditCellValue(0, index, cadena)
If cadena = "Failed" Then
accesoser += 1
ElseIf cadena = "Droppe" Then
mantser += 1
End If
ilatitud = latitud
ilongitud = longitud
x = Nothing
y = Nothing
estatus = Nothing
contadorlin += 1
index = contadorlin
Loop
acc = (1 - (accesoser / contadorlin)) * 100
mant = (1 - (mantser / contadorlin)) * 100
End If
End If
'TEMS
If RadioButton6.Checked = True Then
If RadioButton1.Checked = True Then
field.Name = "RxLevel"
mapa.CreateNew("f:\rxlevel.shp",
MapWinGIS.ShpfileType.SHP_POINT)
mapa.EditInsertField(field, 0)
'mapa.EditCellValue(0, index, rxlevsub)
End If
If RadioButton2.Checked = True Then
field.Name = "RxQual"
mapa1.CreateNew("f:\rxqual.shp",
MapWinGIS.ShpfileType.SHP_POINT)
mapa1.EditInsertField(field, 0)
'mapa.EditCellValue(0, index, rxqual)
End If
If RadioButton3.Checked = True Then
field.Name = "FER"
mapa4.CreateNew("f:\fer.shp",
MapWinGIS.ShpfileType.SHP_POINT)
mapa4.EditInsertField(field, 0)
'mapa.EditCellValue(0, index, fer)
End If

57 
 
 

If RadioButton4.Checked = True Then


field.Name = "Eventos de llamada"
mapa5.CreateNew("f:\Eventos de llamada",
MapWinGIS.ShpfileType.SHP_POINT)
mapa5.EditInsertField(field, 0)
'mapa.EditCellValue(0, index, estado)
End If
Dim sfer As String = Nothing
Dim sci As String = Nothing
Dim fer As Integer
Dim status As String = Nothing
Dim estado As String
Do While Not (linea Is Nothing)
linea = tabla.ReadLine()
If linea = Nothing Then
Exit Do
End If
For i = 0 To linea.Length - 1
tab = Char.IsWhiteSpace(linea, i)
carac = linea.Chars(i)
If tab = True Then
ntab += 1
End If
If ntab = 10 Then
x = x + linea.Chars(i)
End If
If ntab = 11 Then
y = y + linea.Chars(i)
End If
If ntab = 2 Then
sfer = sfer + linea.Chars(i)
End If
If ntab = 3 Then
mnc1 = mnc1 + linea.Chars(i)
End If
If ntab = 5 Then
rxlev = rxlev + linea.Chars(i)
End If
If ntab = 7 Then
srxqual = srxqual + linea.Chars(i)
End If
If ntab = 9 Then
sci = sci + linea.Chars(i)
End If
If ntab = 12 Or ntab = 13 Or ntab = 14 Then
status = status + linea.Chars(i)
End If
Next
i = 0
ntab = 0
latitud = CSng(y)
longitud = CSng(x)
If status.Length > 10 Then
intentos += 1

58 
 
 

estado = status.Substring(status.Length - 7, 6)
Else : estado = "X"
End If
mnc = CInt(mnc1)
rxlevsub = CInt(rxlev)
rxqual = CInt(srxqual)
fer = CInt(sfer)
'ci = CInt(sci)
distx = latitud - ilatitud
disty = longitud - ilongitud
distxkm = distx * 110
distykm = disty * 110
distr = Math.Sqrt(Math.Pow(distxkm, 2) +
Math.Pow(distykm, 2))
'Crear mapa
point(contadorlin) = New MapWinGIS.Point()
point(contadorlin).x = longitud
point(contadorlin).y = latitud
ruta(contadorlin) = New MapWinGIS.Shape()
ruta(contadorlin).Create(MapWinGIS.ShpfileType.SHP_POINT)
ruta(contadorlin).InsertPoint(point(contadorlin), 0)
'mapa.EditInsertShape(ruta(contadorlin), index)
If RadioButton1.Checked = True Then
'field.Name = "RxLevel"
'mapa.CreateNew("f:\rxlevel.shp",
MapWinGIS.ShpfileType.SHP_POINT)
'mapa.EditInsertField(field, 0)
mapa.EditInsertShape(ruta(contadorlin), index)
mapa.EditCellValue(0, index, rxlevsub)
If distr < distancialimite Then
distkmtot = distkmtot + distr
If rxlevsub > -104 And rxlevsub < -30 And mnc =
103 Then
distcober = distcober + distr
Else
distnocober = distnocober + distr
End If
End If
cov = (distcober / distkmtot) * 100
End If
If RadioButton2.Checked = True Then
'field.Name = "RxQual"
'mapa.CreateNew("f:\rxqual.shp",
MapWinGIS.ShpfileType.SHP_POINT)
'mapa.EditInsertField(field, 0)
mapa1.EditInsertShape(ruta(contadorlin), index)
mapa1.EditCellValue(0, index, rxqual)
If distr < distancialimite Then
distkmtot = distkmtot + distr
If rxqual = 0 And mnc = 103 Then
distint = distint + distr
End If
End If
int1 = (distint / distkmtot) * 20

59 
 
 

End If
If RadioButton3.Checked = True Then
'field.Name = "FER"
'mapa.CreateNew("f:\fer.shp",
MapWinGIS.ShpfileType.SHP_POINT)
'mapa.EditInsertField(field, 0)
mapa4.EditInsertShape(ruta(contadorlin), index)
mapa4.EditCellValue(0, index, fer)
If distr < distancialimite Then
distkmtot = distkmtot + distr
If fer = 0 And mnc = 103 Then
distfer = distfer + distr
End If
End If
int2 = (distfer / distkmtot) * 80
End If
If RadioButton4.Checked = True Then
'field.Name = "Eventos de llamada"
'mapa.CreateNew("f:\Eventos de llamada",
MapWinGIS.ShpfileType.SHP_POINT)
'mapa.EditInsertField(field, 0)
Dim insert As Boolean
mapa5.EditInsertShape(ruta(contadorlin), index)
insert = mapa5.EditCellValue(0, index, estado)
If estado = "d Call" Then
caidas += 1
ElseIf estado = "Droppe" Then
bloqueadas += 1
ElseIf estado = "ll End" Then
completadas += 1
End If
intentos = caidas + bloqueadas + completadas
acc = (1 - (bloqueadas / intentos)) * 100
mant = (1 - (caidas / intentos)) * 100
End If
ilatitud = latitud
ilongitud = longitud
x = Nothing
y = Nothing
status = Nothing
contadorlin += 1
index = contadorlin
rxlev = Nothing
srxqual = Nothing
sfer = Nothing
sci = Nothing
mnc1 = Nothing
Loop
End If
contadorlin = 0
distkmtot = 0
'TextBox1.Text = distkmtot
'TextBox2.Text = distcober
'TextBox3.Text = distnocober

60 
 
 

'TextBox4.Text = (distcober / distkmtot) * 100


End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click
Dim j As Integer
'Qualipoc
'If RadioButton5.Checked = True Then 'Añadir
mapa Rxlevel
If RadioButton1.Checked = True Then
Form1.PictureBox1.ImageLocation = ("C:\Documents and
Settings\jhcardenas\Mis documentos\Visual Studio
2005\Projects\tesis\tesis\Resources\leyenda cobertura.jpg")
mapa.SaveAs("F:\mapas\rxlevel.shp")
Dim hroute As Integer
Dim cobertura As Single
hroute = Form1.Legend1.Layers.Add(mapa, True)
Form1.Legend1.Map.LayerName(hroute) =
System.IO.Path.GetFileNameWithoutExtension(mapa.Filename)
For j = 0 To mapa.NumShapes - 1
cobertura = mapa.CellValue(0, j)
Form1.AxMap1.set_ShapePointSize(hroute, j, 5)
If cobertura < -104 Or cobertura > -20 Then
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 0, 0)))
ElseIf cobertura >= -104 And cobertura < -20 Then
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(0, 255, 0)))
End If
Next
End If
If RadioButton2.Checked = True Then 'Mapa
rxqual
Form1.PictureBox1.ImageLocation = ("C:\Documents and
Settings\jhcardenas\Mis documentos\Visual Studio
2005\Projects\tesis\tesis\Resources\leyenda rxqual.jpg")
mapa1.SaveAs("F:\mapas\rxqual.shp")
Dim hroute As Integer
Dim cal As Integer
hroute = Form1.Legend1.Layers.Add(mapa1, True)
Form1.Legend1.Map.LayerName(hroute) =
System.IO.Path.GetFileNameWithoutExtension(mapa1.Filename)
For j = 0 To mapa1.NumShapes - 1
cal = mapa1.CellValue(0, j)
Form1.AxMap1.set_ShapePointSize(hroute, j, 8)
Select Case cal
Case Is = 7
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 0, 0)))
Case Is = 6
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 100, 0)))
Case Is = 5

61 
 
 

Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 200, 0)))
Case Is = 4
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 255, 0)))
Case Is = 3
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(0, 0, 255)))
Case Is = 2
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(0, 255, 255)))
Case Is = 1
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(0, 255, 100)))
Case Is = 0
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(0, 255, 0)))
End Select
Next
End If
'End If
If RadioButton7.Checked = True Then
Form1.PictureBox1.ImageLocation = ("C:\Documents and
Settings\jhcardenas\Mis documentos\Visual Studio
2005\Projects\tesis\tesis\Resources\leyenda mos.jpg")
mapa2.SaveAs("F:\mapas\mos.shp")
Dim hroute As Integer
Dim lq As Single
hroute = Form1.Legend1.Layers.Add(mapa2, True)
Form1.Legend1.Map.LayerName(hroute) =
System.IO.Path.GetFileNameWithoutExtension(mapa2.Filename)
For j = 0 To mapa2.NumShapes - 1
lq = mapa2.CellValue(0, j)
Form1.AxMap1.set_ShapePointSize(hroute, j, 6)
If lq <= 2.5 Then
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 0, 0)))
ElseIf lq > 2.5 And lq <= 3.2 Then
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 255, 0)))
ElseIf lq > 3.2 And lq <= 3.8 Then
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(0, 0, 255)))
ElseIf lq > 3.8 Then
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(0, 255, 0)))
End If
Next
End If
If RadioButton8.Checked = True Then
Form1.PictureBox1.ImageLocation = ("C:\Documents and
Settings\jhcardenas\Mis documentos\Visual Studio
2005\Projects\tesis\tesis\Resources\leyenda estados de llamadas.jpg")
mapa3.SaveAs("F:\mapas\llamadas.shp")

62 
 
 

Dim hroute As Integer


Dim llamadas As String
hroute = Form1.Legend1.Layers.Add(mapa3, True)
Form1.Legend1.Map.LayerName(hroute) =
System.IO.Path.GetFileNameWithoutExtension(mapa3.Filename)
For j = 0 To mapa3.NumShapes - 1
llamadas = mapa3.CellValue(0, j)
Form1.AxMap1.set_ShapePointSize(hroute, j, 10)
Select Case llamadas
Case "Comple"
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(0, 255, 0)))
Case "Failed"
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 255, 0)))
Case "Droppe"
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 0, 0)))
End Select
Next
End If
If RadioButton4.Checked = True Then
Form1.PictureBox1.ImageLocation = ("C:\Documents and
Settings\jhcardenas\Mis documentos\Visual Studio
2005\Projects\tesis\tesis\Resources\leyenda estados de llamadas.jpg")
mapa5.SaveAs("F:\mapas\llamadas.shp")
Dim hroute As Integer
Dim llamadas As String
hroute = Form1.Legend1.Layers.Add(mapa5, True)
Form1.Legend1.Map.LayerName(hroute) =
System.IO.Path.GetFileNameWithoutExtension(mapa5.Filename)
For j = 0 To mapa5.NumShapes - 1
llamadas = mapa5.CellValue(0, j)
Form1.AxMap1.set_ShapePointSize(hroute, j, 10)
If llamadas = "ll End" Then
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(0, 255, 0)))
ElseIf llamadas = "d Call" Then
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 255, 0)))
ElseIf llamadas = "Droppe" Then
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 0, 0)))
Else
Form1.AxMap1.set_ShapePointSize(hroute, j, 1)
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 255, 255)))
End If
Next
End If
If RadioButton3.Checked = True Then
Form1.PictureBox1.ImageLocation = ("C:\Documents and
Settings\jhcardenas\Mis documentos\Visual Studio
2005\Projects\tesis\tesis\Resources\fer.jpg")

63 
 
 

mapa4.SaveAs("F:\mapas\fer.shp")
Dim hroute As Integer
Dim frame1 As String
hroute = Form1.Legend1.Layers.Add(mapa4, True)
Form1.Legend1.Map.LayerName(hroute) =
System.IO.Path.GetFileNameWithoutExtension(mapa4.Filename)
For j = 0 To mapa4.NumShapes - 1
frame1 = mapa4.CellValue(0, j)
Form1.AxMap1.set_ShapePointSize(hroute, j, 8)
If frame1 <= 2 And frame1 >= 0 Then
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(0, 255, 0)))
ElseIf frame1 > 2 And frame1 <= 5 Then
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 0, 255)))
ElseIf frame1 > 5 Then
Form1.AxMap1.set_ShapePointColor(hroute, j,
Convert.ToUInt32(RGB(255, 0, 0)))
End If
Next
End If
'Me.Close()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
TextBox1.Text = cov
intt = int1 + int2
TextBox4.Text = intt
TextBox5.Text = acc
TextBox3.Text = mant
qos = (cov + intt + acc + mant) / 4
TextBox2.Text = qos
End Sub
End Class 

64 
 

Вам также может понравиться