Full text
Equation Chapter 1 Section 1 Trabajo Fin de Grado en Ingeniería de las Tecnologías de Telecomunicación Determinación de la posición de dispositivos IoT en condiciones adversas mediante evaluación de calidad de las medidas Autora: Victoria Maldonado Luna Tutora: Eva María Arias De Reyna Dominguez Dpto. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2025
iii Trabajo Fin de Grado en Ingeniería de las Tecnologías de Telecomunicación Determinación de la posición de dispositivos IoT en condiciones adversas mediante evaluación de calidad de las medidas Autora: Victoria Maldonado Luna Tutora: Eva María Arias De Reyna Dominguez Profesora titular Dpto. de Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2025
Trabajo Fin de Grado: Determinación de la posición de dispositivos IoT en condiciones adversas mediante evaluación de calidad de las medidas Autora: Victoria Maldonado Luna Tutora: Eva María Arias De Reyna Dominguez El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2025 El Secretario del Tribunal
v A mi familia
Agradecimientos Con este Trabajo de Fin de Grado cierro una etapa muy importante de mi vida, una etapa que ha requerido mucho esfuerzo, constancia y dedicación. Sin duda, el mayor aprendizaje que me llevo es haber comprendido el valor del trabajo en equipo. Por ello, quiero dar las gracias a todos los que han formado parte de mi equipo durante estos años. En casa siempre nos hemos considerado un gran equipo, y estamos los unos para los otros. Quiero empezar agradeciendo a mis padres, la pieza fundamental de este equipo, mis ejemplos a seguir. Han creído en mí incluso cuando yo misma dudaba, me han animado a seguir siempre adelante, me han enseñado el valor del esfuerzo y me han dado la confianza en mi misma para luchar por todo lo que me proponga. Han sido mi pilar fundamental a lo largo de toda la carrera, y sin su apoyo incondicional no estaría hoy donde estoy. Gracias, de corazón. A mis hermanas, Mónica, Carmen y Marieta, por estar siempre ahí, por animarme, por hacerme reír cuando más lo necesitaba y por no dejarme caer. Sin vosotras, nada sería igual. Qué afortunada soy por teneros. A mis abuelos, y a mi Yeya, gracias por confiar en mí, por vuestro cariño constante y por estar presentes en cada paso del camino. Mi otro gran equipo son mis amigos, sin duda, lo mejor que me ha dado la universidad. Estoy convencida de que no habría llegado hasta aquí sin ellos. En los momentos difíciles, siempre supimos encontrar motivos para reírnos, disfrutar y apoyarnos mutuamente. Esos momentos, sin duda, son los que más echo de menos, y me los llevo conmigo para siempre. Gracias especialmente a Marina, María, Nuria, Mª Jesús y Paula. Sois las mejores. Mi otro equipo es del colegio, pero he tenido la suerte de que me han acompañado en esta etapa. Gracias a María y a Meme por estar siempre ahí y por crecer juntas. Vuestra amistad ha sido, y sigue siendo, un regalo. También quiero agradecer a todos los profesores que me han acompañado durante mi paso por la Escuela. Gracias por vuestra dedicación y paciencia. En especial, gracias a mi tutora, Eva, por formarme, guiarme y apoyarme en este trabajo. Gracias a todos. Victoria Maldonado Luna Sevilla, 2025
vii Resumen La tecnología Ultra Wide-Band ha evolucionado como una de las principales soluciones para la localización en interiores debido a su alta precisión y capacidad de penetración en obstáculos. Sin embargo, la propagación en condiciones NLOS (Non-Line of Sight) introduce errores que afectan la estimación de posición. Este trabajo compara distintos métodos basados en mínimos cuadrados mediante simulaciones en MATLAB, incluyendo Solución no lineal de mínimos cuadrados NLS, Solución no lineal de mínimos cuadrados con conocimiento de la condición de visión NLS-CCV, Solución de mínimos cuadrados lineales LLS y algoritmo LLS ponderado por cuadrado delimitador B-WLS, este último diseñado para mitigar errores NLOS mediante ponderación adaptativa. Los resultados destacan la eficacia de B-WLS en escenarios con obstáculos, resaltando la importancia de técnicas de ponderación para mejorar la precisión. Además, se plantean futuras investigaciones para evaluar estos métodos en entornos dinámicos y con distintas configuraciones de anclaje.
Abstract Ultra Wide-Band technology has evolved as one of the main solutions for indoor localization due to its high accuracy and obstacle penetration capability. However, propagation under Non-Line of Sight (NLOS) conditions introduces errors that affect position estimation. This work compares different least squares-based methods through MATLAB simulations, including Nonlinear Least Squares NLS, Nonlinear Least Squares with knowledge of the Line-ofSight condition NLS-CCV, Linear Least Squares LLS, and Bounding Box-Weighted Linear Least Squares B-WLS, the latter designed to mitigate NLOS errors through adaptive weighting. The results highlight the effectiveness of B-WLS in scenarios with obstacles, underscoring the importance of weighting techniques to enhance accuracy. Furthermore, future research is proposed to evaluate these methods in dynamic environments and with different anchor configurations.
ix Índice Agradecimientos vi Resumen vii Abstract viii Índice ix Índice de Tablas xi Índice de Figuras xii Notación xiii 1 Introducción 1 1.1 Objetivo del estudio 1 1.2 Estructura del trabajo 2 2 Marco histórico 5 2.1. Órigenes de las tecnologías de localización 5 2.1.1 Desarrollo de la localización en exteriores 5 2.1.2 Primeras tecnologías para localización en interiores 6 2.2 UWB 7 3 Ultra Wideband 11 3.1 Caracteristicas técnicas 11 3.1.1 Principios de funcionamiento de UWB 11 3.2 Funcionamiento de la tecnología UWB 15 3.2.1 Algunos métodos de medición de magnitudes relacionadas con la posición 15 3.2.2 Cálculo de la posición 18 3.3 Comparación de Ultra-WideBand con otras tecnologías inalámbricas 19 3.3.1 Ventajas 19 3.3.2 Desventajas 19 4 Algoritmos implementados 21 4.1 Condiciones de propagación 21 4.2 Mínimos Cuadrados 22 4.2.1 Solución no lineal de mínimos cuadrados NLS 22 4.2.2 Método de mínimos cuadrados lineales LLS 23 4.2.3 Solución no lineal de mínimos cuadrados con conocimiento de la condición de visión NLS-CCV 23 4.2.4 Problema del error NLOS 24 4.3 Algoritmo LLS Ponderado por Cuadro Delimitador (B-WLS) 25 4.3.1 Bounding-Box 25 4.3.2 Cuadro delimitador como indicador de incertidumbre 26 5 Espacio de trabajo en la simulación 28 5.1 Área de simulación 28 5.2 Modelado del error en mediciones de distancia para simulación y evaluación de métodos de localización 29 5.2.1 Parámetros del Sistema 30
Introducción 2 • Método NLS con con conocimiento de la condición de Visión (NLS-CCV): Variante de NLS en la que se consideran pesos diferenciales entre medidas LOS y NLOS, permitiendo mejorar la precisión en condiciones ideales. • Método de Mínimos Cuadrados Lineales (LLS): Simplificación del NLS que permite reducir la carga computacional mediante una formulación linealizada del problema. • Método B-WLS: Algoritmo basado en la construcción de cajas delimitadoras para cada ancla, estableciendo pesos inversamente proporcionales a la incertidumbre de cada medida, lo que permite reducir el impacto de errores NLOS. Se busca evaluar el rendimiento relativo de cada método en diferentes condiciones, analizando el impacto de la cantidad de anclas, la presencia de medidas erróneas y la influencia del ancho de banda en la precisión final. 1.2 Estructura del trabajo Fundamentos teóricos y algoritmos de localización: Se proporciona una descripción detallada de los algoritmos implementados, explicando sus fundamentos matemáticos y la forma en que procesan las mediciones de distancia para estimar la posición del nodo objetivo. Se introducen los modelos LOS y NLOS, que caracterizan las condiciones de propagación de la señal, y se presentan las estrategias utilizadas en cada método para mitigar su impacto. Simulación del sistema de localización: Se describe el entorno de simulación desarrollado en MATLAB, incluyendo la generación de posiciones de anclas y nodos, el modelo de errores de medición, y la metodología utilizada para evaluar los distintos métodos. Se detallan las áreas de simulación consideradas (5x5 m², 10x10 m² y 15x15 m²), así como los parámetros empleados en las pruebas, como la frecuencia de operación de 500 MHz y 1000 MHz. Comparación y análisis de resultados: Se presentan los resultados obtenidos a partir de las simulaciones, incluyendo gráficos comparativos de la raíz del error cuadrático medio (root mean square error, RMSE) para cada método, en función del número total de anclas y del número de anclas afectadas por NLOS. Se realiza un análisis detallado del impacto del área de trabajo y del ancho de banda en la precisión de la localización, destacando las fortalezas y limitaciones de cada método. Conclusiones y perspectivas futuras Finalmente, se presentan las conclusiones más relevantes del estudio y se proponen posibles líneas de investigación futuras. Entre ellas, se plantea la mejora en la implementación del método BWLS, la optimización en la distribución de las anclas para maximizar la precisión de localización y el análisis del rendimiento en diferentes configuraciones de área, permitiendo una evaluación más amplia de la robustez de los métodos en distintos entornos.
3 3 Importancia del estudio El análisis detallado de los distintos métodos de localización permitirá entender cómo mejorar la precisión en entornos con errores NLOS, optimizando los sistemas actuales mediante técnicas de ponderación y bounding box. Además, este estudio servirá como referencia para futuras investigaciones en sistemas de posicionamiento en tiempo real (RTLS). Con esta estructura, el trabajo busca proporcionar una evaluación rigurosa y comparativa de los métodos de mínimos cuadrados ponderados, permitiendo identificar cuál de ellos ofrece mejores prestaciones en distintos escenarios y condiciones de propagación.
5 2 MARCO HISTÓRICO EN esta sección, se explorarán los orígenes de las tecnologías de localización, comenzando con el Sistema de Posicionamiento Global (GPS) y sus limitaciones en entornos cerrados. Se analizarán las primeras tecnologías de localización en interiores, con un enfoque en UWB, desde sus inicios en investigaciones militares hasta su adopción en aplicaciones civiles. También se discutirá su estandarización por el IEEE, la regulación de la FCC y su integración en dispositivos modernos, destacando su potencial para transformar las comunicaciones inalámbricas. 2.1. Órigenes de las tecnologías de localización 2.1.1 Desarrollo de la localización en exteriores La historia de los órigenes de localización en exteriores se remonta a la época de la Guerra Fría, cuando la Unión Soviética lanzó el Satélite Sputnik I en 1957 lo que marcó un hito en la carrera espacial, ya que los científicos estadounidenses descubrieron que podían rastrear su órbita mediante el efecto Doppler. Este principio sirvió de base para el primer sistema de posicionamiento satelital, Transit, desarrollado por la Marina de los EE. UU. en la década de 1960. Posteriormente, en la década de 1970, el Departamento de Defensa de EE. UU. diseñó el Sistema de Posicionamiento Global, compuesto por una constelación de satélites en órbita capaces de proporcionar datos de localización con alta precisión.(2) En 1978, el Departamento de Defensa de los Estados Unidos decidió expandir la tecnología de posicionamiento con el lanzamiento de una nueva red de 24 satélites, diseñados para respaldar un sistema de navegación más avanzado y preciso. Durante casi dos décadas, el acceso al GPS estuvo restringido al ámbito militar debido a un programa denominado Selective Availability, que permitía al gobierno estadounidense degradar intencionalmente la señal para evitar su uso por parte de actores no autorizados, garantizando así la seguridad nacional. Sin embargo, en mayo del año 2000, el presidente Bill Clinton ordenó la desactivación de Selective Availability, lo que permitió el acceso libre al GPS para usuarios civiles y comerciales en todo el mundo. Esta decisión marcó un punto de inflexión en la evolución del GPS, facilitando su adopción masiva en sectores como la navegación, el transporte, la agricultura de precisión y las telecomunicaciones, sentando las bases para muchas de las aplicaciones que hoy forman parte de la vida cotidiana.
Marco histórico 6 Además del GPS, existen otros sistemas globales de navegación por satélite (GNSS) que proporcionan servicios de posicionamiento en exteriores. Entre ellos se encuentran Galileo, desarrollado por la Unión Europea, GLONASS, operado por Rusia, y BeiDou, el sistema de navegación de China. Estos sistemas funcionan de manera similar al GPS, ofreciendo cobertura global y mejorando la precisión del posicionamiento gracias a la combinación de señales de diferentes constelaciones de satélites. Sin embargo, a pesar de la utilidad de estos sistemas en entornos abiertos, todos ellos presentan las mismas limitaciones cuando se trata de localización en interiores. La señal satelital se debilita o se bloquea por estructuras como edificios, túneles o estacionamientos subterráneos, lo que impide un posicionamiento preciso. Debido a estos inconvenientes, han surgido diversas tecnologías diseñadas específicamente para la localización en interiores. 2.1.2 Primeras tecnologías para localización en interiores En los últimos años, se ha dedicado un gran esfuerzo al desarrollo de soluciones que permitan que la localización en interiores alcance el mismo nivel de precisión que la disponible en exteriores. Esto supone un desafío importante, ya que no existen mapas predefinidos, las señales pueden sufrir interferencias y reflexiones debido a la presencia de estructuras físicas, y la exactitud requerida en la localización debe ser considerablemente mayor, dado que el GPS solo proporciona una precisión aproximada de 10 metros en condiciones óptimas.(3) Para que la localización en interiores sea tan efectiva y precisa como la que se consigue en exteriores, es fundamental desarrollar tecnologías que permitan identificar la posición de personas y objetos con gran exactitud. Esto resulta especialmente útil en una amplia variedad de aplicaciones, como la gestión de activos en fábricas y almacenes, la mejora de la seguridad y eficiencia en hospitales, la optimización del flujo de clientes en centros comerciales y aeropuertos, o el guiado preciso en museos y edificios inteligentes. Además, en sectores como la automatización industrial y la robótica, una localización precisa es clave para la navegación autónoma y la coordinación eficiente de dispositivos. A lo largo de los años, diversas tecnologías han sido adaptadas para la localización en interiores con distintos niveles de precisión y fiabilidad. El uso de RFID y Wi-Fi para posicionamiento se remonta a principios de los años 2000, cuando se comenzaron a explorar estas tecnologías para rastrear activos en entornos controlados. Bluetooth Low Energy (BLE) surgió alrededor de 2010 como una opción más eficiente en términos de consumo energético para la localización en interiores mediante balizas. La tecnología UWB comenzó a ganar popularidad en la última década, especialmente tras su adopción en dispositivos de consumo como teléfonos inteligentes, debido a su alta precisión en el posicionamiento. Otras soluciones como ZigBee y los sistemas de visión artificial también han sido incorporadas en diversas aplicaciones, con mejoras continuas para ofrecer mayor precisión y fiabilidad. El avance de estas tecnologías ha permitido mejorar la localización en interiores de manera significativa, aunque todavía existen desafíos como la interferencia de señales, la necesidad de infraestructura adicional y el desarrollo de algoritmos más eficientes para el procesamiento de datos en tiempo real.
7 2.2 UWB El inició del desarrollo de la que ahora conocemos como la tecnología Ultra Wide-Band se remonta a los experimentos realizados por Johann Philipp Reis en la década de 1860. Reis, fue un inventor alemán que desarrolló un dispositivo con el cual se podía transmitir el sonido hasta una distancia de 100 metros, fue uno de los primeros inventos de transmitir voz de manera electrónica a través de alambres. El invento de Reis utilizaba un método de transmisión basado en la generación de pulsos de señal extremadamente cortos. Estos pulsos, sentaron las bases para la investigación posterior en este campo. Otros investigadores claves que contribuyeron al desarrollo de Ultra Wideband UWB fue Nikola Tesla, quién experimentó con señales de radio de banda ancha en sus investigaciones a principios de XX, y Guglielmo Marconi, que demostró la viabilidad de la tecnología UWB en 1901 al transmitir señales de radio através del Oceáno Atlántico. Pero, finalmente su uso comercial no despegó de inmediato debido a una serie de desafíos técnicos y regulatorios que produjo que esta tecnología quedase restringuida para uso exclusivo militar. Sin embargo, la verdadera revolución en el desarrollo del UWB comenzó en la década de 1960, cuando los militares estadounidenses exploraron activamente aplicaciones en diferentes campos como radar, comunicaciones, sensores y sistemas de posicionamiento entre otros. Durante las décadas siguientes, se llevaron a cabo numerosos estudios y experimentos en el campo de UWB, tanto en entornos militares como civiles. A medida que avanzaba la tecnología, surgieron aplicaciones potenciales en campos como la comunicación inalámbrica de alta velocidad, la detección de objetos y la localización en interiores. Uno de los hitos más importantes en la historia del UWB ocurrió en 2002, cuando la FCC de los Estados Unidos emitió regulaciones que permitían el uso sin licencia de esta tecnología en ciertos rangos de frecuencia. Esto marcó un punto de inflexión significativo, ya que abrió la puerta a una amplia gama de aplicaciones comerciales y de consumo. La idea principal de la norma realizada por la FCC es definir qué tecnologías basadas en canales UWB usan una gran porción espectral y baja potencia de transmisión. La baja potencia de transmisión autorizada por la FCC (Comisión Federal de Comunicaciones) ha sido un factor limitante en el alcance efectivo de las comunicaciones utilizando la tecnología UWB. Esta limitación se ha establecido para evitar interferencias con otros dispositivos de comunicación y garantizar la coexistencia armoniosa en el espectro radioeléctrico.(4) El rango de frecuencia en el que opera Ultra Wide Band, según las regulaciones de la FCC, generalmente abarca desde 3.1 GHz hasta 10.6 GHz. Este amplio rango de frecuencias permite una transmisión de datos de alta velocidad y una precisión excepcional en la localización en una variedad de aplicaciones. Estos amplios rangos de frecuencia no suelen causar interferencias con otras tecnologías de banda estrecha. En la figura 2-1 podemos ver el ancho que ocupa UWB en relación con otras tecnologías.
Marco histórico 8 Figura 2-1 Comparativa de Frecuencias (5) El IEEE (Instituto de Ingenieros Eléctricos y Electrónicos) ha desempeñado un papel crucial en la estandarización del Ultra Wide Band (UWB) a través de su grupo de trabajo IEEE 802.15 WPAN Low Rate Alternative PHY Task Group 4a (TG4a). Este grupo se dedica específicamente a definir estándares para el nivel físico y el control de acceso al medio para redes de área personal inalámbricas (WPAN) de baja velocidad y potencia basadas en UWB.(6) • IEEE 802.15.4-2003 • IEEE 802.15.4a-2006 (Revisión) • IEEE 802.15.4a-2007 (Enmienda) Estos estándares tienen como objetivo principal definir los requisitos para sistemas de baja complejidad, bajo coste y con baterías de larga duración, que pueden funcionar durante meses o años sin necesidad de recarga. Esto es fundamental para aplicaciones de dispositivos IoT y otros dispositivos de baja potencia que utilizan tecnología UWB para la comunicación inalámbrica. (7) En 2020, se introdujo una extensión del estándar IEEE 802.15.4, conocida como IEEE 802.15.4z, que se centró en mejorar la seguridad y en la eficiencia espectral de UWB. La enmienda propuesta al estándar IEEE 802.15.4 busca mejorar las capacidades de UWB mediante la optimización de los aspectos físicos y de control de acceso al medio (MAC). Esto incluye la introducción de opciones de codificación adicionales y mejoras en las técnicas de modulación para aumentar la precisión de las mediciones de distancia, así como el soporte en el MAC para la coordinación de procedimientos de medición de tiempo de vuelo y el intercambio de información relacionada con la medición de distancia entre dispositivos UWB. Con un rango típico de hasta 100 metros, estas mejoras son fundamentales para aplicaciones que requieren comunicaciones precisas y eficientes en entornos UWB, como la localización en interiores y el seguimiento de activos. También surge la UWB Alliance, es una organización importante creada para promover y avanzar en el uso de la banda Ultra Wide Band. Con una membresía diversa que incluye empresas líderes en diversas industrias, como Kia Motors, Decawave, Hyundai e iRobot, la UWB Alliance trabaja para impulsar la adopción y la implementación de la tecnología UWB en una amplia gama de aplicaciones y mercados. Su objetivo principal es fomentar la innovación, la colaboración y el desarrollo de estándares para aprovechar al máximo el potencial de UWB en áreas como la
9 localización precisa, la conectividad de dispositivos IoT, la automatización del hogar, la movilidad inteligente entre otras. En la actualidad, UWB está presente en algunos modelos recientes de teléfonos inteligentes, como los de la serie iPhone de Apple, en los que se ha incluido un chip U1 de banda ultraancha. Este chip utiliza la tecnología UWB para permitir funciones como el AirDrop direccional, que permite compartir archivos de manera más precisa apuntando hacia otro dispositivo cercano. A medida que UWB continúa evolucionando y se integra en una variedad de dispositivos, es posible que compita directamente con Bluetooth en ciertas áreas, y podría desbancar a Bluetooth en aplicaciones donde se necesitan mayores velocidades de datos, precisión de localización y confiabilidad en entornos congestionados. Sin duda, es crucial destacar que Ultra Wide Band está experimentando una evolución notable, con mejoras continuas en sus capacidades y aplicaciones. Además, se espera que en los próximos años esta tecnología experimente un crecimiento significativo y se expanda a muchos más ámbitos.
11 3 ULTRA WIDEBAND n este capítulo, se profundizará en las características técnicas de la tecnología UltraWideband, explorando sus principios fundamentales de funcionamiento y cómo se distingue de otras tecnologías inalámbricas. Se abordarán aspectos clave como el ancho de banda extendido, la transmisión por pulsos, y su capacidad para operar a baja potencia, lo que le otorga ventajas en velocidad, precisión y eficiencia energética. Además, se comparará UWB con tecnologías como Wi-Fi y Bluetooth, destacando sus fortalezas y limitaciones en diversos contextos de aplicación. 3.1 Caracteristicas técnicas Tras haber introducido la evolución histórica de la tecnología UWB, es esencial profundizar en sus características técnicas. Actualmente, las tecnologías inalámbricas de área local (WLAN) más comunes, como Wi-Fi y Bluetooth, se crearon con la finalidad de conectar de forma inalámbrica diversos dispositivos en distancias cortas y a velocidades moderadas. No obstante, estas tecnologías aún enfrentan importantes desafíos, como la necesidad de mejorar la velocidad de transmisión, extender la autonomía de los dispositivos y reforzar la seguridad en las comunicaciones.(8) Ultra-Wideband, se caracteriza por cualquier transmisión de radio que ocupe un ancho de banda superior al 25% de su frecuencia central o que su ancho de banda exceda los 500 MHz. Aunque esta definición pueda parecer poco precisa al principio, permite distinguir claramente a UWB de los sistemas tradicionales de banda estrecha y de los modernos sistemas celulares de banda ancha. Las diferencias clave entre UWB y estos sistemas radican en dos aspectos fundamentales. Primero, UWB emplea un ancho de banda significativamente mayor que el de cualquier tecnología de radio celular actual. Segundo, a diferencia de los sistemas convencionales que utilizan señales sinusoidales, UWB transmite mediante pulsos en la modalidad IR.(9) Cabe destacar que la tecnología UWB admite distintas modalidades de operación. En este trabajo, todas las referencias a UWB se centran exclusivamente en la modalidad Impulse Radio (IR-UWB), utilizada habitualmente en sistemas de localización y caracterizada por su baja tasa de transmisión, alta resolución temporal y resistencia a interferencias. 3.1.1 Principios de funcionamiento de UWB 3.1.1.1 Baja potencia de transmisión Una de las características más destacadas de la tecnología Ultra-Wideband es su capacidad para operar a baja potencia de transmisión sin comprometer el rendimiento en la velocidad de datos ni en la precisión de la comunicación. Esto se debe, en gran parte, al amplio ancho de banda que E
Ultra Wideband 18 3.2.2 Cálculo de la posición Una vez que se han estimado las distancias o ángulos, se pueden utilizar diferentes algoritmos para calcular la posición exacta del objeto o persona: • Trilateración La trilateración es el método que se empleará en este trabajo para la determinación precisa de la posición. Este enfoque se basa en la medición de distancias desde al menos tres puntos de referencia conocidos, también denominados anclas. A partir de estas distancias, se construyen circunferencias en un plano, y el punto donde estas se intersectan determina la ubicación exacta del objeto en un entorno 2D, que puede extenderse a 3D si hay al menos 4 anclas. (15) La trilateración es la base de los sistemas que utilizan tecnología UWB, dado que permite alcanzar una alta precisión en la localización, gracias a la exactitud en la medición del tiempo que caracteriza a esta tecnología. • Triangulación Similar a la trilateración, pero este método utiliza ángulos y distancias. Se requieren al menos dos ángulos y una distancia para determinar la posición en un plano 2D. Este enfoque es común en sistemas que pueden medir el AoA con precisión.(15) • Multilateración Se basa en TDoA de las señales en múltiples receptores. A partir de estas diferencias, se puede calcular la posición con precisión. Es muy utilizado en sistemas que requieren una alta exactitud sin necesidad de sincronización perfecta entre todos los dispositivos.(15) • Análisis de la Escena Consiste en utilizar sensores o cámaras para capturar y analizar una escena en tiempo real. A partir de las diferencias en la escena, se pueden detectar y localizar objetos o personas. Este método es más complejo, pero muy útil en aplicaciones que requieren reconocimiento visual o análisis detallado del entorno.(15) • Proximidad Este método detecta cuando un objeto o persona se encuentra cerca de un punto de referencia conocido, utilizando sensores de contacto, capacitancia, etiquetas (tags) o tecnologías como NFC. Es un enfoque más simple y se usa en aplicaciones donde la precisión no es crítica, pero es importante saber si algo o alguien está dentro de una zona específica.(15)
19 3.3 Comparación de Ultra-WideBand con otras tecnologías inalámbricas A continuación, se presentarán los principales beneficios y limitaciones de UWB, seguidos de una comparación detallada con Wi-Fi y Bluetooth en términos de velocidad, consumo energético, seguridad, costes y penetración en el mercado. Esta comparación nos permitirá entender mejor en qué contextos UWB puede ser la tecnología más adecuada y dónde otras soluciones podrían ser más efectivas. 3.3.1 Ventajas • Alta velocidad de transmisión: UWB permite velocidades de transmisión de varios Gbps, superando ampliamente los 22 Mbps de Wi-Fi y el 1 Mbps de Bluetooth. La tecnología UWB puede alcanzar velocidades de transmisión de hasta 100 Mbps – 500Mbps, incluso con una baja densidad espectral de potencia. (4,16) • Bajo consumo energético: Los dispositivos UWB consumen menos energía debido a sus niveles de potencia radiada extremadamente bajos (menos de 0,5 mW), en comparación con los cientos de mW que consumen Wi-Fi y Bluetooth. Esto se traduce en mayor autonomía de la batería, una característica muy valorada en dispositivos móviles. • Alta seguridad: UWB ofrece una seguridad intrínseca gracias a la dificultad para interceptar la señal sin conocer la secuencia exacta de transmisión. Además, la relación señal/ruido es tan baja que las transmisiones pueden confundirse con el ruido ambiental. También permite cifrado sin restricciones y la exclusión de dispositivos más allá de una distancia específica.(16) • Simplicidad y bajo coste: La ausencia de portadora reduce la necesidad de componentes de radiofrecuencia complejos, lo que simplifica la arquitectura del transceptor. No requieren componentes costosos como mezcladores, filtros, amplificadores y osciladores locales.(16) 3.3.2 Desventajas • Alcance limitado: La capacidad de alcance de la señal UWB es limitada. Para aumentar el alcance, es necesario reducir la velocidad de transmisión, ya que existen límites en los niveles máximos de potencia permitidos, lo que puede afectar la eficiencia del sistema. (17) • Sensibilidad a los obstáculos: El posicionamiento UWB en interiores puede verse afectado por obstáculos que bloqueen la transmisión de la señal. Aunque obstáculos pequeños no afecten mucho debido a la difracción,
Ultra Wideband 20 si la señal se bloquea por completo, la estación base no recibirá la señal, lo que generará imprecisiones en la localización.(4) • Coste elevado de implementación: A pesar de la simplicidad de su arquitectura, el despliegue global de soluciones basadas en UWB sigue siendo más costoso en comparación con tecnologías más establecidas, lo que limita su expansión en ciertos mercados. Ultra Wideband se destaca frente a tecnologías como Wi-Fi y BLE por su alta precisión en la medición de distancias y localización. Mientras que Wi-Fi tiene una precisión de aproximadamente 5-15 metros y BLE 4.0 alcanza los 8 metros (mejorando a menos de 1 metro en BLE 5.1 con línea de vista), UWB logra una precisión inferior a 30 cm. Esta capacidad lo convierte en una opción ideal para aplicaciones que requieren posicionamiento exacto. Además, a pesar de operar en un rango similar al de Wi-Fi (hasta 150 metros), su menor interferencia y alta resolución espacial lo hacen superior en entornos congestionados.(8) En cuanto a eficiencia energética, UWB consume considerablemente menos potencia que Wi-Fi, lo que lo hace ideal para dispositivos móviles y aplicaciones IoT. Aunque BLE es conocido por su bajo consumo de energía, su precisión de localización es inferior a la de UWB, especialmente en entornos complejos. Sin embargo, UWB presenta la desventaja de ser una tecnología menos extendida y con un coste de implementación más alto en comparación con Wi-Fi y BLE, que ya cuentan con una gran infraestructura y compatibilidad con múltiples dispositivos. Figura 3-8 Comparativa UWB (18)
21 4 ALGORITMOS IMPLEMENTADOS n esta sección, se presentan los algoritmos utilizados para la estimación de la posición en el escenario de simulación. Uno de los métodos clave que se ha considerado es el algoritmo ponderado de mínimos cuadrados basado en Bounding Box, B-WLS, propuesto por Yang, el cual introduce mejoras en la precisión al asignar diferentes pesos a las mediciones según su calidad. Además, se han implementado y comparado otros métodos de estimación, como; NLS (Nonlinear Least Squares), NLS con conocimiento de la condición de visión (Variante del NLS que incorpora información adicional basada en visión para mejorar la precisión en ciertos entornos) y LLS (Linear Least Squares). El objetivo principal de esta comparación es evaluar el rendimiento de cada método en función de diferentes configuraciones de anclas, analizando su impacto en la estimación de posición. En las siguientes secciones, se detallará el funcionamiento de cada uno de estos algoritmos, junto con sus fundamentos matemáticos 4.1 Condiciones de propagación En los sistemas de localización basados en distancia, la precisión de la estimación depende en gran medida de si la señal entre el nodo y el ancla se transmite sin obstrucciones o si ha sido afectada por interferencias en el entorno. Por esta razón, las mediciones pueden clasificarse en dos categorías principales: • Mediciones LOS (Visión Directa): Ocurren cuando la señal de comunicación entre el nodo y el ancla no encuentra obstáculos en su trayectoria. Estas mediciones son generalmente precisas, ya que la distancia estimada corresponde a la distancia real entre los dispositivos. • Mediciones NLOS (Sin Visión Directa): Se presentan cuando existen objetos en el entorno que bloquean o reflejan la señal antes de llegar al nodo. Esto provoca que la distancia medida sea mayor a la real debido a la propagación a través de un medio a velocidad diferente de la velocidad en el aire o a los efectos de refracción, difracción y reflexión de la señal, lo que introduce errores en la localización. Para mitigar este problema, se considera una clasificación de las anclas basada en la calidad de la medición de distancia: • Anclas DDP: Corresponden a aquellas anclas con visión directa LOS o bien NLOS de forma que llega a detectarse el rayo directo, cuyas mediciones son confiables y tienen un bajo error asociado; también incluye las NLOS en el que se ha podido detectar el trayecto directo y se obtiene una estimación precisa de la distancia. • Anclas UDP: Son anclas cuya medición está afectada por obstrucciones NLOS que bloquean totalmente el rayo directo generando errores significativos. E
Algoritmos implementados 22 Dado que las anclas UDP pueden inducir sesgos importantes en la estimación de posición, su contribución en los algoritmos de localización debe ponderarse de manera diferente como veremos a continuación en detalle con los métodos implementados. 4.2 Mínimos Cuadrados 4.2.1 Solución no lineal de mínimos cuadrados NLS El método NLS es una técnica de estimación basada en la minimización de la suma de los residuos cuadrados (SSR, Sum of Squared Residuals). Este método se utiliza ampliamente en problemas de localización debido a su capacidad para manejar relaciones no lineales entre las variables de interés y las mediciones disponibles. En el contexto de localización, la posición de un nodo desconocido se representa mediante el vector 𝒛=(𝑥,𝑦)!.!!Esta posición se estima minimizando la diferencia entre las distancias medidas 𝑟! y las distancias teóricas calculadas con respecto a un conjunto de anclas con posiciones conocidas. Dado un conjunto de 𝑁0*1 anclas, donde 𝑁0*1 representa el número total de anclas, con posiciones conocidas 𝒛𝒊=!(𝑥!,𝑦!), las mediciones de distancia 𝑟!!entre el nodo desconocido y cada ancla se obtienen mediante técnicas como ToA (Time of Arrival) siendo 𝑑!!la distancia real. Estas mediciones se modelan como: (17) 𝑟!=𝑑!+𝜖!=‖𝒛−𝒛𝒊‖+𝜖! El calculo de los residuos lo podremos expresar como: 𝑅𝑒𝑠!(𝒛)=𝑟!−||𝒛−𝒛𝒊|| El objetivo de NLS es encontrar la posición 𝑧F que minimice la suma de los cuadrados de estos residuos: 𝒛G345 =argminMN𝑅𝑒𝑠! / 3!"# !67 (𝒛)O Dado que la ecuación a minimizar es de naturaleza no lineal, no puede resolverse directamente mediante una expresión analítica cerrada. Por ello, es necesario emplear métodos numéricos iterativos, como el método de Gauss-Newton, para aproximar la solución. Sin embargo, la aplicación del método de Gauss-Newton conlleva un alto coste computacional, ya que requiere la evaluación repetida de derivadas y la resolución de sistemas de ecuaciones en cada iteración. Esto puede volverse especialmente costoso cuando se trabaja con un gran número de anclas o cuando se requiere alta precisión en la estimación. Para abordar esta dificultad, en la implementación realizada se ha optado por un enfoque basado en la comparación de los errores residuales en una malla de búsqueda (grid). En este método, se evalúa la función de error en distintas posiciones del espacio y se selecciona la que minimiza dicho error. Aunque esta estrategia puede ser menos eficiente en términos de resolución de precisión fina, permite evitar la complejidad computacional de los métodos iterativos avanzados.
23 4.2.2 Método de mínimos cuadrados lineales LLS El método Linear Least Squares es una aproximación lineal al problema de localización basado en el método de Nonlinear Least Squares. Su principal ventaja es que reduce la complejidad computacional al convertir el problema en un sistema de ecuaciones lineales, evitando la necesidad de métodos iterativos como Gauss-Newton. La formulación de LLS se obtiene reescribiendo las ecuaciones de distancia y restando la ecuación de un ancla de referencia de las ecuaciones de las demás anclas. Esto permite expresar la estimación de la posición en términos de una ecuación lineal que se puede resolver directamente.(17) El problema de localización se basa en la siguiente ecuación de distancia entre el nodo desconocido z = (x,y) y un ancla 𝒛𝒊=(𝑥!,𝑦!): 𝑑!=‖𝒛−𝒛𝒊‖=P(𝑥−𝑥!)/+(𝑦−𝑦!)/ Dado que esta ecuación es no lineal, el método LLS linealiza el problema restando la ecuación de un ancla de referencia 𝑟 a todas las demás ecuaciones, obteniendo el siguiente sistema de ecuaciones lineales:(19) 𝒛G𝑳𝑳𝑺 =12!(𝑨𝑻!𝑨)-7!𝐴;!𝑝" Donde: 𝑨=T (𝑥7−𝑦<) ! (𝑦7−𝑦<) ⋮ ! ⋮ (𝑥30*1 −𝑥<) ! (𝑦30*1 −𝑦<)V, 𝒑𝟑=X 𝑟F< /!−𝑟F7 /!−𝑘<,7 ⋮ 𝑟F< /!−𝑟F30*1 /!−𝑘<,30*1Y, Donde 𝑘<,! =𝑘<−𝑘!, siendo r el ancla de referencia y 𝑘!=𝑥! /+𝑦! /. 4.2.3 Solución no lineal de mínimos cuadrados con conocimiento de la condición de visión NLSCCV En este método, la estimación de la posición se obtiene minimizando la suma de los residuos cuadrados, al igual que en el método NLS estándar. Sin embargo, se introduce un factor de ponderación que diferencia entre las mediciones provenientes de anclas DDP y anclas UDP. Dado que las ecuaciones involucradas siguen siendo no lineales, no pueden resolverse de manera analítica y requieren el uso de métodos numéricos como Gauss-Newton. Sin embargo, como este método puede ser computacionalmente exigente, se ha implementado una alternativa basada en búsqueda en malla (grid search) para encontrar la mejor estimación de posición mediante la evaluación de errores en distintas ubicaciones candidatas. La ecuación de este método se define como:
Algoritmos implementados 24 𝑅𝑒𝑠!(𝒛)=𝑟!−||𝒛−𝒛𝒊|| 𝒛G𝑵𝑳𝑺-𝑪𝑪𝑽 =arg𝑚𝑖𝑛!]N𝜃! 3 !67 (𝑅𝑒𝑠! /(𝒛))^! En este método, los pesos juegan un papel fundamental en la minimización de los errores cuadráticos. Al asignar 𝜃!=1!a las mediciones en condición DDP, se otorga la máxima confianza a estas medidas, ya que se consideran más precisas. Por otro lado, las mediciones en condiciones UDP presentan un mayor sesgo e incertidumbre, por lo que se les asigna un peso menor 𝜃!= 0.005, reduciendo su influencia en la estimación de la posición. (17) La elección de un valor distinto de cero para 𝜃!Aen el caso de UDP se debe a que, aunque estas mediciones contienen un error significativo, siguen proporcionando información útil. Si se estableciera 𝜃!=0!para todas las mediciones UDP, el sistema descartaría completamente estos datos, lo que podría resultar en una pérdida de información valiosa y en un incremento del error final. En este sentido, la asignación de un peso reducido, pero no nulo permite aprovechar parcialmente la información de las anclas UDP sin introducir un impacto excesivo en la estimación de la posición. El método NLS-CCV debería proporcionar resultados más precisos en comparación con los demás métodos, dado que incorpora información sobre la condición de visión de las mediciones. Sin embargo, cuando el número de anclas en condición de visión UDP es elevado, los errores pueden incrementarse significativamente, ya que la estimación de la posición se basará en un número reducido de mediciones con pesos relevantes. Además, en el caso particular en el que no haya anclas UDP (es decir, cuando todas las anclas tienen visión directa), el RMSE del método NLS y el del NLS-CCV deberían ser idénticos, ya que ambos estarían trabajando con las mismas mediciones sin necesidad de aplicar ponderaciones diferenciadas.(17) 4.2.4 Problema del error NLOS Los métodos basados en Mínimos Cuadrados Ordinarios (OLS), como NLS y LLS, tratan todas las mediciones de distancia de manera uniforme, sin considerar la presencia de errores sesgados en los datos. Esto significa que errores grandes en la medición, como los provocados por entornos NLOS con UDP, afectan significativamente la minimización de la suma de los residuos cuadrados, lo que conduce a una estimación de posición menos precisa. En condiciones reales, los errores de medición de distancia no siguen una distribución normal, sino que presentan un sesgo positivo y una cola derecha pesada en su distribución estadística. Este sesgo positivo es consecuencia de los efectos de multipath, donde las señales se reflejan en distintos obstáculos antes de llegar al receptor, lo que provoca mediciones de distancia más largas de lo real. Para mitigar estos errores y mejorar la estimación de la posición en entornos NLOS en las que no se ha podido detectar el trayecto directo, se han propuesto diversas mejoras basadas en Weighted Least Squares, donde se asignan pesos diferenciados a cada medición de distancia en función de
25 su fiabilidad. Métodos como el WLS clásico ofrecen mejores resultados que OLS, pero requieren información adicional sobre los errores, como: • Modelos de error para predecir su comportamiento. • Varianza del error, que puede cambiar dinámicamente en el tiempo. • Escala del error, que depende de las condiciones del entorno y el número de anclas disponibles. Sin embargo, obtener esta información en tiempo real es un desafío, ya que muchas métricas de ponderación dependen de un conocimiento previo del entorno o requieren un elevado coste computacional. Por ello, el problema fundamental de WLS radica en cómo establecer pesos que sean tanto factibles de calcular como eficientes en la corrección del error NLOS. (20) 4.3 Algoritmo LLS Ponderado por Cuadro Delimitador (B-WLS) Para abordar estas limitaciones, Yuan Yang, Yubin Zhao, Marcel Kyas; propusieron el método BWLS, que introduce una estrategia de ponderación basada en un modelo robusto del error NLOS. A diferencia de WLS convencional, B-WLS estima pesos dinámicos utilizando información geométrica del entorno, reduciendo así la influencia de mediciones erróneas sin requerir información adicional sobre la distribución del error. El método B-WLS se basa en tres observaciones clave sobre los errores en entornos NLOS y la forma en que algoritmos previos han abordado el problema: 1. Las métricas de error tradicionales pueden no ser un buen indicador del error NLOS. Parámetros como la varianza del error, la suma residual o los valores de ponderación clásicos no siempre reflejan con precisión la magnitud del error introducido por condiciones de NLOS. Esto se debe a que los errores de rango en NLOS son altamente variables y no siguen una distribución normal, lo que dificulta su modelado con métodos convencionales.(20) 2. Descartar mediciones NLOS puede resultar en pérdida de información Aunque identificar correctamente una medida de distancia NLOS y descartarlo puede reducir errores, esto conlleva una reducción en la cantidad de datos disponibles, lo que se vuelve crítico cuando hay pocos anclajes en el entorno.(20) 3. Resolver LS con múltiples combinaciones de rangos conlleva una alta complejidad computacional. La inclusión de todas las combinaciones posibles de rangos para mejorar la estimación de la posición mediante LS incrementa drásticamente la carga computacional, lo que hace que el método no sea eficiente en tiempo real.(20) 4.3.1 Bounding-Box El método Bounding Box es una técnica de localización que se basa en la construcción de cajas delimitadoras alrededor de cada una de las anclas con posiciones conocidas. Su objetivo es acotar el área en la que puede encontrarse el nodo desconocido, utilizando las estimaciones de distancia obtenidas a partir del sistema de comunicación. Para cada ancla 𝑧! con coordenadas conocidas (𝑥!,𝑦!)se genera una caja delimitadora centrada en esa posición. El tamaño de la caja se determina a partir de la distancia estimada 𝑟!, de modo que
Algoritmos implementados 26 los lados de la caja miden el doble de esta distancia. Es decir, las esquinas de la caja se definen como:(17) (!𝑥!−𝑑!,𝑦!−𝑑!)!𝑦!(!𝑥!+𝑑!,𝑦!+𝑑!) Esto significa que la caja tiene un ancho y un alto de 2d!!aproximando todas las posibles ubicaciones del nodo en función de la incertidumbre en la medición de distancia. Dado que múltiples anclas participan en la localización, se generan varias Bounding Boxes, una por cada ancla. La estimación final de la posición del nodo se obtiene considerando la intersección de estas cajas, ya que el nodo debe encontrarse en la región común a todas ellas. En caso de que no haya solapamiento, se obtendría la posición final con simetría. El método Bounding-Box es simple y eficiente computacionalmente, ya que no requiere resolver ecuaciones complejas ni realizar optimización numérica. Sin embargo, su precisión depende en gran medida de la calidad de las mediciones de distancia. Para mantener la simplicidad del diseño, este método utiliza cuadrados en lugar de circunferencias para acotar las regiones posibles, lo que introduce un error geométrico inevitable. Aun así, ha demostrado ser especialmente útil para identificar y reducir el impacto de medidas NLOS, lo que lo convierte en una herramienta práctica en entornos reales con condiciones de propagación adversas. 4.3.2 Cuadro delimitador como indicador de incertidumbre Para superar estas limitaciones de los algoritmos existentes, B-WLS introduce un esquema de ponderación basado en el Cuadro Delimitador. En lugar de utilizar métricas estadísticas convencionales para asignar pesos, este método emplea la posición estimada por Bounding-Box (BB) como un indicador de incertidumbre en las mediciones de distancia. De esta manera, la distancia entre la posición estimada por Bounding-Box y cada ancla, denominada 𝑑'()*+!*,-B(.-0$, se utiliza para definir la incertidumbre de cada rango. Cuanto mayor sea la diferencia entre la distancia medida 𝑟! y 𝑑'()*+!*,-B(.-0$, mayor será la incertidumbre en la medición. 𝒛G𝑩-𝑾𝑳𝑺 =12(𝐴;𝑊𝐴)-7𝐴;𝑊𝑝", Donde: 𝑊=𝐶-7, 𝐶=4𝑟E /𝜎E /+2𝜎E F+𝑑𝑖𝑎𝑔{4𝜎7 /𝑑7 /+2𝜎7 F,…,4𝜎! /𝑑! /+2𝜎! F,…,4𝜎30*1 /𝑑30*1 /+2𝜎30*1 F}, Donde C es la matriz de covarianza de los errores, y cada término en C se calcula en función de la incertidumbre del rango medida como: 𝜎!=𝑟!−𝑑'()*+!*,-B(.-0$ 𝑑'()*+!*,-B(.-0$=i𝒛G𝑩𝒐𝒖𝒏𝒅𝒊𝒏𝒈-𝒃𝒐𝒙 −!𝒛𝒊i El método B-WLS mejora la estimación de posición en entornos NLOS al combinar la eficiencia computacional de LLS con un esquema de ponderación basado en Bounding-Box, que asigna pesos en función de la incertidumbre de cada medición. Una de las principales ventajas de este
27 enfoque es su alta robustez frente a errores NLOS, ya que el método Bounding-Box permite identificar y atenuar el impacto de mediciones sesgadas sin requerir información previa sobre la distribución estadística de los errores. Esta característica lo convierte en una solución práctica y eficaz para escenarios reales, donde las condiciones de propagación pueden ser altamente variables e impredecibles.
Resultados 34 8 0 0,320031097 0,320031097 0,284175786 0,236868036 8 1 0,552372852 0,310133293 0,679357543 0,294675908 8 2 0,743432747 0,354632373 0,977323618 0,379724295 8 3 0,925705899 0,34980467 1,204559725 0,462450908 8 4 1,089182881 0,414512347 1,323592609 0,636050441 8 5 1,162619043 0,459708429 1,470839528 0,776369875 12 0 0,303179291 0,303179291 0,265419817 0,218768918 12 1 0,463311108 0,296437266 0,516606027 0,242134523 12 2 0,618466877 0,317079883 0,748527145 0,292892317 12 3 0,711331203 0,322489605 0,834309945 0,287953265 12 4 0,824914577 0,339822546 1,01200575 0,32280524 12 5 0,891172404 0,326408168 1,174511497 0,388391689 12 6 1,028427554 0,359085713 1,298369512 0,455015051 12 7 1,107727317 0,37511701 1,434974611 0,558491448 12 8 1,183189975 0,417406281 1,454161637 0,60392501 12 9 1,34281293 0,488028965 1,664824032 0,74260927 Tabla 6-1 Resultados Área 10m x10m Los resultados obtenidos a partir de las simulaciones permiten analizar el desempeño del método B-WLS en comparación con otros algoritmos de localización, considerando diferentes configuraciones de anclas y condiciones de propagación. En términos generales, se observa que el error cuadrático medio aumenta a medida que el número de anclas UDP incrementa. Sin embargo, el método B-WLS logra mantener un rendimiento más estable en comparación con los otros métodos analizados NLS y LLS. Para ver más en detalle del RMSE para cada método, vamos a analizar las gráficas correspondientes a cada configuración de número total de anclas.
35 6.1.1 Cuatro Anclas totales en un área 10m x10m Figura 6-1 Comparativa de los algoritmos para 4 anclas totales. Área 10m x10m 6.1.2 Cinco Anclas totales en un área 10m x10m Figura 6-2 Comparativa de los algoritmos para 5 anclas totales. Área 10m x10m
Resultados 36 6.1.3 Seis Anclas totales en un área 10m x10m Figura 6-3 Comparativa de los algoritmos para 6 anclas totales. Área 10m x10m 6.1.4 Siete Anclas totales en un área 10m x10m Figura 6-4 Comparativa de los algoritmos para 7 anclas totales. Área 10m x10m
37 6.1.5 Ocho Anclas totales en un área 10m x10m Figura 6-5 Comparativa de los algoritmos para 8 anclas totales. Área 10m x10m 6.1.6 Doce Anclas totales en un área 10m x10m Figura 6-6 Comparativa de los algoritmos para 12 anclas totales. Área 10m x10m
Resultados 38 Al analizar los resultados obtenidos, se pueden destacar los siguientes puntos clave: 1. Escenarios sin anclas UDP: Cuando el número de anclas UDP es cero, los valores de RMSE para los métodos NLS y NLS-CCV son idénticos, como era esperable al no haber necesidad de ponderar las mediciones. En estos casos, el método B-WLS presenta un RMSE ligeramente inferior al de los demás algoritmos. Este resultado no se debe a una mayor precisión teórica del método, sino a que la implementación de NLS y NLS-CCV se ha realizado mediante una búsqueda en malla (grid). Esta estrategia limita la precisión alcanzable, ya que el RMSE mínimo está condicionado por la resolución del grid. Si se empleara una malla más densa, es razonable esperar que los valores de RMSE obtenidos por NLS y NLS-CCV fueran menores y, posiblemente, inferiores a los de B-WLS en escenarios con condiciones ideales de propagación, sin embargo, se ha escogido un valor razonable para mantener limitada la carga computacional del algoritmo NLS. 2. Impacto de un bajo número de anclas UDP: A medida que se introduce un pequeño número de anclas UDP, el método B-WLS continúa mostrando un RMSE inferior al de los métodos que no distinguen entre condiciones de propagación, como LLS y NLS. Esto indica que su estrategia de ponderación basada en Bounding Box es efectiva para reducir el impacto de mediciones NLOS. Aunque en algunos casos el RMSE de B-WLS también resulta inferior al de NLS-CCV, esto se debe a la implementación de este último mediante búsqueda en malla, como se comentó anteriormente. En general, NLS-CCV representa la cota inferior a la que B-WLS aspira a acercarse, ya que ambos métodos buscan atenuar el efecto de las anclas UDP. 3. Escenarios con un alto número de anclas UDP: Incluso cuando el número de anclas UDP es elevado (aproximadamente NumAnclasUDP≈N−3), el RMSE de B-WLS sigue siendo notablemente más bajo que el de NLS y LLS. Esto demuestra que el método es más robusto ante la presencia de errores de propagación y degradación en las mediciones. 4. Como era de esperar, el método NLS-CCV, al contar con información ideal sobre las mediciones, presenta el mejor desempeño en términos de RMSE. Esto es un comportamiento lógico, ya que su conocimiento perfecto de las condiciones le permite superar incluso a B-WLS. 6.2 Análisis de los algoritmos en un área 5m x 5m TotalAnclas NumAnclasUDP RMSE_NLS (m) RMSE_NLS_CCV (m) RMSE_LLS (m) RMSE_BWLS (m) 4 0 0,337029907 0,337029907 0,259424992 0,259390348 4 1 0,957322403 0,333242425 1,332472511 0,628538794 5 0 0,286709696 0,286709696 0,239956851 0,223576764 5 1 0,769492004 0,316299338 1,147897078 0,477705948 5 2 1,046335036 0,385180902 1,475392108 0,795250298
39 6 0 0,281443572 0,281443572 0,235285579 0,200394108 6 1 0,667877962 0,289221968 0,93242918 0,302504782 6 2 0,957291355 0,310917597 1,312356701 0,514801708 6 3 1,173430036 0,384946473 1,563858679 0,817373636 7 0 0,263926321 0,263926321 0,224819581 0,187612528 7 1 0,589080617 0,289187208 0,837724768 0,262938898 7 2 0,793383153 0,310312556 1,204285473 0,348961887 7 3 0,960112809 0,337182445 1,430473146 0,54793009 7 4 1,211820523 0,364571269 1,652961612 0,79764385 8 0 0,266001445 0,266001445 0,21237739 0,147887714 8 1 0,545433787 0,275726718 0,747328146 0,184960504 8 2 0,745845709 0,276502331 1,035264181 0,260092979 8 3 0,911826385 0,303116464 1,326910981 0,346371231 8 4 0,99527713 0,313011727 1,471058032 0,511374832 8 5 1,176621116 0,35639674 1,656749873 0,743705472 12 0 0,258455891 0,258455891 0,197448104 0,141050704 12 1 0,431505832 0,262919682 0,543360278 0,154975985 12 2 0,583554994 0,263623779 0,790297264 0,170097732 12 3 0,687240587 0,276796723 0,951732011 0,191613252 12 4 0,755771036 0,278803315 1,084822829 0,227391466 12 5 0,866933667 0,288894849 1,241216772 0,275002294 12 6 1,012108408 0,299485101 1,425112718 0,312782026 12 7 1,09990013 0,309569806 1,600086419 0,431582214 12 8 1,196848199 0,32747432 1,66914478 0,497375971 12 9 1,229237452 0,383582452 1,707024864 0,663915428 Tabla 6-2 Resultados para área 5m x5m
Resultados 40 6.2.1 Cuatro Anclas totales en un área 5m x 5m Figura 6-7 Comparativa de los algoritmos para 4 anclas totales. Área 5m x 5m 6.2.2 Cinco Anclas totales en un área 5m x 5m Figura 6-8 Comparativa de los algoritmos para 5 anclas totales. Área 5m x 5m
41 6.2.3 Seis Anclas totales en un área 5m x 5m Figura 6-9 Comparativa de los algoritmos para 6 anclas totales. Área 5m x 5m 6.2.4 Siete Anclas totales en un área 5m x 5m Figura 6-10 Comparativa de los algoritmos para 7 anclas totales. Área 5m x 5m
Resultados 42 6.2.5 Ocho Anclas totales en un área 5m x 5m Figura 6-11 Comparativa de los algoritmos para 8 anclas totales. Área 5m x 5m 6.2.6 Doce Anclas totales en un área 5m x 5m Figura 6-12 Comparativa de los algoritmos para 12 anclas totales. Área 5m x 5m
43 6.3 Análisis de los algoritmos en un área 15m x 15m TotalAnclas NumAnclasUDP RMSE_NLS (m) RMSE_NLS_CCV (m) RMSE_LLS (m) RMSE_BWLS (m) 4 0 0,419228404 0,419228404 0,373783761 0,367869671 4 1 1,091833332 0,497684514 1,278008402 0,859861918 5 0 0,385382223 0,385382223 0,358370832 0,357889183 5 1 0,859324844 0,436987676 0,932729994 0,705711997 5 2 1,170654084 0,555688498 1,340459885 1,030140289 6 0 0,371936866 0,371936866 0,371689984 0,339155543 6 1 0,742212918 0,400656738 0,956724742 0,517315291 6 2 0,972565087 0,466555122 1,117331355 0,73473263 6 3 1,237125807 0,542022014 1,44894268 0,967724188 7 0 0,351927694 0,351927694 0,346095291 0,331836869 7 1 0,6626678 0,350317153 0,761020425 0,482825319 7 2 0,940476429 0,405865205 1,100199819 0,650985392 7 3 1,081675292 0,438530743 1,267757631 0,765872327 7 4 1,249693419 0,538367539 1,479883949 0,959292404 8 0 0,344532804 0,344532804 0,328076121 0,263615997 8 1 0,608465016 0,373456711 0,735764137 0,386497445 8 2 0,867536841 0,357389721 0,993737129 0,480877026 8 3 0,926377167 0,39791694 1,147161318 0,571916908 8 4 1,157411439 0,442139956 1,367465597 0,770163724 8 5 1,211137386 0,545827788 1,449763724 0,854053105 12 0 0,331300816 0,331300816 0,310000178 0,267070036 12 1 0,504801428 0,33966118 0,537617874 0,307444296 12 2 0,633733106 0,347408123 0,74801723 0,301247597 12 3 0,734075113 0,360919833 0,891879652 0,338611652 12 4 0,838766913 0,363185875 0,986130746 0,441750503 12 5 0,939248261 0,358360781 1,126836669 0,470840974 12 6 1,024180733 0,379227049 1,243101294 0,513933814 12 7 1,124236065 0,417374802 1,347594093 0,568261948 12 8 1,221660763 0,435758281 1,466147951 0,694576644 12 9 1,319250337 0,512900501 1,544778401 0,777257897 Tabla 6-3 Resultados para área 15m x 15m
Resultados 50 5mx5m. Este fenómeno podría explicarse por el hecho de que LLS compensa mejor los errores en áreas más grandes y dispersas, similar a NLS, permitiendo que el error se distribuya de una forma que favorezca su desempeño en áreas grandes. 6.5 Ánalisis para distinto ancho de banda Para evaluar el impacto de la frecuencia en la precisión de los métodos de localización, se realizará una nueva serie de simulaciones en las que se ajustarán los parámetros del modelo según el estudio “Modeling of the TOA-based Distance Measurement Error Using UWB Indoor Radio Measurements” de Bardia Alavi, Student Member, IEEE, and Kaveh Pahlavan, Fellow, IEEE a un ancho de banda de W=1000 MHz, en contraste con las simulaciones previas realizadas a 500 MHz. En esta ocasión, se ha actualizado la caracterización del error de medición tanto para condiciones DDP como para UDP, utilizando los siguientes valores: • Error DDP: o Media: 𝑚#,%= 0.09 m. o Desviación estándar: 𝜎#,%= 13.6 / 100 m. • Error UDP: o Media: 𝑚&,%= 0.96 m. o Desviación estándar: 𝜎&,% = 60.4 / 100 m. Para garantizar una comparación justa entre ambos escenarios, la configuración de la simulación se mantendrá consistente en cuanto al número total de anclas, el número de anclas UDP y el método de evaluación. En particular, se analizará el caso de 12 anclas totales, replicando el mismo procedimiento de simulación utilizado anteriormente, pero con los parámetros de error adaptados a la nueva frecuencia. TotalAnclas NumAnclasUDP RMSE_NLS (m) RMSE_NLS_CCV (m) RMSE_LLS (m) RMSE_BWLS (m) 12 0 0,220920911 0,220920911 0,125270954 0,121749031 12 1 0,315293746 0,23692274 0,294526824 0,135787766 12 2 0,401555173 0,226765025 0,393914101 0,17867704 12 3 0,449419756 0,22524758 0,470214619 0,195789515 12 4 0,499789248 0,236000033 0,55968555 0,254779656 12 5 0,592719434 0,241650654 0,675042341 0,238272892 12 6 0,628855631 0,247925556 0,725156034 0,296305584 12 7 0,702450677 0,253669704 0,814148195 0,359961038 12 8 0,754481171 0,273603289 0,871518595 0,455518234 12 9 0,76297582 0,315415952 0,910347984 0,478973748 Tabla 6-4 RMSE para un total 12 anclas y ancho de banda de 1000Mhz
51 TotalAnclas NumAnclasUDP RMSE_NLS (m) RMSE_NLS_CCV (m) RMSE_LLS (m) RMSE_BWLS (m) 12 0 0,303179291 0,303179291 0,265419817 0,218768918 12 1 0,463311108 0,296437266 0,516606027 0,242134523 12 2 0,618466877 0,317079883 0,748527145 0,292892317 12 3 0,711331203 0,322489605 0,834309945 0,287953265 12 4 0,824914577 0,339822546 1,01200575 0,32280524 12 5 0,891172404 0,326408168 1,174511497 0,388391689 12 6 1,028427554 0,359085713 1,298369512 0,455015051 12 7 1,107727317 0,37511701 1,434974611 0,558491448 12 8 1,183189975 0,417406281 1,454161637 0,60392501 12 9 1,34281293 0,488028965 1,664824032 0,74260927 Tabla 6-5 RMSE para un total 12 anclas y ancho de banda de 500Mhz Los resultados muestran una reducción generalizada del RMSE en la simulación a 1000 MHz en comparación con la de 500 MHz, lo que sugiere que una mayor frecuencia contribuye a mejorar la precisión de la estimación de posición. Este efecto se debe principalmente a que un mayor ancho de banda implica mayor resolución en el tiempo, por tanto, menor error en los casos DDP. Figura 6-22 Comparativa del ancho de banda en B-WLS para un total de 12 anclas.
Resultados 52 Figura 6-23 Comparativa del ancho de banda en NLS para un total de 12 anclas. Figura 6-24 Comparativa del ancho de banda en LLS para un total de 12 anclas. Para los algoritmos NLS y LLS se observa una notable mejora en la precisión con 1000 MHz, especialmente para valores bajos de anclas UDP. A medida que aumenta el número de anclas
53 UDP, el RMSE sigue incrementando en ambos métodos, aunque de manera más controlada en 1000 MHz que en 500 MHz. Para B-WLS en ambas frecuencias, este método sigue demostrando su robustez ante el error NLOS, manteniendo un RMSE más bajo que NLS y LLS para valores altos de anclas UDP. La mejora en 1000 MHz es significativa, con una reducción del RMSE en escenarios con múltiples anclas UDP, lo que refuerza su capacidad de mitigación del error. Para 0 anclas UDP, los valores de RMSE son más bajos en todos los métodos y se observa una reducción importante al aumentar el ancho de banda a 1000 MHz. 6.6 Conclusión y futuras líneas de investigación Los resultados obtenidos en este estudio refuerzan la eficacia del método B-WLS en la estimación de posición, especialmente en entornos donde la presencia de anclas UDP introduce errores significativos en las mediciones. A lo largo de las simulaciones, B-WLS ha demostrado ser el método más estable, logrando reducir de manera notable el RMSE en comparación con métodos, los cuales no incorporan estrategias de ponderación para mitigar el impacto del error NLOS. El análisis comparativo entre diferentes áreas de simulación (5x5, 10x10 y 15x15 m²) ha evidenciado que el desempeño del método puede verse afectado por el tamaño del entorno, siendo más eficiente en espacios reducidos, donde las distancias entre las anclas y el nodo objetivo son menores. Asimismo, el análisis de distintas frecuencias de operación ha demostrado que, al incrementar el ancho de banda a 1000 MHz, se logra una reducción del RMSE en todos los métodos evaluados. Este resultado sugiere que un mayor ancho de banda permite mejorar la precisión en la localización, al reducir el impacto del error NLOS y LOS en las mediciones de distancia. No obstante, la mejora no es uniforme en todos los casos, y el efecto del ancho de banda sobre la estimación de posición podría depender también de otros factores, como la disposición de las anclas y la cantidad de medidas en visión directa. Dado que el rendimiento de los métodos de localización depende en gran medida de las condiciones del entorno, una posible línea de investigación sería estudiar el impacto de diferentes distribuciones de anclas dentro del área de simulación. Actualmente, las anclas han sido ubicadas en el perímetro del espacio de trabajo de manera equidistante, pero explorar configuraciones más densas o distribuciones irregulares podría proporcionar información valiosa sobre cómo mejorar la precisión del sistema en escenarios reales.
Bibliografía 54 BIBLIOGRAFÍA 1. Che F, Ahmed QZ, Lazaridis PI, Sureephong P, Alade T. Indoor Positioning System (IPS) Using Ultra-Wide Bandwidth (UWB)—For Industrial Internet of Things (IIoT). Sensors [Internet]. 1 de junio de 2023 [citado 24 de marzo de 2025];23(12). Disponible en: https://www.mdpi.com/1424-8220/23/12/5710 2. CUSAT. LINKEDIN. 2023 [citado 24 de marzo de 2025]. Breve Historia del GPS. Disponible en: https://es.linkedin.com/pulse/breve-historia-del-gps-cusatpy 3. ATRIA. Sistemas de localización en interiores [Internet]. [citado 24 de marzo de 2025]. Disponible en: https://atriainnovation.com/blog/sistemas-localizacion-interiores/ 4. Autor: Ge Yujun, Tutor/a: Víctor Miguel Sempere Payá. Análisis y mejoras en algoritmos para posicionamiento y localización basado en Ultra-Wide Band [Internet]. 2024 [citado 24 de marzo de 2025]. Disponible en: https://riunet.upv.es/entities/publication/bc1443eea4aa-4d36-bbba-4ce877d18240 5. Enrique Pérez. Comparativa Frecuencias [Internet]. 2019 [citado 24 de marzo de 2025]. Disponible en: https://www.xataka.com/servicios/que-ventajas-tiene-tecnologia-bandaultrancha-uwb-vieja-alternativa-al-bluetooth-que-apple-samsung-estan-revitalizando 6. Julio Suárez–Páez y Gonzalo Llano–Ramírez. Revisión del estado del arte de IR-UltraWideband y simulación de la respuesta impulsiva del canal IEEE 802.15.4a. Ingeniería y Ciencia, ISSN 1794–9165 [Internet]. 2010 [citado 24 de marzo de 2025];6. Disponible en: https://publicaciones.eafit.edu.co/index.php/ingciencia/article/view/250 7. Llancy Jazmín Ramírez Pool. Ultra WideBand como alternativa de comunicaciones inalámbricas [Internet]. 2012 [citado 24 de marzo de 2025]. Disponible en: http://192.100.164.85/handle/20.500.12249/3571 8. Millán RJ. UWB (Ultra Wide-Band) «Debido a la extremadamente corta duración de los im-pulsos, el espectro de frecuencias de una señal UWB es de un ancho de banda de varios GHz» [Internet]. 2004. Disponible en: www.uwb.org 9. Jordi Diaz. Tecnología Ultra-wideband (UWB) la revolución a corto alcance [Internet]. 2003 abr [citado 24 de marzo de 2025]. Disponible en: https://upcommons.upc.edu/bitstream/handle/2099/9890/Article010.pdf 10. Autor: Juan Chóliz Muniesa, Director: Ángela Hernández Solana. Arquitecturas para la adquisición y distribución de la información de localización en sistemas de seguimiento en interiores basados en UWB [Internet]. 2010 sep [citado 24 de marzo de 2025]. Disponible en: https://zaguan.unizar.es/record/4942 11. Autor: César Gutiérrez Carrero, Director: Francisco Javier Segovia Pérez. Seguimiento de objetos por UWB (Ultra Wide Band) [Internet]. 2018 ene [citado 24 de marzo de 2025]. Disponible en: https://oa.upm.es/49432/ 12. Autor: Mario Casas González, Dr. Carlos Crespo Cadenas. Localización Precisa de Objetos Indoor mediante señales UWB y técnicas TOA [Internet]. [citado 24 de marzo de 2025]. Disponible en: https://biblus.us.es/bibing/proyectos/abreproy/11505/fichero/PFC+Mario+Casas+Gonzale z.pdf Proyecto fin de carrera. 13. Hayward SJ, van Lopik K, Hinde C, West AA. A Survey of Indoor Location Technologies, Techniques and Applications in Industry. Vol. 20, Internet of Things (Netherlands). Elsevier B.V.; 2022.
55 14. Alarifi A, Al-Salman A, Alsaleh M, Alnafessah A, Al-Hadhrami S, Al-Ammar MA, et al. Ultra wideband indoor positioning technologies: Analysis and recent advances. Vol. 16, Sensors (Switzerland). MDPI AG; 2016. 15. García Polo EM. Técnicas de Localización en Redes Inalámbricas de Sensores * [Internet]. 2008 [citado 24 de marzo de 2025]. Disponible en: https://www.dsi.uclm.es/personal/EvaMariaGarcia/docs/2008-Curso%20Verano.pdf 16. Yusnita Rahayu, Tharek Abd. Rahman, Razali Ngah, P.S. Hall. Ultra Wideband Technology and Its Applications [Internet]. IEEE; 2008 [citado 29 de marzo de 2025]. 4 p. Disponible en: https://ieeexplore.ieee.org/abstract/document/4542537 17. Autor: Pablo Manuel De Rojas Malpartida, Tutora: Eva María Arias de Reyna Domínguez. Diseño de un método eficiente de localización en interiores para un sistema Ultra Wideband en presencia de obstáculos [Internet]. 2021 [citado 24 de marzo de 2025]. Disponible en: https://idus.us.es/items/25d56a8d-2130-4cb5-a42d-9d213e5998a8 Trabajo Fin de Máster. 18. Yash Wate. TECHPP. 2023 [citado 29 de marzo de 2025]. Ultra Wideband (UWB) and its significance. Disponible en: https://techpp.com/2020/08/14/ultra-wideband-uwbexplained/ 19. Güvenç I, Chong CC. A survey on TOA based wireless localization and NLOS mitigation techniques. IEEE Communications Surveys and Tutorials. 2009;11(3):107-24. 20. Yuan Yang, Yubin Zhao, Marcel Kyas. Weighted Least-squares by Bounding-box (BWLS) for NLOS Mitigation of Indoor Localization. IEEE; 2013. 21. Alavi B, Pahlavan K. Modeling of the TOA-based Distance Measurement Error Using UWB Indoor Radio Measurements. IEEE COMMUNICATIONS LETTERS [Internet]. 2006;10(4). Disponible en: http://www.tmcnet.com/enews/120602h.htm 22. Davide Dardari, Pau Closas, Petar M. Djuríc. Indoor tracking: Theory, methods, and technologies. IEEE. 2015. DOI: 10.1109/TVT.2015.2403868
Anexos 56 ANEXOS Para complementar la información proporcionada en los puntos anteriores, se incluyen a continuación los códigos utilizados para la generación de los diferentes métodos descritos en el documento. 1. General.m % Definir el área del grid x_min = 0; x_max = 10; % Límites en X y_min = 0; y_max =10; % Límites en Y resolucion_grid = 0.5; % Resolución del grid (espaciado entre puntos) iteraciones = 300; % Número de iteraciones % Generar grid [grid_X, grid_Y] = meshgrid(x_min:resolucion_grid:x_max, y_min:resolucion_grid:y_max); grid_posiciones = [grid_X(:), grid_Y(:)]; % Combinar en pares de coordenadas (x, y) % Inicializar vectores para almacenar errores errores_cuadraticos_BWLS = []; errores_cuadraticos_LLS = []; errores_cuadraticos_NLS = []; errores_cuadraticos_NLS_ConVision = []; % Mostrar grid figure; scatter(grid_posiciones(:,1), grid_posiciones(:,2), 'b.'); title('Grid de posiciones'); xlabel('X'); ylabel('Y'); grid on; axis([x_min x_max y_min y_max]); hold on; % Crear carpeta para guardar los resultados carpeta_resultados = 'BW1000'; if ~exist(carpeta_resultados, 'dir') mkdir(carpeta_resultados); end % Generar Anclas TotalAnclas = 12;
57 PosAnclas = generar_anclas(TotalAnclas); scatter(PosAnclas(:,1), PosAnclas(:,2), 100, 'r', 'filled'); legend('Puntos del Grid', 'Anclas'); hold off; for iter = 1:iteraciones % Calcular distancias del grid a las anclas Distancia_Ancla_Grid = calcular_distancia(PosAnclas, grid_posiciones); % Generar Puntos Num_puntos = 1; PosNodo = generar_posiciones( 0, 10, 0, 10); % Calculamos La Distancia del ancla al nodo DistanciaAnclaNodo = calcular_distancia(PosAnclas, PosNodo); % Generacion de tabla de las distancias estimadas [ErrorEstima, TipoError] = generar_error(PosAnclas, PosNodo); MedidaDistancia = DistanciaAnclaNodo + ErrorEstima; % Método BWLS [AnclaReferencia, CoordAnclaRef] = calculo_ancla_referencia(MedidaDistancia, PosAnclas, TotalAnclas, Num_puntos); [x_e] = metodo_BWLS(PosAnclas, MedidaDistancia, AnclaReferencia, CoordAnclaRef); x_e_LLS = metodo_LLS_basico(PosAnclas,MedidaDistancia,AnclaReferencia,CoordAnclaRef); x_e_NLS = metodo_NLS_basico(PosAnclas,MedidaDistancia , grid_posiciones, Distancia_Ancla_Grid); x_e_NLS_convision=metodo_NLS_con_cond_vision(PosAnclas,MedidaDistancia , grid_posiciones, Distancia_Ancla_Grid,TipoError); x_e_LLS = x_e_LLS'; x_e=x_e'; % Guardar errores cuadráticos para esta iteración errores_cuadraticos_BWLS = [errores_cuadraticos_BWLS;sum((PosNodo - x_e).^2, 2)]; errores_cuadraticos_LLS = [errores_cuadraticos_LLS; sum((PosNodo - x_e_LLS).^2, 2)]; errores_cuadraticos_NLS = [errores_cuadraticos_NLS; sum((PosNodo - x_e_NLS).^2, 2)]; errores_cuadraticos_NLS_ConVision = [errores_cuadraticos_NLS_ConVision; sum((PosNodo - x_e_NLS_convision).^2, 2)]; end RMSE_BWLS = sqrt(mean(errores_cuadraticos_BWLS));
Anexos 58 RMSE_LLS = sqrt(mean(errores_cuadraticos_LLS)); RMSE_NLS = sqrt(mean(errores_cuadraticos_NLS)); RMSE_NLS_ConVision = sqrt(mean(errores_cuadraticos_NLS_ConVision)); % Graficar hold on; scatter(PosNodo(:,1), PosNodo(:,2), 100, 'g', 'filled'); % Nodo real scatter(x_e(:,1), x_e(:,2), 100, 'm', 'filled'); % Nodo estimado legend('Puntos del Grid', 'Anclas', 'Posición Real del Nodo', 'Posición Estimada del Nodo'); % % Guardar resultados después de todas las iteraciones resultados = struct(); resultados.TipoError = TipoError; % Vector con el tipo de anclas (UDP/DDP) resultados.num_anclas_udp = sum(TipoError == 1); % Número de anclas UDP resultados.num_total_anclas=TotalAnclas; resultados.rmse_NLS = RMSE_NLS; resultados.rmse_NLS_ConVision=RMSE_NLS_ConVision; resultados.rmse_LLS = RMSE_LLS; resultados.rmse_BWLS = RMSE_BWLS; %Guardar en un archivo con un nombre dinámico nombre_archivo = fullfile(carpeta_resultados, sprintf('resultados_promedio_iteracion_12_anclas_9udp%d.mat', iter)); save(nombre_archivo, '-struct', 'resultados'); %COMPROBAR VALORES INTERMEDIOS % Comprobar dimensiones después de generar posiciones del nodo disp('Dimensiones de PosNodo:'); disp(size(PosNodo)); % Comprobar dimensiones de las distancias calculadas disp('Dimensiones de MedidaDistancia:'); disp(size(MedidaDistancia)); % Comprobar dimensiones de las posiciones estimadas disp('Dimensiones de x_e (BWLS):'); disp(size(x_e)); disp('Dimensiones de x_e_LLS:'); disp(size(x_e_LLS)); disp('Dimensiones de x_e_NLS:'); disp(size(x_e_NLS)); % Comprobar dimensiones de los errores acumulados disp('Dimensiones de errores_cuadraticos_BWLS:'); disp(size(errores_cuadraticos_BWLS)); disp('Dimensiones de errores_cuadraticos_LLS:'); disp(size(errores_cuadraticos_LLS)); disp('Dimensiones de errores_cuadraticos_NLS:'); disp(size(errores_cuadraticos_NLS)); %COMPROBAR disp('Prueba con error cero:'); disp('Posición real del nodo:'); disp(PosNodo);
59 disp('Posición estimada usando BWLS:'); disp(x_e); disp('Posición estimada usando LLS:'); disp(x_e_LLS); disp('Posición estimada usando NLS:'); disp(x_e_NLS); %------------------------------------------------------------% function PosAnclas = generar_anclas(TotalAnclas) % Inicializar la posición de las anclas PosAnclas = []; %AREA 10X10 % Si hay solo 4 anclas, se colocan en las esquinas if TotalAnclas == 4 PosAnclas = [0, 0; 10, 0; 0, 10; 10, 10]; % Esquinas del área 10x10 % Si hay 5 anclas, se coloca una en el medio de un lado elseif TotalAnclas == 5 PosAnclas = [0, 0; 10, 0; 0, 10; 10, 10; 5, 0]; % Una ancla en el medio del borde inferior % Si hay 6 anclas, se colocan en el centro de los lados elseif TotalAnclas == 6 PosAnclas = [0, 0; 10, 0; 0, 10; 10, 10; 5, 0; 5, 10]; % Una en cada lado % Si hay 6 anclas, se colocan en el centro de los lados elseif TotalAnclas == 7 PosAnclas = [0, 0; 10, 0; 0, 10; 10, 10; 5, 0; 5, 10; 10,5]; % Una en cada lado elseif TotalAnclas == 8 PosAnclas = [0, 0; 10, 0; 0, 10; 10, 10; 5, 0; 5, 10; 10,5; 0,5]; elseif TotalAnclas == 12 PosAnclas = [0, 0; 10, 0; 0, 10; 10, 10; 5, 0; 5, 10; 10,5; 0,5; 2.5,0; 7.5,0;2.5,10;7.5,10]; end end % % %Area5X5 % if TotalAnclas == 4 % PosAnclas = [0, 0; 5, 0; 0, 5; 5, 5]; % % %Si hay 5 anclas, se añade una en el centro de un lado % elseif TotalAnclas == 5 % PosAnclas = [0, 0; 5, 0; 0, 5; 5, 5; 2.5, 0]; % % % Si hay 6 anclas, se colocan en el centro de los lados % elseif TotalAnclas == 6 % PosAnclas = [0, 0; 5, 0; 0, 5; 5, 5; 2.5, 0; 2.5, 5]; % % %Si hay 7 anclas, se añade una en la mitad del borde derecho % elseif TotalAnclas == 7 % PosAnclas = [0, 0; 5, 0; 0, 5; 5, 5; 2.5, 0; 2.5, 5; 5, 2.5]; % % %Si hay 8 anclas, se añaden puntos intermedios en los lados % elseif TotalAnclas == 8
Anexos 66 %------------------------------------------------------------% %------------------------------------------------------------% function [x_e_NLS_convision] = metodo_NLS_con_cond_vision(Posiciones_Anclas, d_e, grid_posiciones, Distancia_Ancla_Grid, M_tipo) % Número de anclas y número de puntos en el grid Num_anclas = size(Posiciones_Anclas, 1); Num_grid = size(grid_posiciones, 1); % Inicializar matriz de errores Matriz_Errores = zeros(Num_grid, 1); % Asignar pesos según la condición de visión directa (DDP o UDP) W_b = ones(Num_anclas, 1); % Inicialmente todas las mediciones tienen peso 1 W_b(M_tipo >= 1) = 0.005; % Si es UDP, se asigna un peso menor % Cálculo de errores ponderados for ancla = 1:Num_anclas for grid_indice = 1:Num_grid % Error cuadrático ponderado Matriz_Errores(grid_indice, 1) = Matriz_Errores(grid_indice, 1) + ... W_b(ancla) * (d_e(ancla, 1) - Distancia_Ancla_Grid(ancla, grid_indice))^2; end end % Determinar la posición estimada con el menor error [~, indice_min] = min(Matriz_Errores(:, 1)); x_e_NLS_convision = grid_posiciones(indice_min, :); % disp('Dimensiones de Posiciones_Anclas:'), disp(size(Posiciones_Anclas)); % disp('Dimensiones de d_e:'), disp(size(d_e)); % disp('Dimensiones de grid_posiciones:'), disp(size(grid_posiciones)); % disp('Dimensiones de Distancia_Ancla_Grid:'), disp(size(Distancia_Ancla_Grid)); % disp('Dimensiones de M_tipo:'), disp(size(M_tipo)); % % disp('Pesos asignados:'), disp(W_b); % disp('Errores antes de minimizar:'), disp(Matriz_Errores); end %------------------------------------------------------------% %------------------------------------------------------------%
67 function [x_e_LLS] = metodo_LLS_basico(Posiciones_Anclas, d_e, AnclaReferencia, CoordAnclaRef) Num_anclas = length(Posiciones_Anclas); % Generación de la matriz de posiciones relativas de las anclas excluyendo la de referencia %El ancla de referencia se utiliza como un punto fijo, y todas las demás coordenadas %se miden en relación con ella. %Se crea una matriz llamada PosicionesRelativas que contiene las posiciones de las demás anclas sin incluir la referencia. PosicionesRelativas = []; for i = 1:Num_anclas if i ~= AnclaReferencia PosicionesRelativas = [PosicionesRelativas; Posiciones_Anclas(i, :)]; end end % Se calcula una matriz Matriz_Diferencias, que contiene las diferencias entre las % posiciones de las anclas restantes y las coordenadas de la ancla de referencia. Matriz_Diferencias = PosicionesRelativas - CoordAnclaRef .* ones(Num_anclas - 1, 2); % Cálculo de las normas cuadradas de las posiciones de las anclas NormCuadrada_Referencia = CoordAnclaRef(1).^2 + CoordAnclaRef(2).^2; NormCuadradas_Anclas = zeros(1, Num_anclas); for i = 1:Num_anclas if i ~= AnclaReferencia NormCuadradas_Anclas(i) = Posiciones_Anclas(i, 1).^2 + Posiciones_Anclas(i, 2).^2; end end % Diferencias de las normas cuadradas entre la ancla de referencia y las otras Diferencia_NormCuadrada = zeros(1, Num_anclas); for i = 1:Num_anclas if i ~= AnclaReferencia Diferencia_NormCuadrada(i) = NormCuadrada_Referencia - NormCuadradas_Anclas(i); end end % Cálculo del vector de términos independientes (P_3) Vector_Independientes = []; for i = 1:Num_anclas if i ~= AnclaReferencia Vector_Independientes = [Vector_Independientes; ... d_e(AnclaReferencia,1).^2 - d_e(i, 1).^2 - Diferencia_NormCuadrada(i)]; end end % Resolución del sistema lineal para estimar la posición del nodo x_e_LLS = 0.5 * (Matriz_Diferencias' * Matriz_Diferencias)^(-1) * Matriz_Diferencias' * Vector_Independientes; end
Anexos 68 2. Generador_gráficas clear; clc; % Paso 1: Lista archivos de resultados archivos_resultados = dir('resultados_promedio_iteracion_*.mat'); % Inicializar variables num_anclas_udp = []; num_total_anclas = []; rmse_NLS_values = []; rmse_NLS_ConVision_values = []; rmse_LLS_values = []; rmse_BWLS_values = []; % Paso 2: Cargar datos for i = 1:length(archivos_resultados) datos = load(archivos_resultados(i).name); if isfield(datos, 'num_anclas_udp') && isfield(datos, 'num_total_anclas') && isfield(datos, 'rmse_NLS') num_anclas_udp = [num_anclas_udp; datos.num_anclas_udp]; % Número de anclas UDP num_total_anclas = [num_total_anclas; datos.num_total_anclas]; % Número total de anclas rmse_NLS_values = [rmse_NLS_values; datos.rmse_NLS]; % RMSE NLS rmse_NLS_ConVision_values = [rmse_NLS_ConVision_values; datos.rmse_NLS_ConVision]; % RMSE NLS_ConVision rmse_LLS_values = [rmse_LLS_values; datos.rmse_LLS]; % RMSE LLS rmse_BWLS_values = [rmse_BWLS_values; datos.rmse_BWLS]; % RMSE BWLS end end % Paso 3: Asegurar vectores columna num_anclas_udp = num_anclas_udp(:); num_total_anclas = num_total_anclas(:); rmse_NLS_values = rmse_NLS_values(:); rmse_NLS_ConVision_values = rmse_NLS_ConVision_values(:); rmse_LLS_values = rmse_LLS_values(:); rmse_BWLS_values = rmse_BWLS_values(:); % Paso 4: Organizar datos en una tabla con agrupación por num_total_anclas y num_anclas_udp tabla_rmse = table(num_total_anclas, num_anclas_udp, rmse_NLS_values, rmse_NLS_ConVision_values, rmse_LLS_values, rmse_BWLS_values, ... 'VariableNames', {'TotalAnclas', 'NumAnclasUDP', 'RMSE_NLS', 'RMSE_NLS_ConVision', 'RMSE_LLS', 'RMSE_BWLS'}); % Agrupar y calcular promedios por número total de anclas y número de anclas UDP promedio_rmse = varfun(@mean, tabla_rmse, 'InputVariables', {'RMSE_NLS', 'RMSE_NLS_ConVision', 'RMSE_LLS', 'RMSE_BWLS'}, ... 'GroupingVariables', {'TotalAnclas', 'NumAnclasUDP'});
69 % Paso 5: Graficar cada caso por separado total_anclas_unicos = unique(promedio_rmse.TotalAnclas); % Encontrar valores únicos de anclas totales for i = 1:length(total_anclas_unicos) total_anclas = total_anclas_unicos(i); datos_filtrados = promedio_rmse(promedio_rmse.TotalAnclas == total_anclas, :); figure; hold on; ancho_barras = 0.15; bar(datos_filtrados.NumAnclasUDP - ancho_barras, datos_filtrados.mean_RMSE_NLS_ConVision, 'FaceColor', 'm', 'BarWidth', ancho_barras, 'DisplayName', 'NLS ConVision'); bar(datos_filtrados.NumAnclasUDP, datos_filtrados.mean_RMSE_BWLS, 'FaceColor', 'g', 'BarWidth', ancho_barras, 'DisplayName', 'BWLS'); bar(datos_filtrados.NumAnclasUDP + ancho_barras, datos_filtrados.mean_RMSE_NLS, 'FaceColor', 'b', 'BarWidth', ancho_barras, 'DisplayName', 'NLS'); bar(datos_filtrados.NumAnclasUDP + 2*ancho_barras, datos_filtrados.mean_RMSE_LLS, 'FaceColor', 'r', 'BarWidth', ancho_barras, 'DisplayName', 'LLS'); % Personalización del gráfico title(sprintf('RMSE para %d anclas totales', total_anclas)); xlabel('Número de anclas UDP'); ylabel('RMSE'); legend('show', 'Location', 'northeast'); grid on; set(gca, 'FontSize', 12); hold off; end % Paso 6: Mostrar resultados en consola disp('Promedios de RMSE por número de anclas UDP y total de anclas:'); disp(promedio_rmse); % Definimos el nombre del archivo Excel nombre_archivo = 'promedio_rmse.xlsx'; % Escribimos la tabla en el archivo Excel writetable(promedio_rmse, nombre_archivo); % Mensaje de confirmación disp(['Tabla exportada exitosamente a ', nombre_archivo]); 3. Graficas_areasBWLS.m
Anexos 70 clear; clc; close all; base_path = pwd; carpetas = {fullfile(base_path, 'Area5x5'), fullfile(base_path, 'Area10x10'), fullfile(base_path, 'Area15x15')}; nombres_areas = {'5x5', '10x10', '15x15'}; % Etiquetas para la leyenda % Estructura para almacenar los resultados de cada área resultados = struct(); % Iterar sobre cada carpeta para cargar los archivos for i = 1:length(carpetas) carpeta = carpetas{i}; % Obtener lista de archivos dentro de la carpeta archivos = dir(fullfile(carpeta, 'resultados_promedio_iteracion_*.mat')); % Verificar si hay archivos en la carpeta if isempty(archivos) warning(['No se encontraron archivos en: ', carpeta]); continue; end % Inicializar almacenamiento de datos resultados(i).area = nombres_areas{i}; resultados(i).num_total_anclas = []; resultados(i).num_UDP = []; resultados(i).RMSE_BWLS = []; % Cargar cada archivo dentro de la carpeta for j = 1:length(archivos) archivo_path = fullfile(carpeta, archivos(j).name); datos = load(archivo_path); % Verificar que los datos requeridos existan en el archivo if ~isfield(datos, 'num_anclas_udp') || ~isfield(datos, 'rmse_BWLS') || ~isfield(datos, 'num_total_anclas') warning(['Archivo incompleto: ', archivo_path]); continue; end % Guardar datos en listas dentro de la estructura resultados(i).num_total_anclas = [resultados(i).num_total_anclas; datos.num_total_anclas]; resultados(i).num_UDP = [resultados(i).num_UDP; datos.num_anclas_udp]; resultados(i).RMSE_BWLS = [resultados(i).RMSE_BWLS; datos.rmse_BWLS]; end end % Verificar si hay datos cargados if isempty(resultados) error('No se cargaron datos de ninguna carpeta. Verifique los archivos y nombres de ruta.'); end % Obtener los valores únicos de "TotalAnclas" num_total_anclas_all = []; for i = 1:length(resultados)
71 num_total_anclas_all = [num_total_anclas_all; resultados(i).num_total_anclas]; end total_anclas_unicos = unique(num_total_anclas_all); % **Colores personalizados en tonos claros** colores = {[0.6 0.8 1], [0.7 1 0.7], [1 0.6 0.6]}; % Azul Claro, Verde Claro, Rojo Claro marcadores = {'o', 's', 'd'}; % Estilos de marcador para distinción % **Generar una figura lineal por cada número total de anclas** for t = 1:length(total_anclas_unicos) total_anclas = total_anclas_unicos(t); figure; hold on; leyenda_labels = {}; % Para la leyenda for a = 1:length(carpetas) % Buscar los datos del área y número de anclas totales idx = find(resultados(a).num_total_anclas == total_anclas); if isempty(idx) warning(['No hay datos para ', nombres_areas{a}, ' con ', num2str(total_anclas), ' anclas.']); continue; end % Obtener datos de esa área y ese total de anclas num_anclas_UDP = resultados(a).num_UDP(idx); RMSE_BWLS = resultados(a).RMSE_BWLS(idx); % Ordenar por número de anclas UDP [num_anclas_UDP, sort_idx] = sort(num_anclas_UDP); RMSE_BWLS = RMSE_BWLS(sort_idx); % Graficar líneas con marcadores plot(num_anclas_UDP, RMSE_BWLS, '-o', 'Color', colores{a}, 'MarkerFaceColor', colores{a}, ... 'LineWidth', 2, 'MarkerSize', 6); % Agregar etiquetas a la leyenda leyenda_labels{end+1} = ['B-WLS - ' nombres_areas{a}]; end % Configurar ejes y etiquetas xlabel('Número de Anclas UDP'); ylabel('RMSE'); title(['Comparación de B-WLS para ', num2str(total_anclas), ' Anclas Totales']); legend(leyenda_labels, 'Location', 'northwest'); grid on; hold off; end
Anexos 72