Simulación de Sistemas Celulares en la Nube: Un Viaje de Aprendizaje

La Inspiración

La idea nació de la necesidad de visualizar lo invisible. En las telecomunicaciones, entender cómo se propaga una señal desde una estación base hasta un usuario es fundamental, pero a menudo abstracto. Nos inspiró el deseo de crear una herramienta interactiva que no solo mostrara números, sino que permitiera "ver" la cobertura. Queríamos unir la teoría de la propagación de ondas con la programación funcional de Wolfram Language para crear un simulador accesible vía web mediante CloudDeploy.

Cómo se construyó el proyecto

El núcleo del proyecto reside en un DynamicModule que gestiona el estado de la simulación en tiempo real. La arquitectura se divide en tres componentes matemáticos y lógicos clave:

1. Modelo de Intensidad de Señal: Utilizamos una función Piecewise para determinar la calidad de la señal Q(d) en función de la distancia $d$ (en km).

2. Modelo Log-Normal (Shadowing): Para añadir realismo, implementamos un cálculo de distribución gaussiana para simular el desvanecimiento por sombra (Shadowing). La potencia media recibida se calculó utilizando una simplificación del modelo de pérdida de trayectoria (path loss):

Desafíos Enfrentados

Este proyecto no estuvo exento de obstáculos significativos. Tuvimos serias dificultades que casi detienen el desarrollo:

  • Problemas de Lógica e Implementación: El manejo de la matriz dinámica distanceMatrix fue problemático. Al cambiar el número de sectores (inpSectors) o comunidades (inpCommunities), la matriz no se redimensionaba correctamente, causando errores de índice o perdiendo los datos ingresados previamente. Tuvimos que reescribir la función updateMatrix[] varias veces para asegurar que PadRight mantuviera la integridad de los datos sin romper la ejecución.
  • El ID de Wolfram y el Despliegue: La función CloudDeploy nos dio muchos dolores de cabeza. Tuvimos problemas recurrentes para autenticar y vincular correctamente el Wolfram ID; en varias ocasiones, el código funcionaba localmente pero fallaba al intentar publicarse en la nube por problemas de permisos y configuración de la cuenta.
  • Conceptos de Sistemas Celulares: Al principio, subestimamos la complejidad teórica. Entender realmente cómo modelar la relación entre la potencia recibida (dBm) y la distancia para que tuviera sentido físico fue difícil. Confundimos conceptos de interferencia con simple atenuación por distancia, lo que nos obligó a repasar la teoría de comunicaciones móviles para ajustar las fórmulas logarítmicas del código.

Lo que aprendimos

A pesar de los errores de lógica y las luchas con la plataforma, aprendimos a integrar interfaces dinámicas complejas (Panel, Grid, Button) con cálculos matemáticos en tiempo real. Entendimos que un simulador visual es una herramienta potente para desmitificar conceptos abstractos como el modelo Log-Normal, siempre y cuando se tenga una base teórica sólida y se depure pacientemente el código.

Share this project:

Updates