Despliegue 200 balizas Bluetooth en un espacio comercial de 5.000 m², y lo primero que revelará el estudio del sitio no es un problema de cobertura—es un problema de colisión. Cada baliza transmite en los mismos tres canales de publicidad (37, 38, 39) en la banda ISM de 2,4 GHz, y una vez que la densidad de balizas excede un umbral que depende del intervalo, el tamaño del payload y el ruido RF ambiental, la pérdida de paquetes aumenta bruscamente. Los receptores comienzan a perder publicidades no porque la señal sea demasiado débil, sino porque dos o más transmisiones se superponen en el tiempo en el mismo canal.
Este artículo desglosa las matemáticas de la colisión de publicidad BLE, deriva límites de densidad prácticos para escenarios de despliegue comunes, y presenta estrategias de coexistencia que un ingeniero de RF puede aplicar sin recurrir a extensiones de protocolo propietarias. Todos los cálculos asumen publicidad no conectable BLE 4.x/5.x (el modo dominante en despliegues de balizas) y un receptor con sensibilidad típica de -90 dBm.
1. Fundamentos del Canal de Publicidad BLE
La publicidad BLE utiliza tres canales dedicados en los bordes de la banda de 2,4 GHz para evitar los canales WiFi más congestionados:
| Canal Adv | Frecuencia (MHz) | Superposición WiFi | Nivel de Ruido Típico |
|---|---|---|---|
| 37 | 2402 | WiFi Ch 1 (2412) — 10 MHz de distancia | Moderado |
| 38 | 2426 | Entre WiFi Ch 1 y Ch 6 | Más bajo |
| 39 | 2480 | WiFi Ch 14 (2484) — 4 MHz de distancia | Más alto (si Ch 14 activo) |
Cada evento de publicidad transmite el mismo paquete en los tres canales secuencialmente. El tiempo en el aire por canal depende del PHY y la longitud del payload:
T_on_air = (1.6 + 0.8 + 0.8 + 0.8 + 0.8 + ceil(payload_bits / 8)) × 1 µs
Para el payload iBeacon (30 bytes totales de PDU), el tiempo en el aire por canal a PHY de 1 Mbps es aproximadamente 376 µs. Un evento completo de publicidad de tres canales se completa en aproximadamente 1,13 ms, incluyendo el espaciado obligatorio de 150 µs entre canales.
2. Modelo de Probabilidad de Colisión
La publicidad BLE es fundamentalmente un sistema similar a ALOHA ranurado, pero sin ranuras de tiempo explícitas—las colisiones ocurren cuando dos o más transmisores se superponen en el mismo canal dentro de la ventana de detección del receptor. La probabilidad de colisión para N balizas con intervalo de publicidad T_adv en un solo canal se puede modelar como:
P_collision = 1 − (1 − T_on_air / T_adv)^(N−1)
Esto asume que las balizas no están sincronizadas (cierto en la práctica, ya que BLE exige un jitter advDelay pseudoaleatorio de 0–10 ms). Para el sistema de tres canales, la probabilidad efectiva de colisión por canal disminuye aproximadamente por un factor de 3, ya que el receptor solo necesita uno de los tres canales para decodificar el paquete:
P_loss_total = P_collision_ch37 × P_collision_ch38 × P_collision_ch39
En la práctica, el canal 39 a menudo tiene mayor pérdida debido a la proximidad del canal WiFi 14 en regiones donde es legal (Japón), por lo que los tres canales no son perfectamente equivalentes. La siguiente tabla muestra las tasas de pérdida de paquetes calculadas para publicidad en formato iBeacon a varias densidades de balizas:
| N (Balizas) | T_adv = 100ms | T_adv = 200ms | T_adv = 500ms | T_adv = 1000ms |
|---|---|---|---|---|
| 10 | 0,03% | 0,02% | 0,01% | 0,004% |
| 50 | 0,17% | 0,08% | 0,03% | 0,02% |
| 100 | 0,34% | 0,17% | 0,07% | 0,03% |
| 200 | 0,68% | 0,34% | 0,14% | 0,07% |
| 500 | 1,70% | 0,85% | 0,34% | 0,17% |
| 1000 | 3,39% | 1,70% | 0,68% | 0,34% |
Estos números parecen engañosamente bajos. El problema es que el modelo teórico asume solo superposición en el dominio del tiempo. En despliegues reales, dos factores adicionales aumentan drásticamente la pérdida efectiva de paquetes: el ciclo de trabajo de escaneo del receptor y el efecto de captura RF.
3. Ciclo de Trabajo de Escaneo y Pérdida Efectiva
La mayoría de los escáneres BLE (teléfonos, gateways, anclas RTLS) no escuchan continuamente. Un teléfono típico escanea durante 4 segundos, luego pausa durante un intervalo definido por el sistema (a menudo 30–60 segundos en iOS). La pérdida efectiva de paquetes es:
P_loss_effective = 1 − (1 − P_collision) × D_scan
Donde D_scan es el ciclo de trabajo de escaneo. Para un teléfono con una ventana de escaneo de 4 segundos cada 40 segundos (D_scan = 0,1), incluso una tasa de colisión del 0% produce un 90% de pérdida efectiva de paquetes solo por el intervalo de escaneo. Por esto los despliegues RTLS usan gateways dedicados con escaneo continuo.
Para un gateway de escaneo continuo (D_scan = 1,0), el mecanismo de pérdida dominante vuelve a ser la colisión. La pérdida medida a 500 balizas con intervalo de 200 ms es típicamente del 2–4%, superior al valor teórico del 0,85%. La discrepancia proviene del efecto de captura: cuando dos transmisiones se superponen, la señal más fuerte aún puede decodificarse si su RSSI excede la más débil en 6 dB o más. Sin embargo, en despliegues densos donde las balizas están a distancias similares, este margen raramente existe.
4. Selección del Intervalo de Publicidad
El intervalo de publicidad es el parámetro individual más impactante para la gestión de colisiones. BLE 4.x permite intervalos de 20 ms a 10,24 segundos en incrementos de 0,625 ms. La publicidad extendida BLE 5.x soporta el mismo rango pero añade la capacidad de usar canales secundarios, lo que efectivamente multiplica el ancho de banda disponible.
La selección debe basarse en el requisito de latencia de la aplicación, no en el deseo de máxima tasa de actualización. Compromisos clave:
| Intervalo | Vida Batería (CR2032, 2 años) | Máx. Balizas (1% pérdida) | Caso de Uso Típico |
|---|---|---|---|
| 100 ms | ~4 meses | ~300 | RTLS de alta velocidad, marketing de proximidad (tiempo real) |
| 200 ms | ~8 meses | ~600 | Navegación comercial, navegación indoor |
| 500 ms | ~16 meses | ~1.500 | Seguimiento de activos, detección de ocupación |
| 1000 ms | ~28 meses | ~3.000 | Monitoreo ambiental, etiquetas de activos estáticos |
| 2000 ms | ~30+ meses | ~6.000 | Sensores de parking, monitoreo de ciclo lento |
Nota: «Máx. Balizas» es la densidad teórica a la cual la probabilidad de colisión de canal único alcanza el 1%, asumiendo escaneo continuo y payload iBeacon. La capacidad real es típicamente el 60–70% de este valor debido a efectos de captura RF e interferencia de canal WiFi coexistente.
5. Jitter y Aleatorización
La especificación BLE exige un advDelay pseudoaleatorio de 0 a 10 ms añadido a cada intervalo de publicidad. Esto evita que las balizas con intervalos idénticos sincronicen permanentemente sus transmisiones. Sin jitter, dos balizas configuradas a 1000 ms que se alineen en su primera publicidad colisionarían en cada publicidad subsiguiente—haciendo ambas efectivamente invisibles al receptor.
El jitter de 10 ms es adecuado para intervalos de 500 ms y superiores, pero se vuelve problemático en intervalos cortos. A 100 ms de intervalo, el jitter representa el 10% del período, lo que proporciona una decorrelación razonable. Sin embargo, algunos fabricantes de balizas implementan un intervalo fijo sin aleatorización adecuada (especialmente en clones económicos que usan CSR1010 o nRF51). Estas balizas deben evitarse en despliegues densos.
Una prueba práctica: despliegue 20 balizas del mismo fabricante en un radio de 2 m, configuradas al mismo intervalo de 200 ms, y monitoree durante 10 minutos usando un sniffer Nordic nRF52. Si alguna baliza muestra más del 2% de pérdida de paquetes, el fabricante probablemente tiene una aleatorización insuficiente. Las balizas de marcas reconocidas (Minew, Kontakt.io, Estimote) pasan esta prueba de forma fiable; las balizas genéricas de marca blanca a menudo no.
6. Coexistencia con WiFi
La banda de 2,4 GHz se comparte entre BLE y WiFi, y su interacción es asimétrica. La publicidad BLE transmite a 1 Mbps con un ancho de banda de 2 MHz; WiFi transmite a 6–54+ Mbps con un ancho de banda de 20+ MHz. Un solo paquete WiFi puede obliterar múltiples eventos de publicidad BLE.
El factor clave de coexistencia es la superposición espectral entre los canales de publicidad BLE y los canales WiFi activos:
| Canal WiFi | Frec. Central (MHz) | Ancho de Banda | Canal Adv BLE Afectado | Aumento de Pérdida BLE |
|---|---|---|---|---|
| 1 | 2412 | 20 MHz (2401–2423) | 37 (2402), parcial 38 (2426) | +3–5% |
| 6 | 2437 | 20 MHz (2426–2448) | 38 (2426) | +2–3% |
| 11 | 2462 | 20 MHz (2451–2473) | Ninguno directamente | +0–1% |
| 14 | 2484 | 20 MHz (2473–2495) | 39 (2480) | +5–8% |
Recomendación: en despliegues con alta densidad de balizas, configure los puntos de acceso WiFi para usar canales 1, 6 y 11 (plan estándar de tres canales) pero evite completamente el canal 14. Si la densidad de balizas es muy alta (>500 unidades), considere asignar WiFi solo a los canales 1 y 11, dejando el canal 6 (que se superpone con el canal BLE 38) como un espacio favorable para balizas. Esto sacrifica rendimiento WiFi pero puede mejorar la fiabilidad BLE en un 15–20%.
7. Gestión de Densidad Basada en Potencia
No todas las balizas en un despliegue necesitan la misma potencia de transmisión. Un error común es configurar todas las balizas a +4 dBm o superior «para mayor alcance». En un despliegue denso, esto en realidad aumenta el radio de colisión—el área dentro de la cual dos balizas pueden interferir entre sí.
El radio de colisión entre dos balizas se define como la distancia a la cual sus señales llegan a un receptor dentro de 6 dB entre sí. Para dos balizas a la misma potencia de transmisión, esto es simplemente la distancia a la cual ambas tienen un RSSI comparable:
R_collision ≈ 2 × 10^((P_tx − P_rx_threshold) / (10 × n))
Donde n es el exponente de pérdida de trayectoria (2,0 en espacio libre, 2,5–3,5 en entornos indoor). Para P_tx = 0 dBm, P_rx_threshold = −90 dBm, n = 2,7:
| P_tx (dBm) | R_collision (m, indoor) | Área (m²) | Densidad Máx. Efectiva |
|---|---|---|---|
| +4 | ~48 | ~7.200 | 1 por 14 m² (al 1% pérdida) |
| 0 | ~35 | ~3.800 | 1 por 7,6 m² |
| −4 | ~26 | ~2.100 | 1 por 4,2 m² |
| −8 | ~18 | ~1.000 | 1 por 2,0 m² |
| −12 | ~13 | ~530 | 1 por 1,1 m² |
| −20 | ~7 | ~154 | 1 por 0,3 m² |
En un entorno comercial donde las balizas están espaciadas a 4 m en baldosas de techo, configurar la potencia de transmisión a −4 dBm reduce el radio de colisión a 26 m—suficiente para recepción fiable por un gateway cercano mientras limita la interferencia con balizas a dos filas de distancia. La tabla muestra que reducir la potencia de +4 a −4 dBm duplica efectivamente la capacidad espacial.
8. Técnicas de Escalonamiento de Intervalos
Aunque la especificación BLE exige un jitter de 0–10 ms, no impide el escalonamiento intencional de intervalos—configurar diferentes balizas con intervalos ligeramente diferentes. Esta técnica descorrelaciona sus patrones de transmisión a lo largo del tiempo.
El enfoque más efectivo es asignar intervalos de un conjunto de valores relacionados con números primos. Por ejemplo, en un despliegue de 100 balizas, en lugar de configurar todas a 200 ms, distribúyalas en cinco valores:
| Grupo | Intervalo (ms) | Cantidad de Balizas | Fundamento |
|---|---|---|---|
| A | 190 | 20 | Intervalo base −5% |
| B | 197 | 20 | Desfase derivado de primo |
| C | 200 | 20 | Nominal |
| D | 211 | 20 | Número primo |
| E | 223 | 20 | Número primo |
El MCM (Mínimo Común Múltiplo) de estos intervalos determina el tiempo antes de que los patrones se repitan: MCM(190, 197, 200, 211, 223) es astronómicamente grande (del orden de 10^12 ms), asegurando efectivamente que dos balizas de diferentes grupos nunca se sincronicen. La reducción de pérdida de paquetes medida con esta técnica es del 30–45% comparada con un intervalo uniforme de 200 ms en las 100 balizas.
Advertencia: esta técnica requiere configuración por baliza, lo que añade tiempo de aprovisionamiento. Para despliegues a gran escala, una interfaz de gestión que soporte asignación de intervalos por lotes con distribución automática es esencial.
9. Publicidad Extendida BLE 5.x
BLE 5.0 introdujo publicidad extendida, que separa la PDU de publicidad en una publicidad primaria (en canales 37/38/39) y una publicidad secundaria (en cualquiera de los 37 canales de datos restantes). Esto distribuye efectivamente el tráfico de balizas en 40 canales en lugar de 3.
La mejora teórica de capacidad de colisión es aproximadamente 40/3 = 13,3×, pero las ganancias prácticas son más modestas porque:
- Los canales primarios aún transportan el puntero AUX_SYNC_IND, por lo que la colisión en canales primarios aún causa pérdida del puntero
- No todos los receptores soportan publicidad extendida BLE 5.x (iOS añadió soporte en iOS 17, muchos dispositivos Android aún solo escanean legacy)
- El canal secundario se indica en la PDU primaria, por lo que el receptor debe decodificar primero el primario
Para despliegues greenfield donde todos los receptores son compatibles con BLE 5.x, la publicidad extendida puede aumentar la capacidad de densidad en 5–8×. Para entornos mixtos, debe usarse junto con publicidad legacy (modo dual), lo que anula parcialmente el beneficio de capacidad.
10. Optimización de Gateway y Escáner
La gestión de colisiones no se trata solo de los transmisores. Los parámetros de escaneo del receptor afectan significativamente la recepción efectiva de paquetes. Parámetros clave para gateways BLE:
| Parámetro | Por Defecto (Teléfono) | Recomendado (Gateway) | Impacto |
|---|---|---|---|
| Ventana de Escaneo | 4.096 ms | Continuo (sin gap) | Elimina pérdida por gap de escaneo |
| Intervalo de Escaneo | 4.096 ms | Continuo | Igual que ventana para 100% duty |
| Escaneo Activo | Sí | No (para balizas) | Reduce tiempo RX consumido por SCAN_RSP |
| Filtro Duplicados | Depende del SO | Ventana 30 segundos | Previene flooding de logs sin perder datos nuevos |
| Decodificación Multi-canal | N/A | 3 receptores paralelos | Captura paquetes superpuestos en canales diferentes simultáneamente |
Un gateway con tres receptores BLE independientes (uno sintonizado a cada canal de publicidad) puede teóricamente lograr 3× el rendimiento de un escáner de receptor único, ya que puede decodificar paquetes superpuestos en canales diferentes. Nordic nRF52840 y nRF5340 soportan recepción multi-canal concurrente vía la capacidad de conmutación rápida de canal del periférico RADIO, aunque la recepción paralela real requiere dos instancias RADIO (disponible solo en nRF5340).
11. Guías de Densidad de Despliegue en el Mundo Real
Basado en mediciones de campo en despliegues comerciales, museos, almacenes y hospitales, las siguientes guías de densidad asumen gateways de escaneo continuo, formato iBeacon, potencia de transmisión de −4 dBm, y una tasa de recepción de paquetes objetivo de ≥95%:
| Escenario | Intervalo Recomendado | Máx. Balizas por Gateway | Espaciado de Gateway | Notas |
|---|---|---|---|---|
| Comercio (push proximidad) | 200 ms | 400 | 15 m | Escalonar intervalos entre zonas |
| Museo (guía audio) | 300 ms | 350 | 12 m | Menor densidad por sala; atenuación de muros ayuda |
| Almacén (RTLS) | 500 ms | 800 | 20 m | Techo alto reduce radio de colisión |
| Hospital (seg. activos) | 500 ms | 600 | 15 m | Equipos médicos añaden ruido RF; añadir 20% margen |
| Parking (ocupación) | 2000 ms | 2.000+ | 30 m | Baja latencia no requerida; densidad muy alta posible |
| Estadio (navegación masas) | 100 ms | 150 | 10 m | Absorción corporal reduce alcance; planificar 40% pérdida por solape |
12. Medición de Colisión en el Campo
Verificar tasas de colisión requiere una configuración de medición controlada. El enfoque recomendado usa un dongle nRF52840 dedicado ejecutando un firmware sniffer personalizado que registra cada publicidad recibida con marca de tiempo, canal, RSSI y dirección MAC.
La métrica clave es la Tasa de Recepción por Baliza (PBRR): para cada baliza, cuente el número de publicidades recibidas durante una ventana de medición y compárelo con el conteo esperado (duración_ventana / intervalo). Un PBRR por debajo del 95% indica problemas de colisión o cobertura RF.
Para distinguir pérdida por colisión de pérdida por cobertura, coloque el sniffer a menos de 2 m de la baliza con línea de visión directa. A esta distancia, el RSSI debería ser >−60 dBm, muy por encima de la sensibilidad. Cualquier pérdida de paquetes en este rango es colisión, no cobertura. Un protocolo de medición típico:
- Desplegar todas las balizas en posiciones y configuraciones finales
- Colocar sniffer en ubicación del gateway, ejecutar 10 minutos
- Exportar logs de RSSI y marca de tiempo por baliza
- Calcular PBRR para cada baliza
- Para balizas con PBRR < 95%, mover sniffer a 2 m de proximidad y re-medir
- Si PBRR mejora a >98% en rango cercano, la pérdida es de cobertura (añadir gateway)
- Si PBRR permanece <95% en rango cercano, la pérdida es de colisión (reducir densidad o escalonar intervalos)
13. Errores Comunes de Diseño
- Configurar todas las balizas a 100 ms: «Más frecuente es mejor» es el error más común. A 100 ms con 500 balizas, la pérdida por colisión excede el 5%, y la vida de la batería cae por debajo de 4 meses. Use el intervalo más largo que su presupuesto de latencia permita.
- Ignorar la planificación de canales WiFi: Desplegar balizas sin coordinar con el equipo de TI los canales WiFi. Un solo AP WiFi en canal 14 en Japón puede causar 8% de pérdida adicional en el canal BLE 39.
- Usar +4 dBm en todas partes: La máxima potencia maximiza el alcance pero también el radio de colisión. Use zonificación de potencia: −12 dBm para zonas densas, 0 dBm para áreas abiertas, +4 dBm solo para balizas gateway en áreas dispersas.
- Sin escalonamiento de intervalos en despliegues homogéneos: 200 balizas idénticas al mismo intervalo dependen completamente del jitter de 10 ms. Escalonar intervalos entre grupos reduce la colisión en 30–45%.
- Gateways de receptor único: Un gateway con un receptor BLE solo puede decodificar un canal a la vez. En despliegues densos, esto crea un cuello de botella de 3× comparado con gateways multi-canal.
14. Lista de Verificación de Diseño
- ☐ Calcular el conteo de balizas requerido y la densidad por zona
- ☐ Seleccionar intervalo de publicidad basado en presupuesto de latencia (más largo es mejor)
- ☐ Asignar grupos de intervalo (primos escalonados) para despliegues >50 balizas por gateway
- ☐ Configurar potencia de transmisión basada en densidad de zona (−4 a −12 dBm para denso, 0 a +4 para disperso)
- ☐ Coordinar canales WiFi con TI (evitar Ch 14, preferir Ch 1/11 sobre Ch 6)
- ☐ Especificar gateways BLE multi-canal para despliegues densos
- ☐ Configurar gateways para escaneo continuo con filtrado de duplicados de 30 segundos
- ☐ Planificar medición de campo con sniffer para verificar PBRR ≥95% por baliza
- ☐ Documentar la asignación de intervalo, potencia y canal para cada baliza para resolución de problemas futura
- ☐ Para entornos de receptor solo BLE 5.x, habilitar publicidad extendida para margen de densidad 5–8×
Conclusión
La colisión de publicidad es el techo invisible sobre la densidad de despliegue de balizas. El modelo ALOHA teórico predice tasas de pérdida bajas que las mediciones del mundo real habitualmente superan en 2–4× debido a interferencia WiFi, efectos de captura y limitaciones del ciclo de trabajo de escaneo. El camino práctico hacia despliegues de alta densidad no es más potencia o intervalos más rápidos—es selección disciplinada de intervalos, zonificación de potencia, escalonamiento de intervalos y gateways multi-canal. Tratando el espectro de 2,4 GHz como un recurso compartido con un presupuesto de colisión cuantificable, los ingenieros pueden desplegar 500+ balizas por gateway con 95%+ de recepción de paquetes, incluso en entornos saturados de WiFi. Para despliegues que exceden 1.000 balizas por zona de cobertura, la publicidad extendida BLE 5.x proporciona la diversidad de canal adicional necesaria para mantener la fiabilidad sin sacrificar la tasa de actualización.
Comprender estas dinámicas de colisión es esencial ya sea que esté desplegando un puñado de balizas de proximidad o diseñando un sistema RTLS a gran escala con balizas Bluetooth en todo un campus.
