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 con el fin de proporcionar posición, velocidad y tiempo (del receptor).
Los receptores GNSS se han implementado tradicionalmente en hardware: un receptor GNSS 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 propósito general . En este enfoque, todavía se necesita una pequeña cantidad de hardware económico, conocido como frontend , que digitaliza la señal de los satélites. Luego, el microprocesador puede trabajar en este flujo digital sin procesar para implementar la funcionalidad GNSS.
Receptores GNSS de hardware versus 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 tanto de la carga computacional como del 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 por software permiten una enorme flexibilidad: muchas 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]
- Según algunas suposiciones, los receptores GNSS de software pueden ser más rentables para algunas aplicaciones, siempre que haya suficiente potencia computacional disponible (y pueda compartirse entre múltiples aplicaciones). Por ejemplo, el microprocesador de un teléfono inteligente se puede utilizar para proporcionar navegación GNSS con la única necesidad de incluir una interfaz (en lugar de un receptor de hardware completo y más caro).
Actualmente, la mayor parte del mercado de receptores GNSS sigue siendo hardware . Sin embargo, ya existen soluciones operativas basadas en software capaces de funcionar con microprocesadores de bajo coste. Se espera que los receptores de software GNSS aumenten su cuota de mercado o incluso la acaparen en un futuro próximo, tras el desarrollo de las capacidades computacionales de los microprocesadores ( ley de Moore ).
Comparación de implementaciones GNSS SDR
- Esta comparación se refiere estrictamente a GNSS SDR; No incluya software general de posicionamiento y mapeo GNSS.
- Galileo Navegación por Satélite LTD.- GSN :
- Modelo de negocio: licencia central de IP + 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
- Soporte de señales GNSS/SBAS:
- Características:
- Adquisición: sí
- Seguimiento: sí
- Generando pseudorango observable: sí
- Decodificació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
- Multicorrelador: sí
- Registro 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í (2016-Mar-17)
- Creador/organización patrocinadora: IfEN GmbH, Alemania
- Última versión (versión y fecha): v3.2.1, marzo de 2016
- Primera versión (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 multinúcleo: sí
- Soporte de 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
- SBAS : EGNOS
- QZSS : L110CAdieyure
- IRNSS : L5, banda S
- Características:
- Adquisición: sí (varios algoritmos)
- Seguimiento: sí (varios algoritmos)
- Generando pseudorango observable: sí
- Generando fase portadora observable: sí
- Decodificación de datos de navegación: sí
- Analizador de espectro: sí
- 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 correlacionadores por canal, procesador INTEL Core i7-4970K (sin overclocking))
- Interfaz de programación de aplicaciones: sí
- Soporte de antena dual: sí
- Monitoreo de centelleo: sí
- Multicorrelador: sí
- Registro de datos de muestra: sí
- Mitigación de rutas múltiples : sí (varios algoritmos)
- 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)
- Creador/organización patrocinadora: Universidad de Ciencia y Tecnología Marinas de Tokio, Japón
- Última versión (versión y fecha):
- Primer lanzamiento (versión y fecha):
- Soporte de hardware:
- Front-end: NSL STEREO v2 y SiGe GN3S Sampler v3
- Hardware especial del ordenador host compatible: SIMD (SSE2 y AVX)
- ¿Soporta multinúcleo?:
- Soporte de señales GNSS/SBAS:
- Características:
- Adquisición: sí
- Seguimiento: sí
- Generando pseudo-rango: sí
- Decodificació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 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- laboratorio-receptor
- Desarrollo:
- Lenguaje de programación: C++
- Interfaz de usuario: GUI
- En desarrollo activo (a la fecha): sí (2014-noviembre)
- Creador/organización patrocinadora: iP-Solutions, Japón, JAXA, Japón
- Última versión (versión y fecha): febrero de 2018
- Primera publicación (versión y fecha): abril de 2008
- Soporte de hardware:
- Frontales: Eagle, FEM, Simceiver
- Compatible con multinúcleo: sí
- Soporte de 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: sí
- Seguimiento: sí
- Generando pseudorango observable: sí
- Generando fase portadora observable: sí
- Decodificación de datos de navegación: sí
- Estimación de posición: sí
- Número máximo de canales en tiempo real: 60 (5 correlacionadores por canal)
- Interfaz de programación de aplicaciones: sí
- Soporte de antena dual: sí, para la parte frontal FEM
- Multicorrelador: sí
- Registro 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 de software : GPL v2
- Receptor de software GNSS sin tiempo real (postprocesamiento)
- 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 (a 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 otras interfaces requieren cambios de configuración y, en algunos casos, también cambios menores de código.
- Hardware especial del ordenador host compatible: no
- ¿Soporta multinúcleo?: no
- Soporte de señales GNSS/SBAS (versión separada para cada banda de cada GNSS):
- Características:
- Adquisición: sí
- Seguimiento: sí
- Generando pseudorango observable: sí
- Generando fase portadora observable: no
- Decodificació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 de enero de 2021)
- Creador/organización patrocinadora: Centre Tecnològic de Telecomunicacions de Catalunya
- Última versión (versión y fecha): 0.0.14 (a enero de 2021)
- Primer lanzamiento (versión y fecha): 11 de marzo de 2011, primer compromiso 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
- ¿Soporta multinúcleo?: Sí
- Soporte de señales GNSS/SBAS:
- GPS : L1CA, L2C, L5
- GLONASS : L1SP, L2SP
- Galileo : E1b, E1c, E5a
- BeiDou: B1I, B3I
- SBAS : EGNOS
- Características:
- Adquisición: sí (varios algoritmos)
- Seguimiento: sí (varios algoritmos)
- Generando pseudorango observable: sí
- Generando fase portadora observable: sí
- Decodificació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í (2023-abr-28)
- Creador/organización patrocinadora: Universidad de Texas en Austin
- Última versión (versión y fecha): versión anual de 2022
- Primer lanzamiento (versión y fecha): 2008-Jul-01
- Soporte de hardware:
- Front-ends: Varios y prácticamente cualquiera.
- Hardware especial del ordenador host compatible: Intel SIMD (SSE2 a AVX-512), ARM NEON (64 bits y 128 bits)
- ¿Soporta multinúcleo?: Sí
- Soporte de señales GNSS/SBAS:
- GPS : L1CA, L2C, L5
- Galileo : E1b, E1c, E5a
- QZSS : L1CA
- SBAS : WAAS L1
- Características:
- Adquisición: sí (varios algoritmos)
- Seguimiento: sí (varios algoritmos)
- Generando pseudorango observable: sí
- Generando fase portadora observable: sí
- Decodificación de datos de navegación: sí
- Estimación de posición: sí
- Múltiples antenas: sí
- Cinemática en tiempo real: sí, GRID puede funcionar como una estación base RTK o 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: dependiente del hardware, 30 en una Raspberry Pi 1, >100 en la mayoría de las computadoras de escritorio.
- Formatos de salida: archivos RINEX , KML , MATLAB .mat, CSV, formato propietario GBX (intercambio binario GRID).
- Aplicaciones actuales: receptor FOTON experimental, varias aplicaciones comerciales GNSS-RO, navegación a bordo por satélite comercial LEO, navegación con cohetes (lanzamiento a órbita) basada en RTK, navegación para vehículos en entornos urbanos basada en RTK, 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
- Borré, K; Akos, D; Bertelsen, N; Rinder, P; Jensen, SH (2007). "Un receptor GPS y Galileo 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 . Casa Artech . ISBN 9781608070282.
- Petrovski, Iván; Tsujii, Toshiaki (2012). Navegación digital por satélite y geofísica una guía práctica con simulador de señales GNSS y laboratorio receptor . Prensa de la Universidad de Cambridge . 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