Melhoramento do sinal GPS

Ricardo Vitorino edited this page Oct 31, 2013 · 1 revision

Esta página pretende descrever duas componentes desenvolvidas para este projecto, uma estação de referência e um terminal para demonstrações.

Virtual Reference Station, VRS.

Terminal para demonstração do serviço VRS.

Virtual Reference Station, VRS

Estação diferencial de GPS virtual, VRS (Virtual Reference Station), com base no sistema EGNOS (European Geostationary Navigation Overlay Service) da ESA (European Space Agency).

Introdução

Com este serviço pretende-se colmatar o problema da recepção de sinais SBAS (Satellite-Based Augmentation System) provenientes do sistema EGNOS, em situações de sombra, muito comuns em cidades. As obstruções ao sinal EGNOS são derivadas por obstáculos, nomeadamente edifícios que se encontram entre o receptor de GPS e o satélite EGNOS, uma vez que os satélites SBAS são geoestacionários e posicionam-se ao nível do equador.

Este serviço foi desenvolvido tendo como base o sistema SISNET (Signal In Space through the internet) oferecido pela ESA. O sistema SISNET oferece os dados enviados pelos satélites SBAS mas através da internet, como esta informação é possível criar estações virtuais como é o caso deste projecto.

A estação diferencial desenvolvida por este projecto gera dados diferenciais em formato RTCM(Radio Technical Commission for Maritime Services) versão 2.3, que posteriormente são injectados numa das portas do GPS. Os dados diferenciais, gerados pela estação diferencial, são baseados na posição do GPS, que deve ser enviada para o servidor a uma frequência que dependerá da velocidade do GPS.

Com base na posição do GPS, fornecida pelo utilizado, e nos dados do SISNET este serviço gera correcções diferencias para cada posição de GPS, desta forma cada utilizador do sistema tem os dados diferencias diferentes dependendo da sua posição. Daqui é retirado o nome estação diferencial "virtual" porque para cada utilizador são gerados dados diferenciais como se a estação de referência estivesse colocada na posição do GPS.

O acesso a estes dados é feito através da internet utilizando qualquer sistema de comunicações móveis, sendo o protocolo de acesso NTRIP (Networked Transport of RTCM via Internet Protocol),este protocolo é baseado no protocolo HTTP/1.1.

Por forma a auxiliar a contextualizar o utilizador deste serviço, em baixo segue-se um texto composto por vários parágrafos que fazem um resumo dos componentes envolvidos nesta aplicação.

O resumo que se segue é composto pelas seguintes secções:

  • Sistemas GPS e EGNOS
  • Arquitectura da VRS
  • Acesso ao serviço através de um cliente NTRIP

##Sistemas GPS e EGNOS## ###GPS (Global Positioning System) O Sistema de Posicionamento Global NAVSTAR (Navigation Satellite Timing and Ranging), popularmente conhecido por GPS, é composto principalmente por um conjunto de satélites. É um sistema de informação electrónico que fornece via rádio a um aparelho receptor móvel um conjunto de dados que permite ao mesmo determinar a sua a posição com referência a coordenadas terrestres, latitude, longitude e altura.

Este sistema, que por vezes é impropriamente designado de sistema de navegação, não substitui integralmente um sistema de navegação, mas apenas dá as coordenadas de posicionamento do receptor.

Existem actualmente dois sistemas efectivos de posicionamento globais por satélite (GNSS Global Navigation Satellite System), o GPS americano e o Glonass russo. Também existem mais dois sistemas em implantação, o Galileo europeu e o Compass chinês.

Estes novos desenvolvimentos foram necessários porque o sistema americano é controlado pelo Departamento de Defesa dos Estados Unidos da América (DoD) para uso militar, embora actualmente, se encontre aberto para uso civil, poucas garantias são dadas que em tempo de guerra continue emitindo sinais, o que resultaria num sério risco à navegação.

SISTEMA GPS

Figura 1: Segmentos do sistema GPS

O sistema GPS está dividido em segmentos:

Espacial

Consiste em até 32 satélites de órbita média terrestre (MEO) em seis planos orbitais diferentes. O número exacto de satélites varia em alturas de substituição de satélites mais velhos. Operacional desde 1978 e disponível desde 1994, o GPS é actualmente o sistema de navegação satélite o mais utilizado do mundo.

GPS SPACE SEGMENT

Figura 2: Segmento espacial do sistema GPS

###Controlo As trajectórias dos satélites são controlados pelas estações de rastreio da força aérea dos E.U.A. no Havaí, Kwajalein, Ascension Island, Diego Garcia, e Colorado Springs, Colorado, junto com as estações operadas pelo National Geospatial-Intelligence Agency (NGA). Este controlo permite actualizar sincronizar os relógios atómicos a bordo dos satélites dentro de um a poucos nano segundos uns dos outros, e ajustar a efeméride de um modelo interno de cada satélite orbital.

###Utilizador O segmento do utilizador é geralmente caracterizado pelo receptor de GPS e respectiva aplicação. Em geral, os receptores GPS são compostos de uma antena, sintonizado com as frequências transmitidas pelos satélites, um receptor, um processador e um relógio altamente estável (frequentemente um oscilador de cristal). Também pode incluir um display para fornecer a localização, velocidade, bem como outros dados ao Utilizador. Um receptor é frequentemente caracterizado pelo número de canais, isso significa quantos satélites pode sintonizar simultaneamente.

###Sistemas de melhoramento da posição oferecida pelo GPS Métodos de melhoria da precisão dependem de informações externas a ser integrados no processo de cálculo internos ao GPS. Os sistemas na generalidade transmitem informações adicionais sobre as fontes de erro (deriva do relógio, efemérides, ou o atraso ionosférico),dados para a correcção das pseudodistancias e correcção da posição do satélite.

###EGNOS (European Geostationary Navigation Overlay Service) É um sistema de aumento da precisão dos sistemas GNSS, baseado em satélite SBAS, desenvolvido pela Agência Espacial Europeia (ESA), a Comissão Europeia e o Eurocontrol. O EGNOS complementa os sistemas GPS, GLONASS e Galileo. O início oficial das operações foi anunciado pela Comissão Europeia em 1 de outubro de 2009. Segundo as especificações, a precisão da posição horizontal deve ser melhor do que sete metros. O sistema EGNOS consiste em quatro satélites geoestacionários e uma rede de estações terrestres.

Serviços semelhantes estão disponíveis na América do Norte pela Wide Area Augmentation System (WAAS) e na Ásia, especialmente no Japão, pelo sistema de aumento satélite Multifuncional (MSAS).


Arquitectura da VRS

O desenvolvimento da VRS consiste no desenvolvimento de um servidor composta por vários módulos, descritos no quadro a seguir.

vrs

Figura 2: Descrição por módulos da VRS

###Cliente SISNET(Signal in Space through the internet) Este cliente é responsável pela interface com o SISNET, este processo estabelece uma ligação permanente com a ESA (Agência Espacial Europeia) e é responsável por receber os dados RTCA D0-229 e efemérides. Este módulo é implementado de acordo SISNET User Interface Document. Todas as mensagens SISNET são comprimidas de acordo com o algoritmo de compressão Sisnet Compression Algorithm (Sinca) por isso, devem ser primeiro descomprimidas.

###Descodificador RTCA (Radio Technical Commission for Aeronautics) O descodificador RTCA analisa e processa os conteúdos provindos do cliente SISNET, de acordo com standard RTCA DO-229c, o descodificador RTCA processa os dados em tempo real. Além disso, também descompacta e analisa mensagens não RTCA e SISNET como por exemplo efemérides de satélite e mensagens de correção da ionosfera.

Os módulos que se seguem são gerados para cada cliente deste serviço, de facto é criada uma thread para cliente com os módulos que se seguem.

###Estimador PRC (Pseudo Range Corrections) O estimador PRC é a unidade principal de processamento, baseado na posição de cada rover (posição de GPS de cada utilizador), para cada um dos satélites, calcula:

  1. A posição atual dos satélites, usando as efemérides correspondentes.
  2. A elevação dos satélites e os ângulos de azimute para a localização aproximada do GPS.
  3. O Ionospheric Pierce Point (IPP) e do ângulo de obliquidade.
  4. Correcção das pseudoranges devido aos atrasos da ionosfera, baseado no IPP do utilizador.
  5. A correção troposférica.
  6. As "fast range correction".
  7. A correção dos relógios com base em "long-term correctional date".
  8. Correcção total das pseudoranges, que é a soma de todas as correcções.

###Codificador RTCM Este módulo cria e codifica dois tipos de mensagens RTCM: mensagem tipo 1 (MT1) e mensagem tipo 3 (MT3). A mensagem MT1 contém correções para as pseudodistancias (PRC) e a taxa de mudança das pseudodistancias (RRC Range Rate Corrections) para satélites visíveis e saudáveis. A mensagem MT3 contém as coordenadas da VRS no sistema Earth-Centered-Earth-Fixed (ECEF).

###NTRIP Server Este módulo permite o acesso, dos utilizadores ao servidor VRS. O NTRIP é um protocolo de que suporta “streaming” de dados GNSS através da Internet. O NTRIP é um protocolo genérico, baseada no protocolo Hypertext Transfer Protocol HTTP/1.1. Os objetos HTTP são estendidos para os fluxos de dados GNSS. NTRIP é projetado para divulgar dados de correcção diferencial ou outros tipos de fluxo de dados GNSS para utilizadores fixos ou móveis através da Internet. O NTRIP suporta acesso à Internet sem fios através de redes IP móveis como GSM, GPRS, EDGE ou UMTS.

Como resultado da ligação o cliente é responsável por enviar uma string NMEA (National Marine Electronics Association) com a posição do GPS e receberá em continuo um conjunto de mensagens RTCM com as PRC e as RRC, para correcção das pseudodistancias. As mensagens RTCM devem ser logo enviadas em tempo real para o receptor de GPS.


Acesso ao serviço através de um cliente NTRIP

O acesso a este serviço pode ser feito de através de um cliente NTRIP, existem muitos clientes "open source" na internet, nomeadamente para Linux, Windows e Android. Nos seguintes links podem ser encontrados alguns exemplos:

O acesso ao servidor é feito de acordo com as regras definidas pelo documento NTRIP. Segue-se um exemplo de um código em java para estabelecimento de uma ligação ao servidor VRS, ost.vrs.pt. Antes de fazer a ligação ao servidor há que definir o porto do serviço NTRIP, o nome do utilizador, a password e o "mountpoint" neste caso é um parâmetro opcional.

//Inicializa com IP do servidor ost.vrs.pt
public String SERVERIP = "94.46.32.132";	// IP do servidor
public String SERVERPORT = "2101";			// Porto do servidor
public String Username = "user";			// Nome do utilizador
public String Password = "password";		// Password do utilizador
public String Mountpoint = "OSTVRS";

Logo após a abertura bem sucedida do porto, temos que construir a mensagem que nos permitirá termos acesso às streams RTCM. O exemplo que se segue permite ao cliente estabelecer uma ligação com o serviço desde que o utilizador esteja registado. Logo que a mensagem esteja completa é enviada para o servidor.

// Constroi a mensagem em "requestmsg"
String requestmsg = "GET /" + Mountpoint + " HTTP/1.0\r\n";
requestmsg += "User-Agent: NTRIP OSTClient/20130201\r\n";
requestmsg += "Accept: */*\r\n";
requestmsg += "Connection: close\r\n";
//Verifica se o nome do utilizador existe
if (Username.length() > 0) {
	//Codifica o nome do utilizador e a password utilizador com base64
	requestmsg += "Authorization: Basic " + ToBase64(Username + ":" + Password);
}
requestmsg += "\r\n\r\n";
//Envia o pedido para o servidor
vrs.write(requestmsg.getBytes());

Se o serviço foi disponibilizado, o servidor retorna a seguinte mensagem "ICY 200 OK", caso contrário retornará outro tipo de mensagem, que terá que ser interpretada de acordo com o seu conteúdo. Logo após a recepção desta mensagem o servidor começa a enviar conteúdos RCTM, estes devem ser enviados em tempo real para o GPS.

Uma vez que o serviço fornece correcção de dados para o local indicado pelo GPS, a posição do GPS do utilizador deve ser enviada periodicamente para o servidor. O envio é feito através da mensagem NMEA GGA, embora esta mensagem seja composta por vários conteúdos, para aplicação ao que interessa é a longitude e a latitude, um exemplo segue em baixo:

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47\r\n

##Terminal para demonstração do serviço VRS

O terminal é constituído por um GPS profissional (alimentado por uma bateria) e por um smartphone com sistema operativo Android. No android é instalada uma aplicação gráfica e um serviço de interface NTRIP para ligar o smartphone ao VRS. O GPS externo tem a capacidade de receber dados RTCM através de uma interface RS232, como o smartphone não tem uma interface física RS232, foi necessário arranjar um dispositivo que realizasse uma interface Bluetooth para RS232.

O serviço de interface NTRIP é responsável pela ligação de duas entidades o GPS externo através do Bluetooth e com o servidor do VRS utilizando o serviço de dados. A posição do GPS é enviada para o servidor VRS pelo serviço NTRIP logo que este tenha uma posição válida, na mesma altura, o serviço NTRIP envia os dados RTCM para o GPS externo, recebendo a posição corrigida do GPS enviando-a para a aplicação gráfica.

Na figura a seguir vemos um esquema de ligações do terminal.

ALL terminall

Figura 3: Visão global do sistema.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.