Receptor GNSS implementado en software
Un receptor GNSS de software es un receptor del Sistema Global de Navegación por Satélite (GNSS) que ha sido diseñado e implementado utilizando radio definida por software .
Un receptor GNSS, en general, es un dispositivo electrónico que recibe y procesa digitalmente las señales de una constelación de satélites de navegación para proporcionar la posición, velocidad y tiempo (del receptor).
Los receptores GNSS se han implementado tradicionalmente en hardware: un receptor GNSS de hardware se concibe como un chip dedicado que ha sido diseñado y construido (desde el principio) con el único propósito de ser un receptor GNSS.
En un receptor GNSS de software, todo el procesamiento digital lo realiza un microprocesador de uso general . En este enfoque, se necesita una pequeña cantidad de hardware económico, conocido como frontend , que digitaliza la señal de los satélites. El microprocesador puede entonces trabajar con este flujo digital sin procesar para implementar la funcionalidad GNSS.
Receptores GNSS de hardware y software
Al comparar los receptores GNSS de hardware y software , se pueden encontrar una serie de ventajas y desventajas para cada enfoque:
- Los receptores GNSS de hardware son en general más eficientes desde el punto de vista de la carga computacional y el consumo de energía ya que han sido diseñados de forma altamente especializada con el único propósito de implementar el procesamiento GNSS.
- Los receptores GNSS basados en software permiten una gran flexibilidad: muchas de las características del receptor se pueden modificar simplemente mediante software. Esto proporciona al receptor capacidades de adaptación, dependiendo de las necesidades del usuario y las condiciones de trabajo. Además, el receptor se puede actualizar fácilmente mediante software. [1]
- En algunos supuestos, los receptores GNSS de software pueden ser más rentables para algunas aplicaciones, siempre que se disponga de suficiente potencia computacional (y que se pueda compartir entre varias aplicaciones). Por ejemplo, el microprocesador de un teléfono inteligente se puede utilizar para proporcionar navegación GNSS con la única necesidad de incluir un frontend (en lugar de un receptor de hardware completo y más costoso).
En la actualidad, la mayor parte del mercado de receptores GNSS sigue siendo de hardware . Sin embargo, ya existen soluciones operativas basadas en software capaces de funcionar en microprocesadores de bajo coste. Se espera que los receptores GNSS de software aumenten su cuota de mercado o incluso se impongan en un futuro próximo, tras el desarrollo de las capacidades computacionales de los microprocesadores ( Ley de Moore ).
Comparación de las implementaciones de GNSS SDR
- Esta comparación es estrictamente sobre GNSS SDR; no incluya software general de mapeo y posicionamiento GNSS.
- Navegación por satélite Galileo LTD.- GSN :
- Modelo de negocio: licencia de núcleo de propiedad intelectual + regalías
- Desarrollo
- Lenguaje de programación: C
- Interfaz de usuario - NMEA
- Soporte de hardware:
- Plataformas
- PC - ventanas
- PC - Linux
- CEVA - Familia XC
- CEVA-TL3/4
- Cadencia (Tensilica) - BBE16/32
- RF FE
- MÁXIMA
- Comité ejecutivo nacional
- Compatibilidad con señales GNSS/SBAS:
- Características:
- Adquisición: si
- Seguimiento: si
- Generando observable de pseudorango: sí
- Descodificación de datos de navegación: sí
- Estimación de posición: sí
- Número máximo de canales en tiempo real demostrados: 16/sistema
- Correlacionador múltiple: sí
- Grabación de datos de muestra: sí
- SX3 (anteriormente SX-NSR)
- Información general:
- Publicación: http://gpsworld.com/software-gnss-receiver-an-answer-for-precise-positioning-research
- Desarrollo:
- Lenguaje de programación: C++
- Interfaz de usuario (ninguna, CLI , GUI ): CLI, GUI
- En desarrollo activo (a la fecha): sí (17 de marzo de 2016)
- Organización creadora/patrocinadora: IfEN GmbH, Alemania
- Última versión (y fecha): v3.2.1, marzo de 2016
- Primera versión (y fecha): v1.0, marzo de 2007
- Soporte de hardware:
- Interfaces: NavPort, NavPort-4, interfaz SX3
- Hardware especial del ordenador host compatible: SIMD (SSE2, SSSE3), CUDA
- Compatible con varios núcleos: sí
- Compatibilidad con señales GNSS/SBAS:
- GPS : L1CA, L2C, L2P (sin código), L5
- GLONASS : G1, G2
- Galileo : E1, E5a, E5b, E5ab (AltBOC), E6
- BeiDou : B1, B2
- Sistema de alerta temprana EGNOS
- QZSS : L110CAdieur
- IRNSS : L5, banda S
- Características:
- Adquisición: sí (varios algoritmos)
- Seguimiento: sí (varios algoritmos)
- Generando observable de pseudorango: sí
- Generación de observable de fase portadora: sí
- Descodificación de datos de navegación: sí
- Analizador de espectro: si
- Estimación de posición: sí
- Número máximo de canales en tiempo real demostrados: 490 (canales GPS L1 C/A a frecuencia de muestreo de 20 MHz, 3 correladores por canal, procesador INTEL Core i7-4970K (sin overclock))
- Interfaz de programación de aplicaciones: sí
- Soporte de antena dual: sí
- Monitorización de centelleo: sí
- Correlacionador múltiple: sí
- Grabación de datos de muestra: sí
- Mitigación de trayectos múltiples : sí (varios algoritmos)
- Sistema de navegación por satélite GNSS-SDRLIB
- Información general:
- Desarrollo:
- Lenguaje de programación: C
- Interfaz de usuario (ninguna, CLI , GUI ): CLI, GUI.
- Número de desarrolladores: 1?
- En desarrollo activo (a la fecha): sí (25 de septiembre de 2013)
- Organización creadora/patrocinadora: Universidad de Ciencias y Tecnología Marinas de Tokio, Japón
- Último lanzamiento (versión y fecha):
- Primer lanzamiento (versión y fecha):
- Soporte de hardware:
- Front-ends: NSL STEREO v2 y SiGe GN3S Sampler v3
- Hardware especial del ordenador anfitrión compatible: SIMD (SSE2 y AVX)
- ¿Compatible con múltiples núcleos?:
- Compatibilidad con señales GNSS/SBAS:
- Características:
- Adquisición: si
- Seguimiento: si
- Generando pseudorango: si
- Descodificación de datos de navegación: sí
- Análisis de espectro: sí
- Estimación de posición: sí (a través de RTKLIB)
- Número máximo de canales en tiempo real demostrados: ?
- ARAMIS (anteriormente iPRx)
- Versiones:
- Versión académica gratuita
- Receptor del monitor de centelleo ionosférico
- Versión de I+D
- Información general:
- Publicación: http://www.cambridge.org/us/academic/subjects/engineering/communications-and-signal-processing/digital-satellite-navigation-and-geophysics-practical-guide-gnss-signal-simulator-and-receiver-laboratory
- Desarrollo:
- Lenguaje de programación: C++
- Interfaz de usuario: GUI
- En desarrollo activo (a la fecha): sí (2014-noviembre)
- Organización creadora/patrocinadora: iP-Solutions, Japón, JAXA, Japón
- Último lanzamiento (versión y fecha): febrero de 2018
- Primera versión (versión y fecha): abril de 2008
- Soporte de hardware:
- Frontales: Eagle, FEM, Simceiver
- Compatible con varios núcleos: sí
- Compatibilidad con señales GNSS/SBAS:
- GPS : L1CA, L2C
- BeiDou B1, B2
- GLONASS : G1, G2, G3
- Galileo : E1
- IRNSS: L5, S
- QZSS : L1CA
- SBAS
- Características:
- Adquisición: si
- Seguimiento: si
- Generando observable de pseudorango: sí
- Generación de observable de fase portadora: sí
- Descodificación de datos de navegación: sí
- Estimación de posición: sí
- Número máximo de canales en tiempo real: 60 (5 correladores por canal)
- Interfaz de programación de aplicaciones: sí
- Soporte de antena dual: sí, para el front-end FEM
- Correlacionador múltiple: sí
- Grabación de datos de muestra: sí
- SoftGNSS v3.0 (también conocido como SoftGPS)
- Información general:
- Publicación: https://www.springer.com/birkhauser/engineering/book/978-0-8176-4390-4
- Código fuente: incluido con el libro.
- Licencia del software : GPL v2
- Receptor de software GNSS no en tiempo real (posprocesamiento)
- Desarrollo:
- Lenguaje de programación: MATLAB
- Interfaz de usuario (ninguna, CLI , GUI ): CLI y GUI
- Número de desarrolladores: 4 (a lo largo del proyecto)
- En desarrollo activo (hasta la fecha): versión pública: no, versiones no públicas: sí (30 de septiembre de 2013)
- Soporte de hardware:
- Front-ends: SiGe GN3S Sampler v1 (en la versión original de SDR y controlador). Los registros de señales que se originan en otras versiones de Sampler u otros front-ends requieren cambios de configuración y, en algunos casos, también cambios menores en el código.
- Hardware especial del ordenador anfitrión compatible: no
- ¿Compatible con varios núcleos?: no
- Compatibilidad con señales GNSS/SBAS (versión independiente para cada banda de cada GNSS):
- Características:
- Adquisición: si
- Seguimiento: si
- Generando observable de pseudorango: sí
- Generación de observable de fase portadora: no
- Descodificación de datos de navegación: sí
- Estimación de posición: sí
- GNSS-SDR , un receptor definido por software GNSS de código abierto
- Información general:
- Desarrollo:
- Lenguaje de programación: C++
- Interfaz de usuario (ninguna, CLI , GUI ): CLI.
- Número de desarrolladores: 26 (a lo largo del proyecto)
- En desarrollo activo (a la fecha): sí (08/01/2021)
- Creador/organización patrocinadora: Centre Tecnològic de Telecomunicacions de Catalunya
- Última versión (y fecha): 0.0.14 (enero de 2021)
- Primer lanzamiento (versión y fecha): 2011-Mar-11 primer commit de svn
- Soporte de hardware:
- Front-ends: compatible con UHD ( familia USRP ), compatible con OsmoSDR (dongles USB basados en RTL2832, bladeRF, HackRF One), SiGe GN3S Sampler v2, AD-FMCOMMS2-EBZ
- Hardware especial del ordenador host compatible: SIMD (a través de VOLK y VOLK_GNSSSDR), CUDA
- ¿Compatible con varios núcleos?: Sí
- Compatibilidad con señales GNSS/SBAS:
- Características:
- Adquisición: sí (varios algoritmos)
- Seguimiento: sí (varios algoritmos)
- Generando observable de pseudorango: sí
- Generación de observable de fase portadora: sí
- Descodificación de datos de navegación: sí
- Estimación de posición: sí
- Número máximo de canales en tiempo real demostrados: > 100
- Formatos de salida: RINEX , KML , GPX , GeoJSON , NMEA , RTCM , resultados intermedios almacenados en archivos binarios .mat legibles desde MATLAB y Octave , y desde Python a través de h5py.
- GRID , Dispositivo de interfusión de radionavegación generalizada
- Información general:
- Licencia de software : Comercial
- Publicación: El GNSS definido por software está listo para su lanzamiento
- Contacto: Laboratorio de Radionavegación, Locus Lock
- Desarrollo:
- Lenguaje de programación: C++
- Plataformas: Linux, Windows, MacOS
- Interfaz de usuario (ninguna, CLI , GUI ): CLI.
- Número de desarrolladores: 15 (a lo largo del proyecto)
- En desarrollo activo (a la fecha): sí (28 de abril de 2023)
- Organización creadora/patrocinadora: Universidad de Texas en Austin
- Último lanzamiento (versión y fecha): lanzamiento anual de 2022
- Primera versión (versión y fecha): 2008-Jul-01
- Soporte de hardware:
- Front-ends: Varios y, prácticamente hablando, cualquiera.
- Hardware especial de computadora host compatible: Intel SIMD (SSE2 a AVX-512), ARM NEON (64 bits y 128 bits)
- ¿Compatible con varios núcleos?: Sí
- Compatibilidad con señales GNSS/SBAS:
- GPS : L1CA, L2C, L5
- Galileo : E1b, E1c, E5a
- QZSS : L1CA
- SBAS : WAAS Nivel 1
- Características:
- Adquisición: sí (varios algoritmos)
- Seguimiento: sí (varios algoritmos)
- Generando observable de pseudorango: sí
- Generación de observable de fase portadora: sí
- Descodificación de datos de navegación: sí
- Estimación de posición: sí
- Antenas múltiples: si
- Cinemática en tiempo real: sí, GRID puede funcionar como una estación base RTK o un móvil con soporte de red integrado, estimación RTK cuando se integra con PpEngine (disponible a través de una licencia separada)
- Correcciones diferenciales: sí, CNAV y SBAS
- Número máximo de canales en tiempo real: depende del hardware, 30 en una Raspberry Pi 1, >100 en la mayoría de las computadoras de escritorio.
- Formatos de salida: RINEX , KML , archivos MATLAB .mat, CSV, formato propietario GBX (intercambio binario GRID).
- Aplicaciones actuales: receptor experimental FOTON, varias aplicaciones comerciales GNSS-RO, navegación a bordo de satélites LEO comerciales, navegación de cohetes basada en RTK (lanzamiento a órbita), navegación de vehículos basada en RTK en entornos urbanos, drones basados en RTK, varias estaciones de referencia fijas, monitoreo de anomalías de señal
Referencias
- ^ Receptores de software en tiempo real, GPS World, 1 de septiembre de 2009 por Pierre-André Farine, Marcel Baracchi-Frei, Grégoire Waelchli, Cyril Botteron
Lectura adicional
- Borre, K; Akos, D; Bertelsen, N; Rinder, P; Jensen, SH (2007). Un receptor Galileo y GPS definido por software: un enfoque de frecuencia única . Birkhauser . ISBN. 978-0-8176-4390-4.
- Pany, Thomas (2010). Procesamiento de señales de navegación para receptores de software GNSS . Artech House . ISBN 9781608070282.
- Petrovski, Ivan; Tsujii, Toshiaki (2012). Navegación por satélite digital y geofísica: guía práctica con simulador de señales GNSS y laboratorio de receptores . Cambridge University Press . ISBN 9780521760546.
Enlaces externos
- El software GPS tiene muchas ventajas
- Un punto de partida para aprender sobre GPS con software de código abierto Archivado el 30 de agosto de 2012 en Wayback Machine.
- Mitigación de los efectos ionosféricos en el posicionamiento GNSS