universidade tÉcnica de lisboa instituto … · figura 2.8 – erros de multi-percurso. ... tabela...

113
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO TÉCNICAS AVANÇADAS PARA POSICIONAMENTO GLOBAL BASEADAS EM GPS Alexandre Barbosa Bastos Gomes n.º 50652, AE de Sistemas, Decisão e Controlo Rui Miguel Bento de Pina Mendes n.º 50852, AE de Sistemas, Decisão e Controlo LICENCIATURA EM ENGENHARIA ELECTROTÉCNICA E COMPUTADORES Relatório de Trabalho Final de Curso 75/2006/L Orientador: Professor Paulo Jorge Coelho Ramalho Oliveira Co-Orientador: Professor Carlos Jorge Ferreira Silvestre Outubro de 2006

Upload: buihanh

Post on 04-Jun-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

UNIVERSIDADE TÉCNICA DE LISBOA

INSTITUTO SUPERIOR TÉCNICO

TÉCNICAS AVANÇADAS PARA POSICIONAMENTO GLOBAL BASEADAS EM GPS

Alexandre Barbosa Bastos Gomes n.º 50652, AE de Sistemas, Decisão e Controlo Rui Miguel Bento de Pina Mendes n.º 50852, AE de Sistemas, Decisão e Controlo

LICENCIATURA EM ENGENHARIA ELECTROTÉCNICA E COMPUTADORES Relatório de Trabalho Final de Curso

75/2006/L

Orientador: Professor Paulo Jorge Coelho Ramalho Oliveira Co-Orientador: Professor Carlos Jorge Ferreira Silvestre

Outubro de 2006

Page 2: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 3: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

i

Agradecimentos

Aos Professores Paulo Oliveira e Carlos Silvestre, os nossos primeiros

agradecimentos, pela confiança no nosso trabalho desde o primeiro momento. Agradecemos

também a disponibilidade e todo o apoio fornecido, sem os quais não poderia ter sido

realizado este trabalho.

Ao ISR – Instituto de Sistemas e Robótica, que nos forneceu o material necessário

para a realização deste trabalho. Ao Eng. Luís Sebastião, pela análise crítica dos nossos

resultados e pela grande ajuda com a componente de software. Aos Engenheiros Manuel

Rufino e João Alves, pela ajuda prestada com a componente de hardware.

À REN – Rede Eléctrica Nacional, em especial ao Eng. Simão Vieira, por nos ter

facilitado o acesso a um excelente local para realizar os testes.

Ao Professor José Sanguino, pelos seus conselhos experientes. Ao Daniel Santos e

Pedro Gordalina, pela ajuda logística e por todos os bons momentos.

Aos amigos, por terem compreendido e aceite as nossas ausências.

Por fim, às nossas famílias, sem as quais não teria sido possível esta caminhada.

Page 4: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 5: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

iii

Resumo

Este relatório insere-se no contexto do trabalho final de curso “Técnicas Avançadas

para Posicionamento Global, baseadas em GPS” e descreve a actividade desenvolvida no seu

âmbito durante o ano lectivo de 2005/2006. O trabalho seguiu três fases distintas: o estudo do

GPS e dados a medir, a análise de metodologias para a estimativa da posição e a

implementação dos algoritmos de posicionamento.

A primeira fase aprofunda o conhecimento do GPS ao nível dos princípios de

funcionamento. Descrevem-se as medições da pseudo-distância e da fase da portadora, e as

fontes de erro que as afectam.

Relativamente à segunda etapa, são abordadas metodologias para resolução da posição

em GPS. Inicialmente estudam-se métodos de posicionamento absoluto, como o iterativo e o

Bancroft, que recorrem simplesmente ao receptor do utilizador e às respectivas pseudo-

-distâncias. Em seguida tratam-se algoritmos avançados baseados em GPS diferencial e

duplas diferenças, com o objectivo de melhorar a precisão. Nestes processos são usados dois

receptores, um utilizador e uma estação-base, e as respectivas pseudo-distâncias ou fases da

portadora. Para resolver a ambiguidade inerente à fase, destaca-se o método LAMBDA.

A parte final consistiu na implementação de algoritmos de posicionamento em Matlab

e C++ para a validação e estudo do desempenho das metodologias propostas com dados

recolhidos de receptores GPS. Os algoritmos implementados obtiveram uma confiança

horizontal de 95% de: 6.6576m para algoritmos de posicionamento absoluto, 7.6109m para

GPS diferencial, 6.4217m para duplas diferenças utilizando somente a pseudo-distância e

0.2007m para o método LAMBDA.

Palavras-chave:

Posicionamento GPS, Bancroft, DGPS, Duplas Diferenças, Método LAMBDA.

Page 6: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 7: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

v

Abstract

This report is about the final graduation thesis “Advanced Techniques for Global

Positioning, based on GPS” and describes the work during the school year of 2005/2006. The

work consisted of three different stages: the study of GPS and data measurements, the

analysis of methodologies for position estimation and the development of positioning

algorithms.

The first stage deepens the knowledge of GPS and its operation principles.

Measurements of pseudo-range and carrier phase are described, as well as their error sources.

In the second stage, the methods for solving a user position in GPS are described. First

the methods of absolute positioning are explicated, like iterative and Bancroft’s, those only

employ the user’s receiver and its pseudo-ranges. Next are explained the advanced algorithms

like differential GPS and double differences, to improve precision. This time it is used two

receivers, user and base-station, and their pseudo-ranges or carrier phases. To solve phase

ambiguity, the LAMBDA method is distinguished.

The last stage is the development of positioning algorithms in Matlab and C++ for the

validation and study of the methods’ performance. The results obtained for horizontal

confidence at 95% are: 6.6576m for absolute positioning, 7.6109m for differential GPS,

6.4217m for double differences with pseudo-range and 0.2007m for the LAMBDA method.

Keywords:

GPS Positioning, Bancroft, DGPS, Double Differences, LAMBDA Method.

Page 8: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 9: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

vii

ÍNDICE

Lista de Figuras ......................................................................................................................... ix Lista de Tabelas......................................................................................................................... xi Lista de Siglas .........................................................................................................................xiii Notação..................................................................................................................................... xv Capítulo 1 Introdução........................................................................................................... 1

1.1 Motivação................................................................................................................... 1 1.2 Estado da Arte ............................................................................................................ 3 1.3 Objectivos do Trabalho .............................................................................................. 4

Capítulo 2 Sistema GPS....................................................................................................... 5 2.1 Constituição do Sistema ............................................................................................. 5 2.2 Princípios de Funcionamento do GPS........................................................................ 6 2.3 Fontes de Erro ............................................................................................................ 9 2.4 Determinação da Pseudo-Distância.......................................................................... 12 2.5 Determinação da Fase .............................................................................................. 13 2.6 Métodos de Posicionamento..................................................................................... 15

Capítulo 3 Algoritmos de Posicionamento ........................................................................ 17 3.1 Posicionamento Absoluto......................................................................................... 17

3.1.1 Algoritmo Iterativo........................................................................................... 19 3.1.2 Algoritmo de Bancroft ..................................................................................... 21

3.2 GPS Diferencial........................................................................................................ 23 3.2.1 DGPS em Pseudo-Distância............................................................................. 24 3.2.2 DGPS em Posição ............................................................................................ 25

3.3 Duplas Diferenças .................................................................................................... 26 3.3.1 Duplas Diferenças via Pseudo-Distância ......................................................... 27 3.3.2 Duplas Diferenças via Pseudo-Distância e Fase .............................................. 28

Capítulo 4 Método LAMBDA ........................................................................................... 31 4.1 Modelo das Observações.......................................................................................... 32 4.2 Solução em Vírgula Flutuante.................................................................................. 33 4.3 Estimativa da Ambiguidade Inteira.......................................................................... 34 4.4 Processo de Procura ................................................................................................. 35 4.5 Processo de Selecção e Solução Inteira.................................................................... 37

Capítulo 5 Resultados ........................................................................................................ 39 5.1 Testes de Precisão e Exactidão................................................................................. 40 5.2 Trajectória Fechada .................................................................................................. 43 5.3 Trajectória Livre....................................................................................................... 45

Capítulo 6 Conclusões ....................................................................................................... 49 Anexo A Coordenadas ECEF .............................................................................................. 51

A.1 Conversão ECEF para LLH ..................................................................................... 51 A.2 Coordenadas ECEF do Satélite ................................................................................ 52

Anexo B Diluição da Precisão............................................................................................. 57

Page 10: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Índice

viii

Anexo C Sinal GPS ............................................................................................................. 59 C.1 Código C/A e Código P............................................................................................ 59 C.2 Estrutura da Mensagem de Navegação .................................................................... 61 C.3 Aquisição e Seguimento do Sinal GPS .................................................................... 62

Anexo D Álgebra Linear...................................................................................................... 65 D.1 Mínimos Quadrados ................................................................................................. 65 D.2 Mínimos Quadrados Pesados ................................................................................... 66 D.3 Factorização de Cholesky......................................................................................... 67

Anexo E LAMBDA: Complementos .................................................................................. 69 E.1 Transformação-Z...................................................................................................... 69 E.2 Determinação de 2χ ................................................................................................ 70

Anexo F Filtragem Kalman................................................................................................. 71 F.1 Modelo da Dinâmica e das Observações.................................................................. 71 F.2 Computação do Filtro: Predição e Filtragem ........................................................... 72 F.3 Aplicação: Trajectória do Utilizador........................................................................ 74

F.3.1 Modelo da Dinâmica e das Observações.......................................................... 74 F.3.2 Ajuste das Matrizes de Co-variância kQ e kR ................................................. 76

Anexo G Receptores GPS.................................................................................................... 79 G.1 Ashtech AC12 .......................................................................................................... 79

G.1.1 Descrição.......................................................................................................... 79 G.1.2 Especificações Técnicas................................................................................... 80

G.2 Ashtech GG24 .......................................................................................................... 81 G.2.1 Descrição.......................................................................................................... 81 G.2.2 Especificações Técnicas................................................................................... 81

G.3 Ashtech DG14 .......................................................................................................... 82 G.3.1 Descrição.......................................................................................................... 82 G.3.2 Especificações Técnicas................................................................................... 83

Anexo H Mensagens NMEA ............................................................................................... 85 H.1 Mensagem PBN........................................................................................................ 85 H.2 Mensagem MCA ...................................................................................................... 86 H.3 Mensagem SNV ....................................................................................................... 87

Anexo I Ficheiros C++ Desenvolvidos .............................................................................. 89 I.1 Matriz.h .................................................................................................................... 89 I.2 PBN.h ....................................................................................................................... 89 I.3 MCA.h...................................................................................................................... 90 I.4 SNV.h....................................................................................................................... 90 I.5 Utilizador.h............................................................................................................... 90 I.6 Satelite.h................................................................................................................... 91 I.7 Algoritmos................................................................................................................ 91

Referências ............................................................................................................................... 93

Page 11: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

ix

Lista de Figuras

Figura 1.1 – Receitas da indústria associada ao GPS entre 1996 e 2006. .................................. 1 Figura 1.2 – Distribuição de aparelhos GPS vendidos por segmento de mercado..................... 3 Figura 2.1 – Satélite do sistema NAVSTAR GPS [Fonte: NASA]. .......................................... 5 Figura 2.2 – Placa OEM GG12 [Fonte: Thales Navigation]...................................................... 6 Figura 2.3 – Posição geográfica da componente de controlo..................................................... 6 Figura 2.4 – Conceito bidimensional de trilateração.................................................................. 7 Figura 2.5 – Conceito tridimensional de trilateração. ................................................................ 8 Figura 2.6 – Determinação da posição do utilizador.................................................................. 9 Figura 2.7 – Incerteza no cálculo da posição. ............................................................................ 9 Figura 2.8 – Erros de multi-percurso. ...................................................................................... 10 Figura 2.9 – Erros de atraso troposférico e ionosférico. .......................................................... 11 Figura 2.10 – Número de períodos e fase do sinal. .................................................................. 14 Figura 3.1 – Conceito do posicionamento absoluto. ................................................................ 17 Figura 3.2 – Conceito do GPS diferencial................................................................................ 24 Figura 3.3 – Conceito de duplas diferenças. ............................................................................ 26 Figura 5.1 – Precisão e exactidão............................................................................................. 40 Figura 5.2 – Precisão e exactidão: posicionamento absoluto................................................... 41 Figura 5.3 – Precisão e exactidão: DGPS. ............................................................................... 42 Figura 5.4 – Precisão e exactidão: duplas diferenças............................................................... 42 Figura 5.5 – Precisão e exactidão: Ashtech Solutions. ............................................................ 42 Figura 5.6 – Trajectória fechada: posicionamento absoluto. ................................................... 44 Figura 5.7 – Trajectória fechada: DGPS. ................................................................................. 45 Figura 5.8 – Trajectória fechada: duplas diferenças. ............................................................... 45 Figura 5.9 – Trajectória completa. ........................................................................................... 46 Figura 5.10 – Partida e chegada da missão. ............................................................................. 47 Figura 5.11 – Descontinuidades na trajectória do Ashtech Solutions...................................... 47 Figura 5.12 – Descontinuidades: pormenores. ......................................................................... 47 Figura 5.13 – Pormenores da trajectória. ................................................................................. 48 Figura A.1 – Representação das coordenadas ECEF e geodésicas. ......................................... 52 Figura A.2 – Equador e órbita do satellite. .............................................................................. 53 Figura C.1 – Construção do sinal GPS a partir da modulação em fase da portadora 1L . ........ 59 Figura C.2 – Estrutura do sinal GPS a partir da modulação em fase da portadora 1L ............. 60 Figura C.3 – Estrutura de uma trama da mensagem de navegação.......................................... 62 Figura C.4 – Despread do código C/A. .................................................................................... 63 Figura F.1 – Ciclo de computação do filtro Kalman................................................................ 73 Figura F.2 – Filtragem (esq.) e predição (dir.) de trajectórias. ................................................ 76 Figura F.3 – Histograma de posicionamento em longitude e latitude...................................... 77 Figura F.4 – Filtragem da trajectória com kQ baixo (esquerda) e kQ elevado (direita). ........ 77 Figura G.1 – Placa OEM AC12 [Fonte: Thales Navigation]. .................................................. 79 Figura G.2 – Placa OEM GG24 [Fonte: Thales Navigation]. .................................................. 81 Figura G.3 – Placa OEM DG14 [Fonte: Thales Navigation]. .................................................. 82

Page 12: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 13: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

xi

Lista de Tabelas

Tabela 2.1 – Influência das fontes de erro na pseudo-distância [Fonte: IAG]......................... 11 Tabela 4.1 – Características dos métodos de resolução de ambiguidades. .............................. 31 Tabela 5.1 – Detalhes do teste.................................................................................................. 40 Tabela 5.2 – Precisão dos algoritmos: 95% de confiança e CEP............................................. 43 Tabela 5.3 – Exactidão dos algoritmos: norma das médias. .................................................... 43 Tabela 5.4 – Detalhes do teste.................................................................................................. 44 Tabela 5.5 – Detalhes do teste.................................................................................................. 46 Tabela A.1 – Dados das efemérides. ........................................................................................ 54 Tabela A.2 – Determinação das coordenadas ECEF do satélite. ............................................. 55 Tabela H.1 – Estrutura de uma mensagem PBN. ..................................................................... 85 Tabela H.2 – Estrutura de uma mensagem MCA..................................................................... 86 Tabela H.3 – Estrutura de uma mensagem SNV...................................................................... 87

Page 14: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 15: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

xiii

Lista de Siglas

C/A – Course-Acquisition Code

CEP – Circular Error Probable

CDMA – Code Division Multiple Access

DGPS – Differential Global Positioning System

DOP – Dilution Of Precision

ECEF – Earth Centered Earth Fixed

FAA – Federal Aviation Agency

FARA - Fast Ambiguity Resolution Approach

FASF - Fast Ambiguity Search Filter

GLONASS - GLObal NAvigation Satellite System

GPS – Global Positioning System

IAG - International Association of Geodesy

LADGPS – Local-Area Differential Global Positioning System

LAMBDA – Least-squares AMBiguity Decorrelation Adjustment

LSAST - Least-Squares Ambiguity Search Technique

NAVSTAR – Navigation Signal Timing and Ranging

NMEA – National Marine Electronics Association

OEM – Original Equipment Manufacturer

OMEGA - Optimal Method for Estimating GPS Ambiguities

P – Precision Code

RMS – Root Mean Square

SA – Selective Availability

SSG - Special Study Group

WADGPS – Wide-Area Differential Global Positioning System

WGS 84 – World Geodetic System 1984

Page 16: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 17: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

xv

Notação

λ – Comprimento de onda iuρ – Pseudo-distância entre o satélite i e o receptor u

I – Atraso ionosférico em metros iuN – Ambiguidade inteira referente ao satélite i e receptor u

iR – Vector de posição do satélite i

T – Atraso troposférico em metros

c – Velocidade da luz no vácuo

ub – Erro do relógio do receptor u em metros

ib – Erro do relógio do satélite i em metros

ur – Vector de posição do receptor u

Page 18: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 19: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

1

Capítulo 1 Introdução

1.1 Motivação

Em Dezembro de 1973, o Departamento de Defesa dos Estados Unidos da América

aprovaram o desenvolvimento do NAVSTAR GPS (Navigation Signal Timing and Ranging

Global Positioning System), um sistema de posicionamento baseado em satélites. O primeiro

satélite foi lançado em 1978. Em Dezembro de 1993, estão 24 satélites em órbita, que vieram

pôr à disposição de utilizadores civis um sensor de posicionamento de grande precisão e de

fácil utilização.

Nos anos mais recentes, o uso do GPS para navegação, posicionamento e referências

de tempo tornou-se uma significante actividade económica, com um impacto esperado para

2006 de mais de 20 mil milhões de euros (Figura 1.1) [1]. Projecta-se que em 2010 este

número ultrapasse os 50 mil milhões de Euros [2]. A indústria automóvel e os consumidores

individuais são os responsáveis pela maior parte destes valores (Figura 1.2) [1].

Figura 1.1 – Receitas da indústria associada ao GPS entre 1996 e 2006.

0

5

10

15

20

25

1996 1997 1998 1999 2000 2001* 2002* 2003* 2004* 2005* 2006*

Ano

Rec

eita

s da

indú

stri

a(M

il m

ilhõe

s de

Eur

os)

* Projecção

Page 20: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 21: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

3

35%

22%

13%

5%

16%

5%

2%

2% Navegação Automóvel

Consumidor Individual

Seguimento e controlo de veículos

Produtores de Equipamento Original (OEM)

Mapeamento

Aviação

Marinha

Militar

Figura 1.2 – Distribuição de aparelhos GPS vendidos por segmento de mercado.

O objectivo da indústria tem sido a redução dos custos de produção para tornar a

tecnologia mais abrangente, mas ao mesmo tempo desenvolver aparelhos com maior precisão.

Devido ao tipo de perturbações existentes no sistema GPS, como a propagação das

ondas electromagnéticas na atmosfera ou o ruído electromagnético das antenas dos receptores

utilizados, podem obter-se melhorias na precisão através do aperfeiçoamento, tanto do

software como do hardware. O recurso a técnicas avançadas de posicionamento para

melhorar a precisão é uma solução óbvia e mais barata de implementar através da

actualização do software do que a alteração do hardware do aparelho GPS.

1.2 Estado da Arte

Desde a criação do sistema GPS que se desenvolveram vários abordagens para a

estimação da posição de um utilizador. Apesar da grande maioria dos produtores mundiais de

receptores GPS não fornecer detalhes acerca das soluções implementadas, existem vários

trabalhos científicos disponíveis nesta área.

As grandezas medidas e processadas são, de um modo geral, a pseudo-distância e a

fase das portadoras. A inovação tem surgido no tratamento destes dados, em especial na

resolução da ambiguidade da fase, onde se destacam os métodos [3]: LSAST (Least-Squares

Ambiguity Search Technique) [4], FARA (Fast Ambiguity Resolution Approach) [5], método

de decomposição modificada de Cholesky [6], LAMBDA (Least-Squares AMBiguity

Decorrelation Adjustment) [7], método de espaço nulo [8], FASF (Fast Ambiguity Search

Filter) [9] e OMEGA (Optimal Method for Estimating GPS Ambiguities) [10].

Page 22: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 1. Introdução

4

De acordo com o SSG (Special Study Group) da IAG (International Association of

Geodesy) [11] para além da investigação em métodos de resolução e validação das

ambiguidades, o uso de WADGPS (Wide-Area Differential GPS), recorrendo a redes

compostas por várias estações base GPS, tem vindo a generalizar-se, permitindo aumentar a

performance do sistema através de processamento diferencial [12]. Estas investigações têm

como objectivo melhorar a precisão do sistema GPS e a qualidade dos dados em tempo real.

De futuro será possível aplicar novos métodos de estimação da posição, pois os satélites GPS

irão emitir um maior número de portadoras [13].

1.3 Objectivos do Trabalho

Os objectivos deste trabalho são o estudo e a validação de algoritmos para a estimativa

da posição em sistemas GPS. O trabalho seguiu três fases distintas:

• Estudo do funcionamento do sistema GPS

• Análise de metodologias para a estimativa da posição em GPS

• Implementação dos algoritmos de posicionamento em GPS

A primeira fase, detalhada no Capítulo 2, aprofunda o conhecimento do sistema GPS

ao nível dos princípios de funcionamento. Explicam-se as medições da pseudo-distância e da

fase da portadora, e as principais fontes de erro que as afectam.

No Capítulo 3, relativo à segunda etapa, são analisadas metodologias para a resolução

da posição em GPS. Inicialmente são abordados métodos de posicionamento absoluto, como o

iterativo e o de Bancroft, que recorrem simplesmente a um utilizador e às respectivas pseudo-

-distâncias. Em seguida tratam-se algoritmos avançados baseados em GPS diferencial

(DGPS – Differential GPS) e de duplas diferenças, com o objectivo de melhorar a precisão.

Nestes processos são usados dois receptores, um utilizador e uma estação-base, e as

respectivas pseudo-distâncias e fases da portadora. Para resolver a ambiguidade imposta pela

fase, detalha-se o método LAMBDA (Least-squares AMBiguity Decorrelation Adjustement),

no Capítulo 4.

A parte final consistiu na implementação dos algoritmos de posicionamento em

Matlab e C++ para a validação e estudo do desempenho das metodologias propostas com

dados recolhidos de receptores GPS. No Capítulo 5, representam-se os principais resultados

obtidos.

Finalmente, no Capítulo 6, analisam-se os resultados experimentais e retiram-se as

conclusões finais. São também abordadas implementações futuras.

Page 23: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

5

Capítulo 2 Sistema GPS

Neste Capítulo introduz-se o sistema GPS, as suas componentes e os seus princípios

de funcionamento. Detalham-se as medições da pseudo-distância e da fase, e como

contribuem para o cálculo da posição de utilizador do sistema. Em primeiro lugar, é

importante salientar as motivações para a criação do sistema GPS, das quais se destacam:

• Posicionamento tridimensional preciso

• Informação contínua dada em tempo real

• Independência das condições climatéricas

• Suporte de um número ilimitado de utilizadores

2.1 Constituição do Sistema

O sistema GPS, tal como foi concebido, divide-se em três componentes: a espacial, a

de utilizador e a de controlo.

A componente espacial é constituída por 24 satélites NAVSTAR GPS (Figura 2.1) que

orbitam em torno da Terra a aproximadamente 20 200km de altitude, ao longo de seis planos

inclinados com 55º, igualmente espaçados de 60º de latitude e com um período de 12 horas.

Esta configuração optimiza a cobertura da Terra, garantindo sempre a visibilidade de pelo

menos quatro satélites em qualquer ponto da sua superfície [14].

Figura 2.1 – Satélite do sistema NAVSTAR GPS [Fonte: NASA].

Page 24: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 2. Sistema GPS

6

A componente de utilizador representa todos os receptores de GPS, tanto na vertente

de hardware como de software, que captam e processam o sinal GPS de forma a obter

posições, velocidades ou referências de tempo (por exemplo, Figura 2.2).

Figura 2.2 – Placa OEM GG12 [Fonte: Thales Navigation].

A componente de controlo consiste em cinco estações de monitorização dispersas pelo

planeta, que fazem o seguimento dos satélites enviando a informação adquirida para uma

estação de controlo principal, (Figura 2.3), que verifica e corrige a trajectória e informação

dos satélites, para garantir o funcionamento correcto do sistema.

Figura 2.3 – Posição geográfica da componente de controlo.

2.2 Princípios de Funcionamento do GPS

No posicionamento em GPS recorre-se às posições iR dos satélites e respectivas

distâncias ao utilizador do sistema, denominadas por pseudo-distâncias, para, através de um

processo de trilateração, determinar a posição do ponto ur , que representa o utilizador do

Ascension

Estação de Monitorização Estação de controlo

Cabo Canaveral

Hawaii Kwajalein

Diego Garcia

Colorado Springs

Page 25: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

2.2. Princípios de Funcionamento do GPS

7

sistema. Por posicionamento entende-se a determinação das coordenadas espaciais em relação

a um determinado referencial. O referencial escolhido foi o ECEF (Earth Centered Earth

Fixed), um referencial ortogonal com origem no centro da Terra e que acompanha o seu

movimento de rotação (Anexo A).

Em posicionamento por GPS as coordenadas dos satélites e pseudo-distâncias

associadas são conhecidas com relativa precisão, sendo a determinação da pseudo-distância

discutida na Secção 2.4. As coordenadas dos satélites são obtidas de acordo com o método

exposto no Anexo A.2. Ao longo desta Secção assume-se que as posições dos satélites e

respectivas pseudo-distâncias são conhecidas e exactas.

Para melhor compreender o conceito de trilateração, referido inicialmente, recorre-se a

um exemplo a duas dimensões (Figura 2.4), que, posteriormente, será alargado a três

dimensões. Em termos geométricos, através da intersecção de dois círculos, cujos raios são

definidos pelas pseudo-distâncias *iuρ entre os satélites e o utilizador ur , obtém-se dois pontos

possíveis para a posição do utilizador. Ao introduzir-se mais um satélite fica-se somente com

um ponto possível para a posição do utilizador. Conclui-se que no caso bidimensional são

necessárias as coordenadas de três satélites e respectivas pseudo-distâncias para determinar a

posição do utilizador.

Figura 2.4 – Conceito bidimensional de trilateração.

No caso tridimensional (Figura 2.5), em analogia com o caso a duas dimensões, e uma

vez que existe mais uma incógnita, é inevitável o recurso a mais um satélite, sendo então

necessários quatro satélites e respectivas pseudo-distâncias para se definir um ponto através

de intersecções de superfícies esféricas.

1R

3R

2R

*1uρ

*2uρ

*3uρ

ur

1R2R

*1uρ

*2uρ

ur

Page 26: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 2. Sistema GPS

8

Figura 2.5 – Conceito tridimensional de trilateração.

Em termos geométricos, a intersecção entre duas superfícies esféricas definem um

círculo e uma nova intersecção devolve dois pontos, no entanto, apenas o que estiver mais

próximo é factível. Assim, em posicionamento por GPS e pressupondo a inexistência de erros

nos valores trabalhados, a partir do momento em que são conhecidas pelo menos três posições

dos satélites e as respectivas pseudo-distâncias, determina-se a posição do utilizador em

questão. A consideração de erros inerentes ao sistema GPS vai levar a que seja necessário um

mínimo de quatro satélites para se calcular uma posição, como será mostrado na Secção 2.4.

Aborda-se agora com mais profundidade o problema da determinação da posição do

utilizador, assumindo-se medições precisas, i.e., desprezando os erros intrínsecos ao sistema

GPS. A Figura 2.6 reproduz este problema, com as coordenadas do i-ésimo satélite a serem

dadas pelo vector [ ]Ti i i iR X Y Z= e a posição do utilizador dada por

[ ]Tu u u ur x y z= . As pseudo-distâncias *1uρ , *2

uρ e *3uρ podem ser escritas na forma:

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

2 2 2*11 1 1

2 2 2*22 2 2

2 2 2*33 3 3

u u u u

u u u u

u u u u

X x Y y Z z

X x Y y Z z

X x Y y Z z

ρ

ρ

ρ

= − + − + −

= − + − + −

= − + − + −

(2.1)

Uma vez que existem três incógnitas, ux , uy e uz , e três equações é possível resolver

o problema. Como (2.1) contém equações não-lineares podem obter-se várias soluções, no

entanto, como foi referido, apenas uma delas é factível, a mais próxima da superfície

Terrestre.

Page 27: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

2.3. Fontes de Erro

9

Figura 2.6 – Determinação da posição do utilizador.

2.3 Fontes de Erro

Existem fontes de erro que afectam a precisão e exactidão da medição da distância

entre o utilizador e um satélite, e consequentemente o posicionamento em GPS. A Figura 2.7,

que representa a situação do cálculo de posição semelhante à Figura 2.4, evidencia esta

situação, em que erros nas medições introduzem incerteza no cálculo da posição. Alguns

destes erros, no entanto, podem ser modelados ou corrigidos, e estão divididos em três

grandes categorias: os associados aos satélites, ao receptor e ao meio de propagação.

Figura 2.7 – Incerteza no cálculo da posição.

x

1 1 1, ,X Y Z

y

z

, ,u u ux y z

*1uρ

*2uρ *3

2 2 2, ,X Y Z 3 3 3, ,X Y Z

Pseudo-distância ideal

Pseudo-distância medida

Page 28: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 2. Sistema GPS

10

As fontes de erro nos satélites são muito pequenas e altamente controladas [15].

Distinguem-se as seguintes:

• Relógios internos: apesar da existência de relógios atómicos nos satélites,

corrigidos periodicamente, qualquer deriva implica erro nas medições

• Efemérides: as trajectórias dos satélites são descritas por fórmulas matemáticas

muito precisas, actualizadas regularmente pela estação de controlo. Podem ocorrer

alguns erros, provenientes de alterações nas trajectórias previstas

• Acesso selectivo (SA – Selective Availability): um sistema implementado para

degenerar a performance do GPS para utilizadores civis. Foi desactivado em Maio

do ano 2000, podendo ser reanimado em casos especiais [14]

• Geometria dos satélites: está associada à posição relativa dos satélites. Para

aumentar a precisão do posicionamento deve procurar-se a melhor geometria

possível (Anexo B)

As fontes de erro associadas aos receptores GPS são a principal razão para a

diminuição da precisão das medições [12]. Realçam-se as seguintes:

• Relógios internos: são a principal fonte de erro, não podendo ser modelada

• Multi-percurso: o sinal GPS pode percorrer diferentes caminhos desde do satélite

até ao receptor (Figura 2.8). O mesmo sinal é recebido em instantes diferentes

provocando interferência com ele próprio. Certas características do sinal, como o

baixo espectro de potência (Anexo C.3), permitem minimizar estes erros

• Ruído do receptor: os próprios sensores usados nos receptores têm uma restrição

física, que limita a qualidade com que se capta o sinal

Satélite

Utilizador

Sinal GPS

Sinal GPS reflectido

Sinal GPS

Figura 2.8 – Erros de multi-percurso.

Page 29: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

2.3. Fontes de Erro

11

Finalmente, têm-se as fontes de erros nos meios de propagação (Figura 2.9) que em

certas circunstâncias, podem ser modeladas com elevada precisão [16]:

• Atraso ionosférico: a ionosfera começa a 50km da superfície terrestre e prolonga-

se por cerca de 1000km. Este atraso é derivado de uma densidade elevada de

electrões que influencia a velocidade de propagação e a fase do sinal GPS [17].

• Atraso troposférico: a troposfera é a parte inferior da atmosfera. A temperatura,

pressão e humidade existentes alteram a velocidade da propagação do sinal GPS.

Figura 2.9 – Erros de atraso troposférico e ionosférico.

Os vários erros analisados influenciam de maneira diferente a medição das distâncias

entre o utilizador e os satélites. Na Tabela 2.1 observam-se os erros máximos introduzidos nas

observações das pseudo-distâncias por várias fontes de erro. Estes valores são aproximados e

estão sujeitos a variâncias.

Tabela 2.1 – Influência das fontes de erro na pseudo-distância [Fonte: IAG].

Fontes de erro Erro máximo (metros)

Ionosfera 5.0

Efemérides 2.5

Relógio do satélite 2.0

Multi-percurso 1.0

Troposfera 0.5

Page 30: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 2. Sistema GPS

12

2.4 Determinação da Pseudo-Distância

A pseudo-distância, definida na Secção 2.2, é a distância geométrica entre o utilizador

e um satélite que, de agora em diante, será designada por pseudo-distância ideal. Pressupondo

que o sinal se propaga à velocidade da luz c , determina-se a pseudo-distância ideal entre o

utilizador e o satélite i , *iuρ , com base no tempo de emissão do sinal GPS pelo satélite i , i

et , e

no tempo de recepção no utilizador, rt , medidos numa mesma referência de tempo:

* ( )i iu r ec t tρ = − (2.2)

A equação (2.2), no entanto, não pode ser resolvida pelo utilizador, pois o tempo de

recepção do sinal é dado pelo seu relógio, que é pouco exacto, e o tempo de emissão é dado

pelo relógio atómico do satélite (Anexo C.2), havendo duas referências de tempo distintas.

Logo é necessário ter em conta os termos de deriva de relógio do utilizador, utb , no tempo

recepção ,r ut e o do satélite i , itb , no tempo de emissão i

et obtendo-se a pseudo-distância

medida entre o utilizador e o satélite i :

, ,( )i iu r u e ic t tρ = − (2.3)

em que ,r u r utt t b= + e ,i i ie i e tt t b= + são os tempos de recepção e emissão medidos no relógio do

utilizador e do satélite, respectivamente.

Recorrendo ao resultado (2.2) redefine-se o conceito de pseudo-distância medida

expresso em (2.3) por:

( )*i i iu u ut tc b bρ ρ= + − (2.4)

Introduzindo em (2.4) os principais erros de propagação tem-se:

*i i iu u ub b T Iρ ρ ε= + − + + + (2.5)

em que:

ub é a deriva do relógio do utilizador, em metros

ib é a deriva do relógio do i-ésimo satélite, em metros

T é o atraso troposférico, em metros

I é o atraso ionosférico, em metros

ε é outros efeitos não modelados e o ruído das medições

No modelo mais geral da pseudo-distância (2.5) nem todos os termos podem ser

determinados. Desprezando a deriva do relógio do satélite (face à deriva do relógio do

Page 31: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

2.5. Determinação da Fase

13

receptor) e o atraso ionosférico e, uma vez que o erro troposférico pode ser modelado [16], o

sistema (2.1) é reescrito na seguinte forma:

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

2 2 211 1 1

2 2 222 2 2

2 2 233 3 3

u u u u u

u u u u u

u u u u u

X x Y y Z z b

X x Y y Z z b

X x Y y Z z b

ρ

ρ

ρ

⎧ = − + − + − +⎪⎪

= − + − + − +⎨⎪⎪ = − + − + − +⎩

(2.6)

Ao introduzir-se o termo de deriva do relógio do utilizador como incógnita, uma vez

que este não pode ser modelado, é necessária uma nova equação de pseudo-distância para

resolver esta nova variável. Assim (2.6) é reescrita:

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

2 2 211 1 1

2 2 222 2 2

2 2 233 3 3

2 2 244 4 4

u u u u u

u u u u u

u u u u u

u u u u u

X x Y y Z z b

X x Y y Z z b

X x Y y Z z b

X x Y y Z z b

ρ

ρ

ρ

ρ

⎧ = − + − + − +⎪⎪

= − + − + − +⎪⎨⎪ = − + − + − +⎪⎪ = − + − + − +⎩

(2.7)

A Equação (2.7) é a equação básica para encontrar a posição de um utilizador e cujos

métodos para a resolver serão discutidos no Capítulo 3. Apesar de só serem necessárias quatro

equações para a resolução do problema, normalmente é útil levar em conta mais satélites.

2.5 Determinação da Fase

A fase da portadora é utilizada, juntamente com a pseudo-distância, quando se

pretende obter maiores níveis de precisão e exactidão em GPS. Tal como foi visto na Secção

2.4, a pseudo-distância é determinada através da diferença entre o tempo de recepção e

emissão do sinal GPS. Um outro método para calcular a distância entre o satélite e o

utilizador consiste em usar o número de períodos realizados pela portadora desde a sua

emissão até à sua recepção (Figura 2.10). Sabendo o comprimento de onda das portadoras que

modelam o sinal GPS (Anexo C), a distância percorrida pelo sinal é determinada somando o

número de períodos à fase no instante de recepção (2.8), ambas expressas em unidades de

distância.

2

ii i uu uM θφ λ

π⎛ ⎞

= +⎜ ⎟⎝ ⎠

(2.8)

Page 32: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 2. Sistema GPS

14

em que:

iuφ é a distância, usando a medida da fase, entre o satélite i e o receptor u

λ é o comprimento de onda da portadora

iuM é o número de períodos realizados pelo sinal

iuθ é o valor da fase medido pelo receptor u , entre 0 e 2π

O problema da utilização da fase resume-se à determinação do número de períodos

para se encontrar uma distância ao satélite mais precisa.

Figura 2.10 – Número de períodos e fase do sinal.

Caso só se tivesse acesso ao valor da fase entre 0 e 2π , seria muito complicado

determinar, em cada instante, o número de períodos realizados pelo sinal. Normalmente, um

receptor GPS tem mecanismos que facilitam o cálculo da distância do satélite i ao receptor u

quando se recorre à fase. No instante em que o receptor adquire o sinal de um satélite

(Anexo C.3), atribui um valor arbitrário ao número de períodos. A partir deste instante, ele

conta quantos ciclos completos ocorrem no sinal desde a sua aquisição, i.e., as restantes

medições da fase estarão correctas relativamente à primeira. Deste modo, apenas é necessário

determinar a diferença entre o número de períodos reais e os arbitrários. Esta diferença é

designada por ambiguidade inteira da fase e um método para a sua determinação é proposto

no Capítulo 4. Tendo em conta os mecanismos dos receptores GPS, redefine-se a distância do

satélite i ao receptor u , associada à fase da portadora:

( )*i i i i iu u u u ub b T I Nφ ρ λ λ ϕ ϕ ξ= + − + − + + − + (2.9)

em que:

iuN é a ambiguidade inteira inicial

uϕ é a fase inicial do receptor u

iϕ é a fase inicial do satélite i

ξ é outros efeitos não modelados e o ruído das medições

A partir deste momento, a distância (2.9) será designada por fase da portadora.

Page 33: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

2.6. Métodos de Posicionamento

15

Para além do cálculo da ambiguidade, outro problema na utilização da fase são os

cycle slips, i.e., saltos, de um número inteiro de períodos, causados pela perda temporária do

seguimento do sinal (Anexo C.3). Quando um receptor GPS perde temporariamente o sinal e

este volta a ser readquirido podem ocorrer saltos na ambiguidade inteira definida

anteriormente, i.e., o valor arbitrário atribuído pelo receptor é diferente do atribuído na

primeira vez que o satélite foi adquirido. Este facto invalida a ambiguidade inteira

previamente calculada.

2.6 Métodos de Posicionamento

O método descrito na Secção 2.4 é conhecido como posicionamento absoluto: dado

um conjunto de posições dos satélites e respectivas pseudo-distâncias determina-se o vector

de posição do utilizador.

Outro método usado, que geralmente melhora a exactidão do cálculo da posição em

relação ao absoluto é o DGPS, que consiste em ter um receptor extra numa posição conhecida

(estação-base) que use um método de posicionamento absoluto. Sabendo a posição exacta

desta estação, calculam-se correcções a introduzir nos cálculos da posição do utilizador, para

obter melhores resultados. Esta informação é transmitida via rádio para os receptores a

operarem na sua vizinhança. Como seria de esperar à medida que aumenta a distância do

receptor à base a capacidade de correcção de erros diminui [14]. A distância para realizar

DGPS, com eficiência, situa-se na ordem da centena de quilómetros.

Baseados neste conceito, surgiram outros tipos de posicionamento semelhantes como

o LADGPS (Local-Area DGPS), onde o utilizador se encontra na linha de vista da estação-

base, e o WADGPS em que o utilizador recebe informação de várias estações bases

espalhadas na região de operação.

É de salientar o método das duplas diferenças. Este tipo de posicionamento também

necessita de uma estação-base, permitindo criar um vector que posicione o utilizador em

relação à estação-base, em vez de se definir a posição por um conjunto de coordenadas num

sistema de referência global. Muitos dos erros no posicionamento são comuns ao utilizador e

à estação base, caso as estações estejam geograficamente próximas, podendo diminuir os seus

efeitos.

Page 34: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 35: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

17

Capítulo 3 Algoritmos de Posicionamento

A principal função do sistema GPS é fornecer as coordenadas espaciais ux , uy e uz de

um utilizador em respeito a um sistema global de coordenadas ECEF (Anexo A). Por posição

do utilizador entende-se as coordenadas da antena do receptor GPS associado ao mesmo

utilizador. Normalmente os receptores GPS apresentam esta posição num sistema de

coordenas geodésicas: latitude, longitude e altitude (Anexo A.1).

Os algoritmos de posicionamento apresentados neste Capítulo levam em conta

somente a pseudo-distância ou a pseudo-distância e a fase da portadora. A posição de um

satélite i , iX , iY e iZ , é dada de acordo com Anexo A.2.

3.1 Posicionamento Absoluto

O problema de posicionamento absoluto consiste em determinar a posição do

utilizador recorrendo somente às observações dos satélites realizadas pelo seu receptor. Este

conceito está representado na Figura 3.1. Por observação de um satélite entende-se receber a

sua mensagem de navegação completa e respectivas pseudo-distância e fase.

Figura 3.1 – Conceito do posicionamento absoluto.

Page 36: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 3. Algoritmos de Posicionamento

18

Este problema de posicionamento resume-se, matematicamente, a resolver o sistema

de equações definido em (2.7) que, por sua vez, pode ser generalizado para o caso em que o

utilizador observa N satélites, com 4N ≥ , obtendo-se o sistema de equações (3.1).

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

2 2 211 1 1

2 2 222 2 2

2 2 233 3 3

2 2 2

u u u u u

u u u u u

u u u u u

Nu N u N u N u u

X x Y y Z z b

X x Y y Z z b

X x Y y Z z b

X x Y y Z z b

ρ

ρ

ρ

ρ

⎧ = − + − + − +⎪⎪

= − + − + − +⎪⎪⎨ = − + − + − +⎪⎪⎪⎪ = − + − + − +⎩

(3.1)

O sistema definido em (3.1) recorre somente às medições da pseudo-distância para

determinar a posição do utilizador. Esta, uma vez que as pseudo-distâncias não são muito

precisas, também não o vai ser. É com o objectivo de melhorar a precisão para o nível dos

centímetros, que se recorre às medições da fase. No entanto, a utilização exclusiva da fase em

posicionamento absoluto não é viável, uma vez que a solução da ambiguidade inteira pode

demorar várias épocas a convergir [14]. Assim, para evitar resolver o problema da

ambiguidade e obter resultados satisfatórios para a precisão, utiliza-se uma medida, que

associa as medições da pseudo-distância e da fase, designada por CSC (Carrier-Smoothed-

Code):

( ) ( ) ( ) ( ) ( ) ( ) ( )( )1 2ˆ ˆ 1 1i i i i iu u u u uP t z t t z t P t t tρ φ φ= + − + − − (3.2)

em que 1z e 2z são pesos para as medições da pseudo-distância e fase, respectivamente, e

1 2 1z z+ = .

A ideia do CSC consiste em determinar, com base na diferença entre duas medições

da fase consecutivas, uma pseudo-distância mais precisa e exacta do que a medida pelo

receptor do utilizador. Tal como para a pseudo-distância medida, define-se um sistema de

equações, semelhante a (3.1), em que se recorre às medidas CSC:

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

2 2 211 1 1

2 2 222 2 2

2 2 233 3 3

2 2 2

ˆ

ˆ

ˆ

ˆ

u u u u u

u u u u u

u u u u u

Nu N u N u N u u

P X x Y y Z z b

P X x Y y Z z b

P X x Y y Z z b

P X x Y y Z z b

⎧ = − + − + − +⎪⎪

= − + − + − +⎪⎪⎨ = − + − + − +⎪⎪⎪⎪ = − + − + − +⎩

(3.3)

Page 37: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

3.1. Posicionamento Absoluto

19

Nesta Secção são estudados dois métodos, um iterativo e outro não iterativo que

permitem resolver quer o problema inicial (3.1) quer o problema (3.3). Estes métodos têm

uma vertente mais pedagógica e o seu objectivo é o de introduzir conceitos e noções

importantes na construção de algoritmos mais avançados.

3.1.1 Algoritmo Iterativo

Um dos problemas na resolução do sistema (3.1) é a sua não linearidade. Esta questão

pode ser ultrapassada usando o algoritmo iterativo [14] que recorre à expansão em série de

Taylor de primeira ordem de cada equação. Sendo a pseudo-distância referente a um

determinado satélite dada por uma das equações do sistema (3.1), o incremento diferencial da

pseudo-distância do i-ésimo satélite iuδρ é aproximado linearmente pela expansão em série de

Taylor de primeira ordem, em torno de uma estimativa inicial para ux , uy , uz e ub :

( ) ( ) ( )( ) ( ) ( )2 2 2

i u u i u u i u uiu u

i u i u i u

X x x Y y y Z z zb

X x Y y Z z

δ δ δδρ δ

− + − + −= − +

− + − + − (3.4)

em que uxδ , uyδ , uzδ e ubδ são os incrementos diferenciais de ux , uy , uz e ub .

Através da equação (3.4) obtém-se a linearização do sistema definido em (3.1):

( ) ( ) ( )( ) ( ) ( )

( ) ( ) ( )( ) ( ) ( )

( ) ( ) ( )( ) ( ) ( )

( ) ( ) ( )

1 1 11

2 2 21 1 1

2 2 22

2 2 22 2 2

3 3 33

2 2 23 3 3

u u u u u uu u

u u u

u u u u u uu u

u u u

u u u u u uu u

u u u

N u u N u u N uNu

X x x Y y y Z z zb

X x Y y Z z

X x x Y y y Z z zb

X x Y y Z z

X x x Y y y Z z zb

X x Y y Z z

X x x Y y y Z z z

δ δ δδρ δ

δ δ δδρ δ

δ δ δδρ δ

δ δ δδρ

− + − + −= − +

− + − + −

− + − + −= − +

− + − + −

− + − + −= − +

− + − + −

− + − + −= −

( ) ( ) ( )2 2 2

uu

N u N u N u

bX x Y y Z z

δ

⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪

+⎪⎪ − + − + −⎩

(3.5)

Na resolução de um sistema de equações lineares com mais equações que incógnitas,

uma abordagem possível é o recurso ao método dos mínimos quadrados (Anexo D.1). Para

tal, é necessário representar o sistema (3.5) de uma forma matricial:

Page 38: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 3. Algoritmos de Posicionamento

20

1 11 12 13

2 21 22 23

3 31 32 33

1 2 3

111

1u

u

u

u

u

uN N N N r

b

xyzbδ

δρ α δ

δρ α α αδ

δρ α α αδ

δρ α α αδδ

δρ α α α⎡ ⎤⎢ ⎥⎣ ⎦

⎡ ⎤ ⎡ ⎤⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥=⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

(3.6)

em que:

( ) ( ) ( )

1 2 2 2u i

i

i u i u i u

x X

X x Y y Z zα −

=− + − + −

(3.7)

( ) ( ) ( )

2 2 2 2u i

i

i u i u i u

y Y

X x Y y Z zα −

=− + − + −

(3.8)

( ) ( ) ( )

3 2 2 2u i

i

i u i u i u

z Z

X x Y y Z zα −

=− + − + −

(3.9)

Utilizando a pseudo-inversa, proveniente do método de mínimos quadrados, tem-se:

1u T T

u

rbδ

α α α δρδ

−⎡ ⎤⎡ ⎤= ⋅ ⋅⎢ ⎥ ⎣ ⎦

⎣ ⎦ (3.10)

Através de (3.10) obtêm-se urδ e ubδ . Estes valores não fornecem directamente a

solução final, mas esta pode ser obtida utilizando a mesma equação de uma forma iterativa,

ou seja, actualizando a última estimativa de ux , uy , uz e ub com a adição dos incrementos e

repetindo o processo. É necessário definir um valor para verificar se o resultado obtido é o

desejado, que é dado por:

2 2 2 2u u u uv x y z bδ δ δ δ δ= + + + (3.11)

Quando o valor de vδ for menor que um determinado limite vδε significa que o

processo iterativo terminou.

O algoritmo pode ser descrito de uma forma sucinta pelos seguintes passos:

1. Escolhe-se uma estimativa inicial para a posição ux , uy e uz e erro de relógio ub

2. Calcula-se a pseudo-distância ideal *iuρ com base nos valores estimados ux , uy e

uz . A diferença entre o valor observado e o valor esperado é designada por iuδρ

3. Utiliza-se o valor calculado de *iuρ em (3.7), (3.8) e (3.9) para calcular os valores

de 1iα , 2iα e 3iα , respectivamente

4. Recorrendo a (3.10) determina-se os valores de uxδ , uyδ , uzδ e ubδ

Page 39: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

3.1. Posicionamento Absoluto

21

5. Somam-se os valores uxδ , uyδ , uzδ e ubδ a ux , uy , uz e ub estimados, obtendo-

-se um novo conjunto de valores para a posição e erro de relógio do utilizador

6. Utilizando os valores uxδ , uyδ , uzδ e ubδ em (3.11) calcula-se o valor de vδ

7. Caso vδ seja maior que um determinado vδε é necessário voltar ao passo 2. Caso

contrário a solução obtida no passo 5 para a posição e erro de relógio deve ser

considerado o resultado final.

A escolha da estimativa inicial da posição e erro de relógio, neste algoritmo, é uma

questão relevante, pois pode implicar a sua não convergência [14]. Para posicionamento em

torno da superfície terrestre esta questão pode ser facilmente ultrapassada, conhecendo a

localização geográfica aproximada.

3.1.2 Algoritmo de Bancroft

A existência de métodos analíticos e não-iterativos permite evitar os problemas de

convergência inerentes a algoritmos iterativos. Nesta área, para problemas de posicionamento

em GPS, destaca-se o algoritmo de Bancroft (Bancroft, 1985) [18][19].

A abordagem algébrica deste método necessita de uma manipulação da equação da

pseudo-distância de um determinado satélite i . Manipulando uma das equações do sistema

(3.1) obtém-se:

( )( ) ( ) ( )22 2 2 2 2 2 22i ii i i u i u i u i u u u u u u uX Y Z X x Y y Z z b x y z bρ ρ+ + − − + + + = − + + − (3.12)

Definindo o produto interno de Lorentz entre dois vectores 4,g h∈ por:

, Tg h g Mh= (3.13)

com:

1 0 0 00 1 0 00 0 1 00 0 0 1

M

⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥−⎣ ⎦

(3.14)

Aplicando o produto interno de Lorentz a (3.12) tem-se:

1 1, , , 02 2

i i i u u ui i iu u u u u u

R R R r r rb b bρ ρ ρ

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤− + =⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥

⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ (3.15)

Page 40: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 3. Algoritmos de Posicionamento

22

Num dado instante, cada pseudo-distância medida dá origem a uma equação

semelhante à definida em (3.15). Como referido na Secção 3.1 são observados N satélites,

que definem uma matriz com todos os parâmetros conhecidos, dada por:

11 1 1

22 2 2

33 3 3

u

u

u

NN N N u

X Y ZX Y Z

B X Y Z

X Y Z

ρρρ

ρ

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(3.16)

Usando a matriz B definida em (3.16), as N observações definem o sistema:

1

2

3 0u

u

N

rBM e

b

α

ααα

α

⎡ ⎤⎢ ⎥⎢ ⎥ ⎡ ⎤⎢ ⎥ − + Λ =⎢ ⎥⎢ ⎥ ⎣ ⎦⎢ ⎥⎢ ⎥⎣ ⎦

(3.17)

em que:

1 ,2

k kkk ku u

R Rα

ρ ρ⎡ ⎤ ⎡ ⎤

= ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

(3.18)

1 ,2

u u

u u

r rb b⎡ ⎤ ⎡ ⎤

Λ = ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

(3.19)

[ ]1 1 1 Te = (3.20)

com Ne∈ .

No caso de existirem mais do que quatro satélites visíveis, o número de equações é

superior ao número de incógnitas. Por conseguinte recorre-se aos mínimos quadrados para

resolver o sistema definido por (3.17):

( ) ( )1u T T

u

rM B B B e

−⎡ ⎤= Λ +⎢ ⎥

⎣ ⎦ (3.21)

Definindo ( ) 1T TB B B B−+ = como a pseudo-inversa da matriz B tem-se:

( )u

u

rMB e

bα+⎡ ⎤

= Λ +⎢ ⎥⎣ ⎦

(3.22)

Page 41: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

3.2. GPS Diferencial

23

Uma vez que Λ contém as incógnitas do sistema ur e ub , substitui-se (3.22) na

definição de Λ (3.19) obtendo-se:

( ) ( )1 ,2

B e B eα α+ +Λ = Λ + Λ + (3.23)

Utilizando a linearidade do produto interno de Lorentz reescreve-se a equação (3.23):

21 1, , ,2 2

B a B a B a B e B e B e+ + + + + +Λ = + Λ + Λ (3.24)

Multiplicando ambos os lados de (3.24) por 2 obtém-se:

( )2, 2 , 1 , 0B e B e B a B e B a B a+ + + + + +Λ + − Λ + = (3.25)

Como se pode constatar (3.25) é uma função quadrática em Λ com coeficientes

,B e B e+ + , ( )2 , 1B a B e+ +⋅ − e ,B a B a+ + . Todos estes coeficientes podem ser

determinados, uma vez que não contêm incógnitas. Deste modo, obtêm-se dois valores

possíveis para Λ , o que implica a existência de duas soluções para a posição e erro de

relógio, de acordo com (3.22). Só uma das soluções obtidas é que faz sentido, aquela cuja

posição se encontra mais próxima da superfície terrestre.

3.2 GPS Diferencial

O GPS diferencial [20] é uma técnica que aumenta significativamente a precisão da

posição do utilizador. Em termos gerais, o DGPS consiste em colocar um receptor GPS num

local fixo (denominado por estação-base) onde as suas coordenadas são conhecidas com

elevada precisão. Num dado instante, conhecendo as verdadeiras coordenadas da estação-

base, é possível calcular a diferença entre estas e as calculadas por um método de

posicionamento absoluto. Esta diferença fornece os valores de correcção que devem ser

aplicados, no mesmo instante, à posição de um utilizador, previamente determinada por um

algoritmo de posicionamento absoluto (Figura 3.2). Este conceito é também aplicado de uma

forma semelhante às medidas das pseudo-distâncias.

Page 42: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 3. Algoritmos de Posicionamento

24

Envio das correcções

Calcula correcções com base na posição real e calculada

Determina posição com base nas correcções recebida

Estação-base

Satélite

Utilizador

Sinal GPSSinal GPS

Figura 3.2 – Conceito do GPS diferencial.

Para uma melhor performance no uso de técnicas diferenciais em algoritmos de

posicionamento é essencial que se verifique um conjunto de condições. Em primeiro lugar o

utilizador deve estar próximo da estação-base (máximo de 20km), para garantir que os sinais

recebidos estão sujeitos a atrasos ionosféricos e troposféricos idênticos. É também necessário

que ambos os receptores utilizem o mesmo conjunto de satélites e efemérides (coerência na

constelação usada), para impedir o cálculo de posições com erros associados a diferentes

fontes. Finalmente a estação-base não deve corrigir erros que não são mensuráveis pelo

utilizador, como os erros de multi-percurso.

Neste projecto são abordados dois algoritmos que se enquadram neste tipo de técnica,

um efectua correcções ao nível da pseudo-distância, o DGPS em pseudo-distância, e outro ao

nível da posição, o DGPS em posição.

3.2.1 DGPS em Pseudo-Distância

O uso do GPS diferencial em pseudo-distância consiste em introduzir correcções nas

pseudo-distâncias observadas pelo utilizador. O primeiro passo consiste em determinar um

valor muito próximo da pseudo-distâncias ideal da estação-base, recorrendo às suas

coordenadas precisas e às coordenadas dos satélites observados. A diferença entre este valor e

as pseudo-distâncias observadas pode ser usado por um receptor GPS vizinho para corrigir as

suas observações relativas às mesmas pseudo-distâncias.

Uma das grandes vantagens do tratamento diferencial em GPS é a possibilidade de

cancelar erros idênticos à estação-base e ao utilizador. Recorrendo à equação geral da pseudo-

distância (2.5), define-se a correcção da pseudo-distância referente ao satélite i observado

pela estação-base por [20]:

Page 43: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

3.2. GPS Diferencial

25

*i i i ib b b bb b T Iδρ ρ ρ ε= + − = − − − (3.26)

Definiu-se (3.26) de modo a garantir que esta correcção apenas englobe erros idênticos

a ambos os receptores, razão pela qual a deriva do relógio da estação-base não é contemplada.

Considerando a proximidade entre a estação-base e o utilizador, a correcção da pseudo-

distância deste último é:

i iu bδρ δρ≅ (3.27)

A igualdade (3.27) corresponde às correcções individuais que devem ser aplicadas às

medições de cada pseudo-distância realizadas pelo utilizador. Finalmente, para determinar a

posição do utilizador recorre-se a um dos métodos expostos na Secção 3.1, usando as pseudo-

distâncias corrigidas.

3.2.2 DGPS em Posição

O GPS diferencial é usado em posição, aplicando correcções directamente às

coordenadas do utilizador, de forma semelhante ao DGPS em pseudo-distância. A primeira

etapa deste algoritmo consiste em calcular as posições dos receptores br e ur recorrendo a um

dos algoritmos propostos na Secção 3.1. De seguida calcula-se a diferença entre as

coordenadas exactas da estação-base ,b refr , conhecidas a priori, e as calculadas na etapa

inicial. Esta diferença é designada por correcção da posição da estação-base:

,b b ref br r rδ = − (3.28)

em que , , , ,

T

b ref b ref b ref b refr x y z⎡ ⎤= ⎣ ⎦ .

Assume-se que a posição, em analogia com o modelo da pseudo-distância (2.5), é

modelada por [20]:

,

b

b b ref B I T

r

r r ε

δ

δ δ δ δ= − + + + (3.29)

em que:

Bδ é a correcção de posição associada aos erros de deriva dos relógios dos

satélites

Iδ é a correcção de posição associada ao atraso ionosférico

Tδ é a correcção de posição associada ao atraso troposférico

εδ é a correcção de posição associada a erros não modelados

Page 44: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 3. Algoritmos de Posicionamento

26

Quando ambos os receptores GPS estão suficientemente próximos, então os erros

ionosféricos e troposféricos assumem valores semelhantes. Os erros de relógio dos satélites

GPS também são idênticos para os dois receptores, porque se utiliza o mesmo conjunto de

satélites para o cálculo das posições. Tendo em conta estas considerações, e como o erro de

relógio do receptor pode ser determinado, a correcção calculada para a estação-base pode ser

aplicada directamente à posição calculada para o utilizador:

,u DGPS u br r rδ= + (3.30)

em que ,u DGPSr é a estimativa da posição do utilizador corrigida diferencialmente.

3.3 Duplas Diferenças

O método das duplas diferenças [16] é um algoritmo semelhante ao GPS diferencial.

Os pressupostos definidos para o bom funcionamento do DGPS mantêm-se para o

posicionamento usando duplas diferenças. A principal vantagem deste método, em

comparação com o DGPS, é o facto de também se conseguir cancelar o erro proveniente do

relógio do receptor.

A grande diferença entre o DGPS e o método das duplas diferenças reside no facto de

no primeiro se calcular correcções para a estação-base que, posteriormente, são enviadas para

o utilizador. O das duplas diferenças, por outro lado, combina a informação de dois receptores

de forma a cancelar erros comuns. Esta técnica é normalmente usada para determinar

baselines, mas também pode ser aplicada à determinação da posição do utilizador. Por

baseline entende-se o vector de distância, com origem na estação-base, que une os dois

receptores (Figura 3.3).

Figura 3.3 – Conceito de duplas diferenças.

Page 45: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

3.3. Duplas Diferenças

27

Em duplas diferenças, o problema de posicionamento em GPS fica reduzido ao

cálculo de incrementos urΔ à estimativa da posição do utilizador:

ˆu u ur r r= +Δ (3.31)

em que [ ]Tu u u ur x y zΔ = Δ Δ Δ .

A baseline ,b urΔ pode ser determinada calculando a diferença entre as coordenadas da

estação-base e do utilizador:

,b u b ur r rΔ = − (3.32)

3.3.1 Duplas Diferenças via Pseudo-Distância

Considerando o receptor u e o conjunto de satélites k e l , define-se, para a pseudo-

distância (2.5), diferenças simples entre satélites por:

( ) *kl k l kl kl kl klu u u u u ut T I bρ ρ ρ ρΔ = − = Δ +Δ +Δ −Δ (3.33)

De forma análoga define-se diferenças simples entre receptores por:

( ) *k k k k k kbu b u bu bu bu but T I bρ ρ ρ ρ∇ = − =∇ +∇ +∇ +∇ (3.34)

Como se verifica através da análise de (3.33), no caso das diferenças entre satélites, o

erro de relógio do receptor é cancelado. De forma análoga, analisando (3.34) constata-se que

o erro de relógio do satélite é anulado, quando se calcula a diferença entre receptores.

Obtidas as diferenças simples, define-se as duplas diferenças (diferença entre

diferenças simples de satélites e receptores), para a pseudo-distância, por:

( ) ( ) ( ) ( ) ( )kl k l kl klbu bu bu b ut t t t tρ ρ ρ ρ ρ∇Δ =∇ −∇ = Δ −Δ (3.35)

Substituindo (3.33) ou (3.34) em (3.35) obtém-se:

( ) *kl kl kl klbu bu bu but I Tρ ρ∇Δ =∇Δ +∇Δ +∇Δ (3.36)

Analisando (3.36) verifica-se que os erros derivados do relógio dos receptores e do

relógio dos satélites foram anulados. Partindo do pressuposto que se lida com baselines

pequenas, as duplas diferenças dos atrasos ionosféricos e troposféricos são desprezáveis [16].

Assim (3.36) pode ser reescrita da seguinte forma:

( ) *kl klbu butρ ρ∇Δ =∇Δ (3.37)

Recorrendo a (3.37), conclui-se que as duplas diferenças da pseudo-distâncias medidas

são iguais às duplas diferenças das pseudo-distâncias ideais.

Page 46: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 3. Algoritmos de Posicionamento

28

A definição de pseudo-distância ideal (2.1) pode ser expandida em série de Taylor de

primeira ordem em torno do ponto ur :

( ) ( )( )

( )( )

( )( )

* ** * *

ˆ ˆ ˆ0

0 0 0k u k u k uk k

u u u u uk k ku u u

X x Y y Z zx y zρ ρ

ρ ρ ρ− − −

= + Δ + Δ + Δ (3.38)

Definindo kuu como:

( )( )

( )( )

( )( )* * *

ˆ ˆ ˆ0 0 0

k u k u k uku k k k

u u u

X x Y y Z zu

ρ ρ ρ⎡ ⎤− − −

= ⎢ ⎥⎣ ⎦

(3.39)

vem que:

( )* * 0u

k k ku u u u

u

xu y

zρ ρ

Δ⎡ ⎤⎢ ⎥= + ⋅ Δ⎢ ⎥⎢ ⎥Δ⎣ ⎦

(3.40)

Supondo que se observam 1m + satélites ( m duplas diferenças), define-se o satélite

k , com o maior ângulo de elevação, como principal, para maximizar a geometria [16], e

obtém-se o seguinte sistema:

( )( )

( )

1 * 1 1

2 * 2 2

*

00

0u

k k kbu bu u u

uk k kbu bu u u

u

ukm km k mbu bu u u r

AB

u ux

u uyz

u u

ρ ρρ ρ

ρ ρΔ

⎡ ⎤ ⎡ ⎤∇Δ −∇Δ −Δ⎡ ⎤⎢ ⎥ ⎢ ⎥∇Δ −∇Δ − ⎢ ⎥⎢ ⎥ ⎢ ⎥= Δ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥Δ⎢ ⎥ ⎢ ⎥ ⎣ ⎦∇Δ −∇Δ −⎢ ⎥⎢ ⎥ ⎣ ⎦⎣ ⎦

(3.41)

O sistema anterior pode ser resolvido recorrendo aos métodos usuais de mínimos

quadrados pesados:

( ) 11 1T Tur A Q A A Q B

−− −Δ = (3.42)

em que Q é a matriz de co-variância das observações.

A posição do utilizador é então calculada recorrendo a (3.31), somando a correcção

(3.42) à estimativa da posição do utilizador ur .

3.3.2 Duplas Diferenças via Pseudo-Distância e Fase

O posicionamento relativo de grande precisão é baseado em medidas da fase da

portadora bastante exactas. A fase da portadora, no entanto, não pode ser utilizada sozinha

uma vez que é necessário calcular a ambiguidade inteira, referida na Secção 2.5. Uma

possível abordagem será usar a pseudo-distância e a fase em conjunto [16].

Page 47: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

3.3. Duplas Diferenças

29

Tal como para a pseudo-distância, define-se duplas diferenças da fase da portadora:

( ) ( ) ( ) ( ) ( )kl k l kl klij ij ij i jt t t t tφ φ φ φ φ∇Δ =∇ −∇ = Δ −Δ (3.43)

Tendo em conta a definição da medida da fase da portadora redefine-se (3.43):

( ) *kl kl kl kl klij ij ij ij ijt I T Nφ ρ λ∇Δ =∇Δ −∇Δ +∇Δ + ∇Δ (3.44)

Considerando que se trabalha com baselines pequenas os atrasos ionosféricos e

troposféricos são desprezáveis [16]. Assim (3.44) pode ser escrita de uma forma simplificada:

( ) *kl kl klij ij ijt Nφ ρ λ∇Δ =∇Δ + ∇Δ (3.45)

O resultado obtido para as duplas diferenças da fase da portadora (3.45) tem um efeito

semelhante ao obtido para as duplas diferenças da pseudo-distância (3.37), sendo capaz de

anular, teoricamente, todos os erros com a mesma fonte.

Recordando a expansão em série de Taylor de primeira ordem da pseudo-distância

ideal (3.38) em torno do ponto ur e usando (3.39) vem que:

( )( )

**

**

000

ukk kui u

u kkk kiui u

u

xu

yNu

z

ρρλρφ

Δ⎡ ⎤⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥= + ⋅ Δ +⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎣ ⎦⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎢ ⎥Δ⎣ ⎦

(3.46)

Num caso em que se observam 1m + satélites ( m duplas diferenças), define-se o

satélite k , com o maior ângulo de elevação, como principal, para maximizar a geometria [16],

e obtém-se o seguinte sistema:

( )( )

( )( )( )

( )

1 * 1 1

2 * 2 2

*

1 * 1 11 1

2 * 2 21

*1

0 0 0 00 0 0

0 0 0 00 0 00 0 0

00

k k kij ij i ik k kij ij i i

km km k mij ij i i

k k kij ij i ik k kij ij i i

km kmij ij

u uu u

u uu uu u

u

ρ ρρ ρ

ρ ρφ λ ρ λφ λ ρ

φ λ ρ

⎡ ⎤∇Δ −∇Δ −⎢ ⎥∇Δ −∇Δ −⎢ ⎥⎢ ⎥⎢ ⎥∇Δ −∇Δ −⎢ ⎥ =⎢ ⎥∇Δ −∇Δ −⎢ ⎥∇Δ −∇Δ −⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥∇Δ −∇Δ⎣ ⎦

1

2

10 0

kijkij

kmijk m

i i

xyzNN

Nu λ

⎡ ⎤Δ⎡ ⎤⎢ ⎥

⎢ ⎥⎢ ⎥ Δ⎢ ⎥⎢ ⎥⎢ ⎥Δ⎢ ⎥⎢ ⎥⎢ ⎥ ∇Δ⎢ ⎥⎢ ⎥⎢ ⎥∇Δ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥ ∇Δ⎣ ⎦⎢ ⎥−⎣ ⎦

(3.47)

Neste caso não é possível resolver o sistema anterior pelas técnicas usuais de mínimos

quadrados pesados, uma vez que a solução da ambiguidade da fase tem de ser inteira. Uma

primeira abordagem possível consiste em calcular a ambiguidade inteira como uma solução

em vírgula flutuante e posteriormente arredondar para o inteiro mais próximo. Este tipo de

solução não é a mais correcta, uma vez que nem sempre a melhor solução inteira que

minimiza um determinado funcional de custo é o arredondamento directo da solução em

vírgula flutuante, sendo então necessário recorrer a algoritmos de estimação inteira.

Page 48: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 49: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

31

Capítulo 4 Método LAMBDA

Nos problemas de posicionamento recorrendo à fase da portadora é possível obter-se

resultados de alta precisão, no entanto é necessário resolver o problema da estimativa da

ambiguidade inteira da fase. Para lidar com esta questão foram desenvolvidos vários métodos,

dos quais se destacam [3]: LSAST [4], FARA [5], método de decomposição modificada de

Cholesky [6], LAMBDA [7], método de espaço nulo [8], FASF [9] e OMEGA [10]

(Tabela 4.1).

Tabela 4.1 – Características dos métodos de resolução de ambiguidades.

Algoritmo Autor principal

Procura da ambiguidade

Processamento dos dados

Espaço de procura

LSAST Hatch Independente Uma época Nenhum

FARA Frei e Beutler Todas Várias épocas Condicional

Decomposição modificada de Cholesky Euler and Landau Todas Várias épocas Nenhum

LAMBDA Teunissen Todas Várias épocas Transformação/ Condicional

Espaço Nulo Martin-Neira Independente Uma época Transformação

FASF Chen e Lachapelle Todas Várias épocas Condicional

OMEGA Kim e Langley Independente Uma época/Várias épocas

Transformação/ Condicional

O conceito de melhor algoritmo para resolução de ambiguidades inteiras é discutível.

Um princípio possível seria considerar qual o algoritmo que oferece uma maior probabilidade

de encontrar o valor inteiro correcto para a ambiguidade. No entanto não existem trabalhos de

comparação entre os vários métodos apresentados na Tabela 4.1.

Neste Capítulo detalha-se o método LAMBDA (Teunissen, 1993) [7], um algoritmo

capaz de resolver problemas gerais de estimação inteira. O método LAMBDA foi o primeiro,

de uma classe de algoritmos baseados na teoria de mínimos quadrados inteiros [7], que

melhora a eficiência computacional permitindo resolver ambiguidades da portadora da fase

em GPS em tempo real. De modo a melhorar a eficiência, este método realiza ainda

transformações num espaço de procura condicionado.

Page 50: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 4. Método LAMBDA

32

4.1 Modelo das Observações

Assume-se que se têm disponíveis 1m + observações da pseudo-distância e da fase da

portadora num dado instante. Recorrendo a (3.47) é possível construir um modelo matemático

linearizado das observações das duplas diferenças para uma baseline pequena:

( )( )

( )( )( )

( )

1 * 1 1

2 * 2 2

*

1 * 1 11

2 * 2 21

*1

00

000

0

k k kij ij i ik k kij ij i i

km km k mij ij i i

k k kij ij i ik k kij ij i i

km km k mij ij i i

y

u uu u

u uu uu u

u u

ρ ρρ ρ

ρ ρφ λ ρφ λ ρ

φ λ ρ

⎡ ⎤∇Δ −∇Δ ⎡ −⎢ ⎥ ⎢∇Δ −∇Δ −⎢ ⎥ ⎢⎢ ⎥ ⎢⎢ ⎥ ⎢∇Δ −∇Δ −⎢ ⎥ ⎢=⎢ ⎥∇Δ −∇Δ −⎢ ⎥∇Δ −∇Δ −⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥∇Δ −∇Δ −⎣⎣ ⎦

1

2

1

1

0 0 00 0

0 0 00 0

0 0

0 0

u

kij

u kij

u

u kmijr

a

AB

Nx

Ny ez

λ

Δ

⎤ ⎡ ⎤⎥ ⎢ ⎥⎥ ⎢ ⎥⎥ ⎢ ⎥ ⎡ ⎤∇ΔΔ⎡ ⎤⎥ ⎢ ⎥ ⎢ ⎥∇Δ⎢ ⎥⎥ ⎢ ⎥ ⎢ ⎥Δ + +⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ Δ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ∇Δ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎣ ⎦

⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦⎦

(4.1)

em que:

y é o vector das observações menos as duplas diferenças calculadas; 2my∈

urΔ é o vector que contém os incrementos à posição do utilizador; 3urΔ ∈

a é o vector das m ambiguidades das duplas diferenças; ma∈

B é uma matriz 2 3m× que relaciona as observações com a baseline

A é uma matriz 2m m× que relaciona as observações com as ambiguidades

e é o ruído das medições e efeitos não modulados

Assume-se que a matriz [ ]B A com dimensão ( )2 3m m× + tem característica

completa igual a 3 m+ , ou seja, realizaram-se uma série de observações, suficientes para

determinar os incrementos à posição do utilizador e a ambiguidade inteira da fase.

Na estimativa das coordenadas da posição do utilizador e da ambiguidade da fase das

duplas diferenças utiliza-se o princípio dos mínimos quadrados, com a restrição de a

ambiguidade ter de tomar valores inteiros:

1

2 3

,min com e

yu

mu uQr a

y B r Aa r a−Δ

− Δ − Δ ∈ ∈ (4.2)

em que yQ é a matriz de co-variância das observações y , simétrica e positiva definida.

A estimativa dos parâmetros da minimização (4.2) é realizada em três passos: cálculo

da solução em vírgula flutuante usando mínimos quadrados, estimativa da ambiguidade

inteira da solução obtida e cálculo da solução inteira.

Page 51: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

4.2. Solução em Vírgula Flutuante

33

4.2 Solução em Vírgula Flutuante

A minimização expressa em (4.2) é resolvida através de mínimos quadrados pesados

(Anexo D.2) pressupondo ma∈ , obtendo-se valores em vírgula flutuante para a estimativa

da posição do utilizador e da ambiguidade das duplas diferenças. Geralmente o problema de

mínimos quadrados com característica máxima é resolvido via equações normais [21]. O

sistema de equações normais relativo ao problema (4.2) é definido por:

1 1 1

1 1 1

T T Ty y yu

T T Ty y y

xN r

B Q B B Q A B Q yrA Q B A Q A A Q ya

− − −

− − −

⎡ ⎤ ⎡ ⎤Δ⎡ ⎤=⎢ ⎥ ⎢ ⎥⎢ ⎥

⎢ ⎥ ⎢ ⎥⎣ ⎦⎣ ⎦ ⎣ ⎦ (4.3)

O sistema Nx r= é resolvido recorrendo à decomposição de Cholesky (Anexo D.3) da

matriz N . As estimativas em vírgula flutuante das incógnitas do sistema (4.3) e a matriz de

co-variância associada são definidas, respectivamente, por:

ˆ

ˆˆ

urxaΔ⎡ ⎤

= ⎢ ⎥⎣ ⎦

(4.4)

ˆ ˆ ˆ

ˆ ˆ ˆ

ˆ u u

u

r r a

a r a

Q QQ

Q QΔ Δ

Δ

⎡ ⎤= ⎢ ⎥⎢ ⎥⎣ ⎦

(4.5)

Por outro lado, a estimativa da ambiguidade inteira utiliza a inversa da matriz de co-

variância aQ que pode ser obtida através do elemento aC , proveniente de factor de Cholesky

C (Anexo D.3):

0

u

u

r

a r a

CC

C CΔ

Δ

⎡ ⎤= ⎢ ⎥⎢ ⎥⎣ ⎦

(4.6)

em que aC é uma matriz triangular inferior de dimensão m .

Recorrendo a (4.6) obtém-se a inversa da matriz de co-variância das ambiguidades:

Ta a aQ C C− = (4.7)

Como será visto na Secção 4.5, no cálculo da solução final dos incrementos da posição

do utilizador é necessária a matriz ˆ ˆur aQΔ . Esta também pode ser obtida através do factor de

Cholesky C :

1ˆ ˆu u u

T T Tr a r a r a aQ C C C C− − −

Δ Δ Δ= − (4.8)

Page 52: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 4. Método LAMBDA

34

4.3 Estimativa da Ambiguidade Inteira

A estimativa da ambiguidade inteira é descrita pelo funcional:

1

2ˆmin coma

mQa

a a a a−= − ∈ (4.9)

A minimização (4.9) contém a estimativa inteira por mínimos quadrados do vector de

ambiguidades ( )a . É nesta etapa concreta que se utiliza o método LAMBDA que, por sua

vez, está dividido em dois pontos principais:

1. Descorrelação das ambiguidades, que consiste na reparametrização das

ambiguidades originais a para as novas ambiguidades recorrendo à

transformação-Z (Anexo E.1)

2. Estimativa das ambiguidades inteiras através do processo de procura (Secção 4.4)

Na determinação da solução inteira para as ambiguidades da fase, a solução de (4.9) é

obtida por um processo de procura, em detrimento dos métodos algébricos, que não entram

em conta com a restrição inteira.

A procura da solução em m é dispendiosa em termos computacionais. De modo a

tornar o método mais eficiente, a procura é confinada a um espaço em torno de a [22]:

( ) ( )1 2ˆˆ ˆTaa a Q a a χ−− − ≤ (4.10)

O espaço de procura definido em (4.10) está centrado em a , a sua forma e orientação

são governadas por aQ e a sua dimensão por 2χ . A escolha do parâmetro 2χ (Anexo E.2) é

um compromisso entre a eficiência e a descoberta da melhor solução.

A matriz de co-variância aQ é não diagonal, implicando ambiguidades fortemente

correlacionadas [16]. A procura pode ser ainda mais eficiente, tornando as ambiguidades

independentes, através do descorrelacionamento da matriz aQ recorrendo à transformação-Z

(Anexo E.1), remodelando-a de acordo com:

ˆˆT

z aQ Z Q Z= (4.11)

em que Z é a matriz de transformação do processo de descorrelação.

Devido à natureza inteira da resolução da ambiguidade da fase, uma descorrelação

completa de aQ não é possível, i.e., não se obtém uma matriz de co-variância diagonal mas

sim uma matriz quase diagonal. Por matriz quase diagonal entende-se uma matriz cujos

elementos não diagonais têm um valor próximo de zero.

Page 53: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

4.4. Processo de Procura

35

Concluído o processo de descorrelação, a minimização (4.9) usando as ambiguidades

transformadas é equivalente a:

1

2ˆmin comz

mQz

z z z z−= − ∈ (4.12)

em que Tz Z a= e ˆˆ Tz Z a= .

Tal como as ambiguidades, o espaço de procura também é alterado. Deste modo, em

vez de (4.10), obtêm-se o novo espaço de procura:

( ) ( )1 2ˆˆ ˆTzz z Q z z χ−− − ≤ (4.13)

em que:

ˆT

zQ L DL= (4.14)

onde L é uma matriz inferior e D uma matriz diagonal.

Determinadas as novas ambiguidades ( z ) e respectiva matriz de co-variância ( zQ ) o

processo de procura das melhores ambiguidades inteiras pode ser iniciado.

4.4 Processo de Procura

A estimativa da ambiguidade inteira é baseada num processo de procura, utilizando os

limites individuais das ambiguidades que resultam de um ajuste sequencial por mínimos

quadrados [25].

Uma vez terminado o processo de descorrelação, inicia-se a procura num subespaço de m que contém a solução inteira. Esta procura é utilizada para determinar a melhor solução

do problema de mínimos quadrados inteiros (4.12). Recorrendo a (4.13) define-se o funcional

de custo:

( ) ( ) ( )1 2ˆˆ ˆTzf z z z Q z z χ−= − − ≤ (4.15)

Definindo:

( ) ( )ˆ ˆT Tz z L z z L z z z z−= − − ⇔ − = − (4.16)

ou equivalentemente, em termos de cada elemento do vector z [24]:

( )1

ˆ

ˆ 1, 2, ,1

i im

i i j j jij i

z z i m

z z z z l i m m= +

= =⎧⎪⎨ = + − = − −⎪⎩

∑ … (4.17)

em que jil representa o elemento da linha j e coluna i da matriz TL− .

Page 54: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 4. Método LAMBDA

36

Substituindo (4.16) em (4.15) e utilizando a decomposição (4.14) vem:

( ) ( ) ( )1 2Tf z z z D z z χ−= − − ≤ (4.18)

ou de modo equivalente:

( ) ( ) ( ) ( )2 2 21 1 2 2 2

1 2

m m

m

z z z z z zf z

d d dχ

− − −= + + + ≤ (4.19)

É de salientar que qualquer z que satisfaça (4.19) também satisfaz os seguintes

limites individuais:

( ) ( )

( ) ( )

1 12 2

1 12 2

1 12 2

1 12 2

1 12 2

2 2

2 2

1 1

2 2

2 21 1 1 1 1

2 2

m m m m m

m mj j j j

i i i i ij i j ij j

m mj j j j

j jj j

z d z z d

z z z zz d z z d

d d

z z z zz d z z d

d d

χ χ

χ χ

χ χ

= + = +

= =

− ≤ ≤ +

⎡ ⎤ ⎡ ⎤− −⎢ ⎥ ⎢ ⎥− − ≤ ≤ + −⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤− −⎢ ⎥ ⎢ ⎥− − ≤ ≤ + −⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

∑ ∑

∑ ∑

(4.20)

Baseado nos limites definidos em (4.20) implementa-se um processo de procura. Os

limites superiores e inferiores de iz definem um intervalo designado por nível i . Os inteiros

neste nível são procurados do menor para o maior e cada inteiro válido é testado

individualmente, um de cada vez. Determinado iz no nível i , procede-se para o nível 1i −

para calcular 1iz − . Caso não se encontre um inteiro válido no nível i volta-se para o nível

anterior 1i + e determina-se o próximo inteiro válido 1iz + , retornando novamente para o nível

i . Quando se encontrar 1z no nível 1, obtém-se um vector completo de inteiros z . Após a

obtenção do vector z inicia-se uma nova procura. O novo processo é iniciado no nível 1 para

procurar todos os outros inteiros válidos, do menor para o maior. A procura só termina

quando todos os inteiros válidos encontrados são processados.

Depois de resolvido o problema (4.12) é necessário realizar uma transformação

inversa de forma a se obter a solução para o problema (4.9). Esta é dada por:

Ta Z z−= (4.21)

É de salientar que (4.21) transforma um vector de inteiros noutro vector de inteiros,

um dos pré-requisitos na obtenção da matriz Z , obtendo-se assim um vector de ambiguidades

inteiras para o problema (4.9), com era pretendido.

Page 55: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

4.5. Processo de Selecção e Solução Inteira

37

4.5 Processo de Selecção e Solução Inteira

Após a determinação dos q vectores de ambiguidades é necessário escolher qual

corresponde ao melhor conjunto de ambiguidades inteiras que resolvem (4.1). O método

utilizado para este fim baseia-se na análise do resíduo [26]:

uV B r Aa y= Δ + − (4.22)

Para cada um dos q vectores possíveis, o resíduo (4.22) toma valores diferentes. O

vector das ambiguidades a escolhido é aquele que minimiza 1TyV Q V− . De modo a confirmar a

validade da solução, efectua-se um teste de confiança (quanto maior, maior a confiança na

solução) [26]:

( )( )

1

1

Ty II

Ty I

V Q VR

V Q V

−= (4.23)

em que os índices I e II definem o menor e segundo menor valores de 1TyV Q V− ,

respectivamente.

A solução final, depois de escolhido o melhor vector de ambiguidades a através de

(4.23), para os incrementos à posição estimada do utilizador é obtida explicitamente

corrigindo a solução em vírgula flutuante (4.4) [23]:

( )1ˆ ˆ ˆˆ ˆuu u r a ar r Q Q a a−

ΔΔ = Δ − − (4.24)

Um outro método possível para calcular os incrementos à posição do utilizador

estimada vem directamente do sistema de equações normais (4.3) [23]:

( )1u u uu r r r ar N r N a−

Δ Δ ΔΔ = − (4.25)

em que 1u

Tr yN B Q B−

Δ = , 1u

Tr yr B Q y−

Δ = e 1u

Tr a yN B Q A−

Δ = .

Page 56: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 57: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

39

Capítulo 5 Resultados

Um dos temas relativos aos algoritmos de posicionamento em GPS é a precisão e a

exactidão dos seus resultados. A determinação destes parâmetros é uma tarefa que envolve

várias condicionantes e existem vários métodos estatísticos para as descrever [27]. Também

introduz desde logo um conjunto de questões como: a quantidade de pontos a ser recolhida ao

longo da experiência, a quantidade de satélites e a respectiva geometria, a estrutura do

ambiente envolvente (efeitos multi-percurso) ou as condições atmosféricas.

Como em qualquer instrumento de medição, a única maneira para medir a precisão e a

exactidão é através da comparação com uma medida padrão. É neste sentido que se adoptou a

solução fornecida pelo pacote Ashtech Solutions [28] (pós-processamento) como referência.

Analisa-se também a solução comercial fornecida pelo receptor do utilizador (tempo real).

Esta funciona como um segundo termo de comparação para os algoritmos de posicionamento

absoluto.

De modo a melhor compreender os resultados, as posições recolhidas na experiência

foram transformadas para coordenadas locais, num espaço ortonormado de três dimensões.

Este espaço tem como origem um ponto na superfície da Terra (dada pelo Ashtech Solutions),

o plano xoy é um plano tangente ao geóide da Terra, com eixo xx a ter a direcção do Norte

cardeal, o yy do Este cardeal e o zz perpendicular ao geóide da Terra (Anexo A).

Os vários algoritmos testados para a estimação da posição estão detalhados no

Capítulo 3 e a documentação da sua implementação no Anexo I. Os resultados de cada teste

podem ser comparados, pois são todos relativos ao mesmo conjunto de dados. Nos algoritmos

que recorrem a mais que um receptor (DGPS e duplas diferenças), existe a possibilidade do

número de satélites visíveis ser menor, em certos instantes, do que nos algoritmos de

posicionamento absoluto. No entanto, como se lidou com baselines pequenas e testes

relativamente longos é possível desprezar este facto.

O primeiro ensaio consistiu em deixar o receptor do utilizador estacionário, durante

algumas horas, para analisar a precisão e exactidão dos algoritmos implementados.

O segundo teste consistiu na realização de uma trajectória fechada, para testar se as

coordenadas iniciais são idênticas às coordenadas finais.

Page 58: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 5. Resultados

40

No último teste, analisa-se o comportamento dos algoritmos num ambiente não

controlado, com o intuito de verificar os seus comportamentos numa missão real.

5.1 Testes de Precisão e Exactidão

A precisão e a exactidão são regularmente usadas para avaliar o posicionamento em

GPS. É necessário fazer a distinção entre precisão e exactidão: a precisão é o grau

proximidade entre os pontos estimados e a sua média, a exactidão é o grau de proximidade

entre um ponto estimado e o seu valor real (Figura 5.1).

Figura 5.1 – Precisão e exactidão.

De modo a seguir os padrões dos catálogos de receptores fornecidos pela indústria,

usam-se como critérios de precisão o CEP (Circular Error Probable) e a confiança a 95%, e

como critério de exactidão a norma das médias.

O CEP é uma medida estatística de precisão, que é definida como o menor raio de um

círculo que engloba 50% dos pontos estimados. O conceito de confiança de 95% é

semelhante, no entanto o círculo correspondente engloba 95% dos pontos. Finalmente, a

norma das médias é a distância euclidiana entre a média das posições estimadas e a média das

posições fornecidas pelo pacote Ashtech Solutions.

De acordo com as coordenadas locais definidas anteriormente, é possível então definir

medidas de precisão horizontal (plano xoy ), vertical (eixo zz ) e esférica (espaço xoyoz ).

Na Tabela 5.1 mostram-se os pormenores sobre o teste para avaliar a precisão e

exactidão dos vários algoritmos. As Figuras 5.2, 5.3, 5.4 e 5.5 exibem a precisão e exactidão

para os algoritmos de posicionamento absoluto, GPS diferencial, de duplas diferenças e

Ashtech Solutions, respectivamente. A Tabela 5.2 mostra as várias medidas de precisão e a

Tabela 5.3 mostra a exactidão, para os vários algoritmos.

Tabela 5.1 – Detalhes do teste.

Page 59: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

5.1. Testes de Precisão e Exactidão

41

Data e Local 6 de Outubro de 2006 na Alameda do Instituto Superior Técnico de Lisboa

Receptor do utilizador AC12 (Anexo G.1)

Receptor da estação base GG14 (Anexo G.3)

Taxa de actualização máxima 1.0 segundos

Teste Receptor estacionário durante 2344 segundos (40 minutos).

Figura 5.2 – Precisão e exactidão: posicionamento absoluto.

Page 60: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 5. Resultados

42

Figura 5.3 – Precisão e exactidão: DGPS.

Figura 5.4 – Precisão e exactidão: duplas diferenças.

Figura 5.5 – Precisão e exactidão: Ashtech Solutions.

Page 61: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

5.2. Trajectória Fechada

43

Tabela 5.2 – Precisão dos algoritmos: 95% de confiança e CEP.

Precisão em metros

Horizontal Vertical Esférica Algoritmos

95% CEP (50%) 95% CEP (50%) 95% CEP (50%)

Iterativo 7.5085 3.2991 15.0170 4.9486 15.8382 6.7302

Bancroft 7.8200 3.4039 15.6400 5.2133 16.4953 7.0607

CSC 6.8576 3.0542 14.2544 4.8163 15.0334 6.3353

DGPS p.-distância 7.6109 3.2991 14.4488 4.7169 15.6250 6.4420

DGPS posição 7.6109 3.2991 14.4488 4.7169 15.6250 6.4420

Duplas diferenças 6.4217 2.7461 13.5871 4.6341 14.0783 5.9018

LAMBDA 0.2007 0.0985 0.2008 0.0835 0.2607 0.1431

Receptor 1.7614 0.6710 2.6367 1.1429 2.8563 1.4925

Ashtech Solutions 0.0095 0.0035 0.0147 0.0046 0.0169 0.0069

Tabela 5.3 – Exactidão dos algoritmos: norma das médias.

Exactidão em metros Algoritmos

Horizontal Vertical Esférica

Iterativo 4.7380 2.2507 5.2454

Bancroft 4.5045 1.7928 4.8482

CSC 4.7355 2.2450 5.2407

DGPS p.-distância 1.0736 1.0189 1.4801

DGPS posição 1.0739 1.0192 1.4805

Duplas diferenças 0.7322 1.8575 1.9966

LAMBDA 1.2469 0.3400 1.2865

Receptor 1.5001 2.2663 2.7156

5.2 Trajectória Fechada

Na Tabela 5.4 mostram-se os pormenores sobre o teste relativo a uma trajectória

rectangular fechada. As Figuras 5.6, 5.7 e 5.8 exibem as trajectórias criadas pelos algoritmos

de posicionamento absoluto, GPS diferencial e de duplas diferenças, respectivamente, tendo

sempre como referência a solução do pacote Ashtech Solutions.

A trajectória calculada pelo método LAMBDA, na Figura 5.8, revela que em certas

situações o comportamento deste algoritmo pode ultrapassar os resultados obtidos pelo

Ashtech Solutions.

Page 62: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 5. Resultados

44

Tabela 5.4 – Detalhes do teste.

Data e Local 11 de Agosto de 2006 na Alameda do Instituto Superior Técnico de Lisboa

Receptor do utilizador AC12 (Anexo G.1)

Receptor da estação base GG14 (Anexo G.3)

Taxa de actualização máxima 1.0 segundos

Teste Realizou-se uma trajectória fechada ao longo de um rectângulo com 28.6 metros (Norte) por 17.5 metros (Este).

Figura 5.6 – Trajectória fechada: posicionamento absoluto.

Page 63: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

5.3. Trajectória Livre

45

Figura 5.7 – Trajectória fechada: DGPS.

Figura 5.8 – Trajectória fechada: duplas diferenças.

5.3 Trajectória Livre

Na Tabela 5.5 detalham-se os pormenores sobre o teste relativo a uma trajectória livre

em campo aberto, num ambiente não controlado. A Figura 5.9 mostra o aspecto da trajectória

completa realizada e define o sistema de coordenadas usado nas restantes Figuras.

Nesta Secção apenas vai ser apenas analisado o método LAMBDA, pois pela

observação das Tabelas 5.2 e 5.3 verifica-se que este apresenta melhores resultados.

Na Figura 5.10 observam-se as posições de chegada e saída, e constata-se a

possibilidade da a ambiguidade inicial ter sido mal resolvida pelo método LAMBDA.

Page 64: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 5. Resultados

46

A Figura 5.11 mostra duas descontinuidades na trajectória do Ashtech Solutions (em

pormenor na Figura 5.12). Inicialmente, a trajectória do Ashtech Solutions afasta-se da

trajectória calculada pelo método LAMBDA e, posteriormente, volta a aproximar-se. Este

facto pode indiciar que a solução proposta para este troço pelo método LAMBDA seja a mais

correcta.

Na Figura 5.13 observam-se dois troços da trajectória completa, que evidenciam que

os ruídos presentes no método LAMBDA e na solução Ashtech Solutions são semelhantes.

Ainda que a exactidão do método LAMBDA varie ao longo do teste realizado.

Tabela 5.5 – Detalhes do teste.

Data e Local 23 de Junho de 2006 ao largo do cabo de Sines

Receptor do utilizador GG24 (Anexo G.2)

Receptor da estação base GG24 (Anexo G.2)

Taxa de actualização máxima 0.4 segundos

Teste Receptor colocado num barco de reconhecimento do fundo mar do pontão de Sines.

Figura 5.9 – Trajectória completa.

Page 65: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

5.3. Trajectória Livre

47

Figura 5.10 – Partida e chegada da missão.

Figura 5.11 – Descontinuidades na trajectória do Ashtech Solutions.

Figura 5.12 – Descontinuidades: pormenores.

Page 66: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 5. Resultados

48

Figura 5.13 – Pormenores da trajectória.

Page 67: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

49

Capítulo 6 Conclusões

Pretendeu-se com o presente trabalho a análise, o desenvolvimento e a validação de

técnicas avançadas de posicionamento em GPS. O objectivo prático era desenvolver

algoritmos com precisão e exactidão semelhante às soluções disponibilizadas comercialmente,

em especial a do pacote Ashtech Solutions [28].

Os algoritmos de posicionamento absoluto, Bancroft e iterativo, têm resultados

semelhantes, pois são simplesmente dois métodos diferentes para resolver a mesma equação

de posicionamento. Com a introdução do CSC consegue-se melhorar a precisão e exactidão.

Os algoritmos de GPS diferencial e de duplas diferenças apresentam resultados de

qualidade superior aos algoritmos de posicionamento absoluto, pois recorrem a uma estação-

base para diminuir as influências das fontes de erro.

O DGPS em posição e o em pseudo-distância apresentam resultados semelhantes, uma

vez que o seu princípio para a diminuição da influência de erros é idêntico.

O algoritmo de duplas diferenças via pseudo-distância apresenta resultados melhores

que os algoritmos de DGPS, pois diminui o erro proveniente do relógio do utilizador.

O algoritmo de duplas diferenças via pseudo-distância e fase, recorrendo ao método

LAMBDA, é o algoritmo que apresenta melhores resultados. O facto de resolver a

ambiguidade inteira da fase permite-lhe uma grande precisão. Os resultados obtidos, quer a

nível de exactidão, precisão ou perturbações da trajectória, são próximas da solução fornecida

pelo Ashtech Solutions.

O método LAMBDA está limitado à correcta quantificação das variâncias das

medições da pseudo-distância e da fase. O desconhecimento destes valores pode impedir a

correcta resolução das ambiguidades. Por outro lado, o número de observações acumuladas

para resolver a ambiguidade é um factor determinante. Uma alteração deste valor para o

mesmo conjunto de dados, pode levar ao cálculo de uma ambiguidade diferente. Todos estes

factores influenciam a exactidão do método.

Em todos os algoritmos analisados a precisão vertical é maior que a precisão

horizontal, por limitações próprias do sistema GPS e não dos métodos.

Page 68: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Capítulo 6. Conclusões

50

Em resumo, o uso da fase na estimação da posição em GPS é essencial para obter

precisão e exactidão elevadas. No entanto, a complexidade associada à resolução da

ambiguidade da fase pode levar a soluções erróneas.

Num trabalho futuro, seria interessante analisar métodos capazes de resolver a

ambiguidade da fase num só receptor ou com um único conjunto de observações [10]. Outra

área interessante de estudo, é investigação de mecanismos para lidar com cycle-slips, como as

triplas diferenças [16]. A aplicação de filtros e smoothers a variáveis de interesse do sistema

GPS pode melhorar a precisão e exactidão do posicionamento (no Anexo F analisa-se uma

simples aplicação do filtro Kalman à trajectória de um utilizador).

Page 69: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

51

Anexo A Coordenadas ECEF

Como a Terra está em constante rotação, para se conseguir referenciar a posição do

satélite a um determinado ponto na superfície terrestre, a sua rotação tem de ser levada em

conta. A solução natural consiste em introduzir um esquema de transformação de coordenadas

do sistema.

Neste Anexo é também apresentado um algoritmo para determinar as coordenadas

ECEF (Earth Centered Earth Fixed) do satélite através dos dados provenientes das

efemérides. O referencial ECEF é um referencial cartesiano fixo, com coordenadas

tridimensionais XYZ , com respeito à Terra e acompanha a sua rotação. A sua origem

corresponde ao centro de massa gravítico, o eixo zz cruza o Pólo Norte, plano xoy define o

plano equatorial e o eixo xx cruza o meridiano de Greenwich.

A.1 Conversão ECEF para LLH

A Terra é um planeta aproximadamente esférico, apresentando no entanto alguns

desvios relativamente à forma esférica, bem como irregularidades desigualmente distribuídas

na sua superfície.

A forma da Terra é definida com base no campo gravítico terrestre. A sua superfície,

abstraindo das ondulações do terreno, pode ser definida pela superfície do nível médio das

águas do mar, suposta prolongada debaixo dos continentes. Esta superfície de nível, chamada

geóide, é uma superfície mal conhecida, não definida matematicamente, cujo estudo é do

âmbito da Geodesia.

Dada a complexidade do geóide é usual utilizar como superfície de referência um

elipsóide de revolução. Um elipsóide de revolução é o sólido gerado pela rotação de uma

semi-elipse em torno de um dos seus eixos. Existem várias referências para este elipsóide, a

usada pelo sistema GPS denomina-se de WGS 84 (World Geodetic System 1984) [30].

O algoritmo fornecido pelo Eng. Luís Sebastião, implementado de acordo com [31],

permite transformar as coordenadas ECEF para um sistema de coordenadas geodésicas sobre

Page 70: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo A. Coordenadas ECEF

52

o elipsóide WGS 84. As coordenadas geodésicas são compostas por latitude, longitude e

altitude.

A latitude ϕ de um ponto é o ângulo formado pela normal ao elipsóide nesse ponto e

pelo plano do equador. Conta-se de -90° a +90° a partir do equador, negativamente no

hemisfério Sul e positivamente no hemisfério Norte.

A longitude λ é o ângulo diedro formado pelo plano do meridiano de um ponto como

plano do meridiano de referência e conta-se de -180° a +180°, negativamente para Oeste e

positivamente para Este. Por acordo internacional adoptou-se para meridiano de referência o

meridiano do Observatório de Greenwich em Inglaterra.

A altitude de um ponto é a distância mínima do ponto à superfície do elipsóide.

Contam-se valores positivos se o ponto for exterior ao elipsóide e negativos se for interior.

Figura A.1 – Representação das coordenadas ECEF e geodésicas.

A.2 Coordenadas ECEF do Satélite

Através de uma transformação de coordenadas, um ponto de referência pode ser

deslocado para o sistema de coordenadas desejado. Na Figura A.2 está representada a órbita

de um satélite, o equador, o ângulo ω entre o perigeu e o nó ascendente, o ângulo i entre o

plano da órbita do satélite e o equador e também está representado o ângulo Ω entre o nó

ascendente e o equinócio de vernal.

Page 71: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

A.2. Coordenadas ECEF do Satélite

53

Figura A.2 – Equador e órbita do satellite.

Pretende-se descobrir, tendo em conta os referenciais definidos na Figura A.2, uma

mudança de coordenadas que transforme o referencial 1 no referencial 4, i.e., que transforme

o referencial da órbita do satélite no referencial da Terra. Esta transformação é dada por [14]:

( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( )

( ) ( )

4

4

4

cos cos sin cos sinsin cos cos cos sin

sin sin

er er

er er

x r v r i vy r v r i vz r i v

ω ωω ω

ω

Ω + − Ω +⎡ ⎤⎡ ⎤⎢ ⎥⎢ ⎥ = Ω + + Ω +⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥ +⎣ ⎦ ⎣ ⎦

(A.1)

em que r é a distância euclidiana do satélite ao centro da Terra, v é a anomalia verdadeira e

er e ertΩ = Ω−Ω é o ângulo entre o nó ascendente e o meridiano de Greenwich, onde eΩ é a

velocidade de rotação da Terra e ert é tal que quando 0ert = o meridiano de Greenwich está

alinhado com o equinócio de vernal.

A transformação de coordenadas definida em (A.1) permite referenciar a posição do

satélite em ECEF. Para se determinar todos os termos necessários para efectuar a

transformação (A.1) é necessário recorrer às efemérides obtidas através do processamento do

sinal GPS que é recebido pelo receptor. A Tabela A.1 contém os dados das efemérides

provenientes do sinal necessários para determinar as coordenadas do satélite em ECEF.

Page 72: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo A. Coordenadas ECEF

54

Tabela A.1 – Dados das efemérides.

Variável Unidades Descrição

0M Semicírculos Anomalia média – fracção de um período orbital expressa como um ângulo – para o tempo de referência

nΔ Semicírculos/segundo Termo de correcção do movimento médio – velocidade de progresso do satélite em torno da órbita

e Adimensional Excentricidade – quantifica o desvio entre a órbita elíptica e a circular

a metros Raiz quadrada do semi-eixo maior

0Ω Semicírculos Ascensão recta no plano da órbita – ângulo formado pelo meridiano do ponto vernal e a órbita do satélite

Ω Semicírculos/segundo Velocidade de ascensão recta

0i Semicírculos Ângulo de inclinação

ω Semicírculos Argumento do perigeu – ângulo desde o nó ascendente até ao ponto do perigeu

idot Semicírculos/segundo Velocidade de inclinação

ucC Radianos Termo de correcção harmónica da amplitude do co-seno do argumento da latitude

usC Radianos Termo de correcção harmónica da amplitude do seno do argumento da latitude

rcC Metros Termo de correcção harmónica da amplitude do co-seno do raio da órbita

rsC Metros Termo de correcção harmónica da amplitude do seno do raio da órbita

icC Radianos Termo de correcção harmónica da amplitude do co-seno do ângulo de inclinação

isC Radianos Termo de correcção harmónica da amplitude do seno do ângulo de inclinação

oet Segundos Tempo de referência da efeméride

Estes valores alimentam um algoritmo, descrito na Tabela A.2, que permite calcular a

posição de um satélite num referencial ECEF para um dado instante. Para se obter uma

informação mais detalhada sobre o algoritmo consultar [14].

Page 73: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

A.2. Coordenadas ECEF do Satélite

55

Tabela A.2 – Determinação das coordenadas ECEF do satélite.

Etapas Descrição

14 3 23.986005 10 m sμ = × Parâmetro universal gravitacional da Terra 57.292115167 10 /e rad s−Ω = × Velocidade de rotação da Terra

( )2a a= Semi-eixo maior

30 /n a rad sμ= Movimento médio computado

k oet t t= − Tempo de referência da efeméride

0n n n= + Δ Movimento médio corrigido

0 kM M nt= + Anomalia média sin( )k k kE M e E= + Equação de Kepler para anomalia excêntrica

11 2

cos( )cos

1 cos( )k

k

E ev

e E− ⎛ ⎞−

= ⎜ ⎟−⎝ ⎠ Anomalia real do co-seno

21

21 sin( )

sin1 cos( )

k

k

e Ev

e E−⎛ ⎞−⎜ ⎟=⎜ ⎟−⎝ ⎠

Anomalia real do seno

( )1 2sgnkv v v= Anomalia real

k kfφ ω= + Argumento da latitude cos(2 ) sin(2 )k uc k us kC Cδμ φ φ= + Correcção da segunda harmónica para o argumento da latitude cos(2 ) sin(2 )k rc k rs kr C Cδ φ φ= + Correcção da segunda harmónica para o raio cos(2 ) sin(2 )k ic k is ki C Cδ φ φ= + Correcção da segunda harmónica para a inclinação

k k kμ φ δμ= + Argumento da latitude corrigido (1 cos( ))k k kr a e E rδ= − + Raio corrigido

0 ( )k k ki i i idot tδ= + + Inclinação corrigida

0 0( )k k e oet tΩ = Ω + Ω−Ω −Ω Longitude do nó ascendente corrigida ' cos( )k k kx r μ= Coordenada X no plano da órbita ' sin( )k k ky r μ= Coordenada Y no plano da órbita

' cos( ) ' cos( )sin( )k k k k k kx x y i= Ω − Ω Coordenada X em ECEF ' sin( ) ' cos( ) cos( )k k k k k ky x y i= Ω + Ω Coordenada Y em ECEF

' sin( )k k kz y i= Coordenada Z em ECEF

Page 74: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 75: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

57

Anexo B Diluição da Precisão

A diluição da precisão (DOP - Dilution Of Precision) é uma medida usada para avaliar

a precisão da posição de um utilizador do sistema GPS. Existem várias maneiras de definir a

DOP, mas todas elas dependem da geometria dos satélites e da posição do utilizador.

Se recorrermos ao sistema linearizado das equações da pseudo-distância para quatro

satélites obtém-se [12]:

1 11 12 13

2 21 22 23

3 31 32 33

1 2 3

111

1

u

u

u

uN N N N

xyzb

α

δρ α α αδ

δρ α α αδ

δρ α α αδδ

δρ α α α

⎡ ⎤ ⎡ ⎤⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥=⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

(B.1)

em que:

( ) ( ) ( )

1 2 2 2u i

i

i u i u i u

x X

X x Y y Z zα −

=− + − + −

(B.2)

( ) ( ) ( )

2 2 2 2u i

i

i u i u i u

y Y

X x Y y Z zα −

=− + − + −

(B.3)

( ) ( ) ( )

3 2 2 2u i

i

i u i u i u

z Z

X x Y y Z zα −

=− + − + −

(B.4)

e uxδ , uyδ , uzδ , ubδ e iδρ são os incrementos diferenciais de ux , uy , uz , ub e iρ ,

respectivamente.

Deste modo define-se a matriz:

11 12 13 14

21 22 23 241

31 32 33 34

41 42 43 44

( )T

A A A AA A A AA A A AA A A A

α α −

⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦

(B.5)

em que ijA representa o elemento da matriz 1( )Tα α − na linha i e coluna j .

Page 76: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo B. Diluição da Precisão

58

A DOP geométrica (GDOP – Geometry DOP) é definida por

11 22 33 44GDOP A A A A= + + + (B.6)

A DOP da posição (PDOP – Position DOP) é dada por:

11 22 33PDOP A A A= + + (B.7)

A DOP horizontal (HDOP – Horizontal DOP) é dada por:

11 22HDOP A A= + (B.8)

A DOP vertical (VDOD – Vertical DOP) é dada por:

33VDOP A= (B.9)

A DOP do tempo (TDOD – Time DOP) é dada por:

44TDOP A= (B.10)

Um menor valor da DOP significa uma melhor geometria dos satélites para calcular a

posição do utilizador [12]. A DOP pode ser utilizada como critério para seleccionar o melhor

conjunto de satélites de modo a obter uma posição do utilizador mais precisa.

Page 77: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

59

Anexo C Sinal GPS

Cada satélite GPS transmite simultaneamente em duas bandas de frequência, uma a

1575.42MHz (banda 1L ) e outra a 1227.60MHz (banda 2L ), que são múltiplas de 10.23MHz,

a frequência do relógio interno. Estas duas frequências são moduladas em fase (BPSK –

Binary Phase-Shift Keying) [12] por uma sequência pseudo-aleatória e por uma mensagem de

navegação contendo a informação necessária para o cálculo da posição do satélite.

C.1 Código C/A e Código P

A portadora 1L é modulada por uma componente em fase (código C/A –

Coarse/Acquisition Code) (Figura C.1) e uma em quadratura (código P – Precision Code).

Por sua vez, a portadora 2L é modulada somente pelo código P, que não está disponível para

uso civil.

Figura C.1 – Construção do sinal GPS a partir da modulação em fase da portadora 1L .

O código C/A consiste numa sequência periódica de impulsos unitários pseudo-

aleatórios, com um período total de 1ms, a uma frequência de 1.023MHz. Este código por sua

vez codifica a mensagem de navegação que é enviada a um ritmo de 50bit/s (Figura C.2).

Mensagem de navegação

Multiplicador Multiplicador

Sinal GPS

Portadora 1

L Código C/A

Page 78: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo C. Sinal GPS

60

Figura C.2 – Estrutura do sinal GPS a partir da modulação em fase da portadora 1L .

O código C/A foi criado com o objectivo de:

• Permitir medições simultâneas e precisas de vários satélites

• Resistir a erros de multi-percurso

• Protecção contra interferências maliciosas (jamming)

Para permitir o envio e a aquisição de informação em simultâneo usa-se CDMA (Code

Division Multiple Access), que só é possível porque os sinais de cada satélite têm correlação

cruzada nula.

Com a função de diminuir os erros causados por multi-percurso, e outro tipo de

interferências, o código C/A apresenta uma densidade espectral de potência baixa, i.e., a

potência do sinal encontra-se espalhada por uma banda de frequência relativamente grande

(2MHz).

O código P, de modo semelhante ao código C/A, baseia-se numa sequência periódica

de impulsos unitários com uma modulação em fase a uma frequência de 10.23MHz, dez vezes

superior ao código C/A. Este código não é transmitido directamente pelo satélite, sendo

modificado primeiro por um código Y, razão pela qual se denomina regularmente de código

P(Y). Devido à estrutura inerente do código, como a largura de banda e frequência, ele é mais

robusto contra interferências exteriores (como spoofing e jamming) e mais preciso que o

código C/A. Este código, tal como foi referido, não está disponível para uso civil.

1bit (20ms)

Portadora 1

L 1575.42MHz

Mensagem de navegação 50bps

Um bit em código C/A 20 períodos de código/bit

Um período do código C/A 1023 impulso/período

1 impulso (0.9775μs)

1ms

Page 79: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

C.2. Estrutura da Mensagem de Navegação

61

C.2 Estrutura da Mensagem de Navegação

A mensagem de navegação, como foi referido anteriormente, contém parâmetros que

permitem resolver o problema de posicionamento em GPS. A informação principal contida na

mensagem consiste em:

• Almanaque dos satélites: estes dados são transmitidos por cada satélite e contém

informação pouco precisa sobre as órbitas de todos os satélites que, apesar de não

permitirem calcular a posição, podem ser guardados no receptor, sendo válidos

por vários meses. Com estes parâmetros é possível ao utilizador saber quais os

satélites visíveis num dado sítio, de modo a iniciar primeiro a procura destes

quando o aparelho GPS é ligado pela primeira vez (Anexo C.3)

• Efemérides do satélite: é uma informação semelhante à do almanaque mas muito

mais precisa e relativa apenas ao satélite que a enviou. Estes dados permitem

calcular com rigor a posição do satélite e são válidos apenas por poucas horas

• Temporização do sinal: é uma “etiqueta” imposta na mensagem que permite ao

utilizador calcular o tempo de emissão de pontos específicos do sinal GPS, e

consequentemente o tempo que o sinal demora a percorrer entre o satélite e

utilizador

• Atraso ionosférico: contém parâmetros para realizar estimativas do atraso

ionosférico de modo a melhorar a performance do GPS

• Estado do satélite: esta informação permite ao utilizador saber o estado de

funcionamento do satélite, de modo a poder ignorá-lo caso não esteja a operar

correctamente

Estes dados estão segmentados de igual maneira em todos os satélites. Basicamente

uma mensagem de navegação completa consiste em 25 tramas de 1500 bits. Cada uma destas

tramas está dividida em 5 sub-tramas de 300 bits. A uma taxa normal de transmissão (50 bit/s)

uma mensagem de navegação demora 750 segundos (12.5 minutos) a ser recebida, o que no

pior dos casos pode levar ao tempo de inicialização de um aparelho GPS (recepção completa

de uma mensagem de navegação) a ser praticamente o dobro.

A primeira sub-trama contém um conjunto de coeficientes que permitem realizar

correcções do relógio do satélite. A segunda e terceira sub-tramas são praticamente constantes

ao longo da mensagem, pois contêm informação precisa relativa às efemérides do satélite

Page 80: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo C. Sinal GPS

62

emissor da mensagem. As duas últimas sub-tramas variam ao longo da mensagem e contêm

informação do almanaque, correcções ionosféricas e estado de saúde do satélite. Numa trama

apenas segue uma página (1 25 da informação) do almanaque, razão pela qual uma

mensagem de navegação é composta por um total de 25 mensagens (Figura C.3).

Figura C.3 – Estrutura de uma trama da mensagem de navegação.

Existem também dois campos no início de todas as sub-tramas: a TLM (Telemetria) e

HOW (Hand-Over Word). O preâmbulo do campo TLM permite ao utilizador detectar um

começo de uma sub-trama. Os restantes bits são reservados ou de paridade. O campo HOW

contém a identificação do número da sub-trama, e informação que permite determinar ao

utilizador o tempo de emissão da sub-trama.

C.3 Aquisição e Seguimento do Sinal GPS

Quando o utilizador liga um receptor de GPS, antes de se descodificar a informação

no sinal é necessário realizar a aquisição e o seguimento do sinal GPS. Definem-se um

conjunto de operações a realizar para executar esta tarefa:

1. Determinação dos satélites visíveis

2. Determinação do desfasamento Doppler aproximado para cada satélite visível

3. Procurar o sinal na frequência e na fase do código C/A

4. Detectar a presença do sinal e confirmar a sua detecção

5. Fixar e seguir o código C/A

6. Fixar e seguir a portadora

7. Realizar sincronização de bits

8. Desmodular a mensagem de navegação

1

4

3

2

5

Sub-trama Estrutura

Correcção de relógio HOW

Efemérides do satélite HOW

Efemérides do satélite HOW

Atraso ionosférico, Mensagens especiais, etc. HOW

Almanaque, Saúde do satélite, etc. HOW TLM

TLM

TLM

TLM

TLM

Page 81: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

C.3. Aquisição e Seguimento do Sinal GPS

63

A primeira vez que um receptor é ligado é necessário procurar todos os satélites de

forma exaustiva para determinar quais são visíveis. Este intervalo de tempo de procura é

designado de TTFF (Time To First Fix). É possível reduzir o TTFF, em alguns receptores,

introduzindo as coordenadas aproximadas do utilizador e usando a informação do almanaque,

de modo a limitar a procura de satélites. Pode-se também introduzir a hora aproximada,

apesar da maior parte dos receptores terem um relógio suficientemente preciso e que opera

mesmo com o aparelho desligado.

Através da estimativa do desfasamento de Doppler (causado pelo movimento do

satélite) do sinal GPS dos satélites visíveis é possível definir um padrão de procura na

frequência mais eficiente, em que as frequências de recepção mais prováveis são procuradas

em primeiro lugar. O desfasamento de Doppler é calculado com base no conhecimento

aproximado da posição, tempo e dados do almanaque.

Apesar do GPS emitir sinais não basta a sintonização de uma simples frequência para

receber o sinal, uma vez que estes têm uma densidade de potência muito baixa (spread-

spectrum, como havia sido referido nas propriedades do código C/A), isto é, a potência do

sinal está espalhada ao longo de uma banda de frequências vasta. Esta situação leva a que seja

necessário o despread do sinal recorrendo a uma réplica do código usado (C/A ou P)

(Figura C.4). Quando ocorre alinhamento dos códigos, obtém-se um pico no espectro de

potência e o sinal é detectado. Para encontrar o sinal emitido do satélite, de modo eficiente, é

necessário uma procura bidimensional: no atraso do código C/A e na frequência da portadora.

Figura C.4 – Despread do código C/A.

A procura no atraso do código deve ser realizada para cada frequência procurada. O

receptor gera códigos iguais aos dos satélites e altera o atraso do código em intervalos

discretos até encontrar o alinhamento aproximado com o código recebido.

Densidade de potência do sinal após o despreading

Densidade de potência do sinal antes do despreading

Densidade de potência do ruído

Função de transferência do filtro para recuperação do sinal

Page 82: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo C. Sinal GPS

64

A procura na frequência usa os resultados das estimativas de Doppler. Com base na

frequência estimada executa uma procura em torno dessa frequência, pois existe maior

probabilidade de o sinal se encontrar numa frequência na vizinhança da estimada.

Estes métodos de procura do sinal têm um compromisso entre a probabilidade de

detecção e um falso alarme. Esta relação é melhor quanto maior for a potência do sinal.

Sempre que ocorre uma falsa detecção tem de se proceder novamente à procura.

Assim que o sinal é detectado é essencial fixá-lo e efectuar o seguimento da portadora.

Isto é necessário para que o sinal não se perca e se mantenha alinhado, permitindo realizar o

despreading. Deste modo, obtém-se uma fase de referência para a desmodulação do sinal. Isto

também permite a medição da velocidade (através do ritmo de variação da fase), o cálculo

mais preciso do efeito de Doppler para facilitar o seguimento do código e a estimativa da

pseudo-distância através da fase da portadora.

Uma vez fixada e seguida a portadora, procede-se à sincronização de bits. O método

mais simples de o fazer é realizar um histograma com as frequências da portadora em vários

intervalos de tempo seguidos, onde os intervalos mais frequentes identificam os instantes de

tempo que marcam as fronteiras dos bits. Após a sincronização efectua-se a desmodulação

dos bits para se obter a mensagem de navegação.

Page 83: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

65

Anexo D Álgebra Linear

D.1 Mínimos Quadrados

O método de mínimos quadrados para sistemas lineares é uma técnica que permite

encontrar uma solução aproximada para um sistema de equações lineares que não tem uma

solução exacta. Este é um problema recorrente em sistemas onde o número de equações ( m ) é

superior ao número de incógnitas ( n ).

Em termos matemáticos pretende-se encontrar uma solução x para a equação:

Ax b= (D.1)

em que A é uma matriz m n× conhecida (com m n> ), x é um vector desconhecido de

dimensão n e b é o vector de medições conhecido de dimensão m .

Mais precisamente, quer-se minimizar o quadrado da norma euclidiana do resíduo

( Ax b− ), ou seja minimizar:

2Ax b− (D.2)

Utilizando o facto da norma quadrada de um vector v ser igual a Tv v , pode reescrever

(D.2) da seguinte forma:

( ) ( ) ( ) ( ) ( )T T TT TAx b Ax b Ax Ax b Ax Ax b b b− − = − − + (D.3)

O mínimo de (D.3) é encontrado derivando (D.3) em ordem a x e igualando a zero:

ˆ2 2 0T TA Ax A b− = (D.4)

A solução do problema é obtida resolvendo:

ˆT TA Ax A b= (D.5)

A equação (D.5) é habitualmente designada por equação normal. A matriz TA A é uma

matriz quadrada que é invertível se a matriz A tiver característica completa igual a n . Neste

caso a solução de (D.5) é única e é dada por:

( ) 1ˆ T Tx A A A b

−= (D.6)

A matriz ( ) 1T TA A A−

é usualmente designada por pseudo-inversa de A .

Page 84: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo D. Álgebra Linear

66

D.2 Mínimos Quadrados Pesados

Uma das suposições no método usual de mínimos quadrados é o facto de se considerar

que todas as medições estão sujeitas ao mesmo tipo de erro, i.e., o desvio padrão do erro é

considerado constante para todas as medições. Esta consideração nem sempre se enquadra em

todos as aplicações. Por exemplo, em GPS, a fase da portadora é muito mais precisa que a

pseudo-distância, ou seja, o desvio padrão do erro associado à fase da portadora é menor que

o associado à pseudo-distância. Em situações como esta, em que não é aconselhável tratar

todas as observações de igual maneira, é usual recorrer-se a mínimos quadrados pesados para

maximizar a eficiência do processo de estimação.

O método de mínimos quadrados pesados é em tudo semelhante ao método de

mínimos quadrados descrito no Anexo D.1. A única diferença reside no facto do quadrado da

norma euclidiana ser ponderada por uma matriz de pesos. Esta condição pode ser descrita

matematicamente por:

2

WAx b− (D.7)

em que W é a matriz de pesos das observações com dimensão n n× .

Usando o facto da norma quadrada de um vector v ser Tv v , pode reescrever (D.7):

( ) ( ) ( ) ( ) ( )T T TT TAx b W Ax b Ax W Ax b WAx Ax Wb b Wb− − = − − + (D.8)

O mínimo de (D.8) é encontrado derivando (D.8) em ordem a x e igualando a zero:

ˆ2 2 0T TA WAx A Wb− = (D.9)

A solução do problema é obtida resolvendo:

ˆT TA WAx A Wb= (D.10)

A matriz TA WA é uma matriz quadrada que é invertível se a matriz A tiver

característica completa igual a n . Neste caso a solução de (D.10) é única e é dada por:

( ) 1ˆ T Tx A WA A Wb

−= (D.11)

É fácil de verificar que caso a matriz W seja a identidade, então a estimativa da

solução obtida em (D.11) é idêntica à obtida em (D.6).

Page 85: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

D.3. Factorização de Cholesky

67

D.3 Factorização de Cholesky

A decomposição de Cholesky (Cholesky, 1905) foi talvez o primeiro método para

factorizar uma matriz simétrica definida positiva num produto de matrizes triangulares. Estas

matrizes são designadas de factores de Cholesky.

Um factor de Cholesky C de uma matriz simétrica positiva definida A é tal que:

TCC A= (D.12)

em que C é uma matriz triangular inferior.

A factorização de Cholesky é frequentemente utilizada na resolução de sistemas de

equações lineares na forma Ax b= . Se A for uma matriz simétrica positiva definida, então o

sistema Ax b= pode ser resolvido calculando primeiro a factorização de Cholesky da matriz

A e resolvendo o sistema Cy b= , para y , e depois resolvendo o sistema TC x y= , para x .

Sistemas na forma Ax b= com A simétrica positiva definida são bastante comuns,

nomeadamente os sistemas de equações normais em problemas de mínimos quadrados

lineares.

Os coeficientes do factor de Cholesky podem ser obtidos igualando os coeficientes dos

dois lados da equação (D.12). Seja A uma matriz n n× vem que:

11 11 12 1 11 12 1

21 22 22 2 21 22 2

1 2 1 2

0 00 0

0 0

n n

n n

n n nn nn n n nn

c c c c a a ac c c c a a a

c c c c a a a

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥=⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

(D.13)

em que os coeficientes, para 1i n= , , e 1j i n= + , , , são dados por:

1 1

2

1 1

ei i

ii ii ik ji ji jk ik iik k

c a c c a c c c− −

= =

⎛ ⎞= − = −⎜ ⎟

⎝ ⎠∑ ∑ (D.14)

Se A for definida positiva então os coeficientes são sempre reais.

A implementação da factorização de Cholesky foi retirada do pacote de funções

LINPACK [32] para C++.

Page 86: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 87: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

69

Anexo E LAMBDA: Complementos

E.1 Transformação-Z

A transformação-Z é introduzida decompondo-se a matriz de co-variância aQ em:

ˆT

aQ L DL= (E.1)

em que L é uma matriz inferior e D uma matriz diagonal.

O objectivo da transformação-Z é determinar uma matriz Z , que seja próxima da

inversa da matriz L . Caso se consiga encontrar uma matriz de inteiros Z igual a 1L− , então:

ˆˆT T T

z aQ Z Q Z Z L DLZ D= = = (E.2)

Se zQ D= , as ambiguidades z estão completamente descorrelacionadas e a

minimização inteira é reduzida a um simples processo de arredondamento da solução em

vírgula flutuante estimada [21]. Na prática uma descorrelação completa raramente é possível

devido à natureza inteira da solução, logo zQ raramente será uma matriz estritamente

diagonal, sendo possível decompô-la em:

ˆT

zQ L DL= (E.3)

em que L é uma matriz inferior e D uma matriz diagonal.

Analisando (E.3), a matriz de co-variância zQ é próxima da matriz diagonal D

quando os elementos não-diagonais de L são muito pequenos. Este requisito é atingido

recorrendo a transformações inteiras de Gauss [23]. Deste modo a minimização (4.9) é

transformada em:

2ˆmin comz

mQz

z z z−− ∈ (E.4)

É possível, através de permutações, aumentar a eficiência do processo de busca,

ordenando decrescentemente as entradas da matriz diagonal D [24], ou seja:

1 2 md d d≥ ≥ ≥ (E.5)

em que id é o elemento i da diagonal da matriz D .

Page 88: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo E. LAMBDA: Complementos

70

E.2 Determinação de 2χ

O desempenho computacional do método LAMBDA está dependente da determinação

da constante positiva 2χ que controla a dimensão da região do elipsóide. Este valor não pode

ser demasiado pequeno para se garantir que o espaço de procura contém a solução a que

satisfaz (4.9). Por outro lado, um valor de 2χ demasiado elevado pode resultar num espaço de

procura muito grande, o que tornaria o método ineficiente. Na implementação proposta por

Teunissen [7], o valor de 2χ permanece constante durante todo o processo de procura.

O método que permite determinar o valor de 2χ fixa-o inicialmente em infinito.

Supondo que se pretende obter as q melhores soluções para o problema de minimização

(4.12) é necessário definir um valor de 2χ que as contenha. Assim começa-se por determinar

o primeiro candidato através do arredondamento da solução em vírgula flutuante:

11 2

( ) ˆ ˆ ˆ T

mz z z z⎡ ⎤= ⎣ ⎦ (E.6)

em que ˆiz representa o inteiro mais próximo de ˆiz

O segundo candidato é igual ao primeiro, exceptuando o primeiro elemento que será o

segundo valor inteiro mais próximo de 1z . O terceiro candidato é obtido de forma análoga

com a excepção para a primeira entrada que será igual ao terceiro valor inteiro mais próximo

de 1z . Aplicando um método semelhante pode obter-se os restantes candidatos ( m candidatos

no total). Analisando (4.19) retira-se que:

( )( ) ( )( ) ( )( )1 2 qf z f z f z≤ ≤ ≤ (E.7)

O valor de 2χ é então fixado em ( )( )qf z , reduzindo a região do elipsóide.

Page 89: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

71

Anexo F Filtragem Kalman

A filtragem Kalman (Kalman, 1960) [29] é um algoritmo recursivo eficiente para

estimar o estado de um sistema dinâmico, que consegue combinar o modelo da dinâmica do

sistema e o modelo observações, cada um com ruído associado. Para sistemas em que o

modelo da dinâmica e o modelo das observações é linear e os ruídos associados são

Gaussianos, a estimativa do filtro Kalman é óptima.

O estado de um sistema é dado por um conjunto de variáveis de interesse, também

chamadas de variáveis de estado. O estado de um sistema evolui em função do estado no

instante anterior e de alguma acção que haja sobre o sistema. Normalmente não se tem acesso

directo às variáveis de estado, mas é possível fazer observações do sistema que são funções

do estado no mesmo instante.

Neste Anexo aborda-se a filtragem Kalman para sistemas lineares e as possíveis

aplicações ao sistema GPS.

F.1 Modelo da Dinâmica e das Observações

Quando se aplica a filtragem Kalman a um sistema dinâmico, é necessário, em

primeiro lugar, definir como estas evoluem ao longo do tempo, de modo a definir a dinâmica

do sistema em estudo. De um modo geral define-se que um sistema linear num instante k

evolui de um estado no instante 1k − de acordo com:

1k k k k k kx F x B a u−= ⋅ + ⋅ + (F.1)

em que:

kx é o vector de variáveis de estado no instante k

kF é o modelo de transição de estado que é aplicado a estado anterior 1kx −

kB é o modelo da entrada de controlo aplicada ao vector de controlo ka

ku é o ruído do processo que pode ser modelado por ruído branco Gaussiano de

média nula com co-variância kQ , (0, )kN Q

Page 90: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo F. Filtragem Kalman

72

A introdução de ruído no modelo da dinâmica é encarada como a impossibilidade de

modelar a física do sistema de modo perfeito. A co-variância kQ quantifica a incerteza que se

tem no modelo.

Em segundo lugar é preciso definir um modelo das observações do nosso sistema.

Num instante k uma observação do estado kx é dada por

k k kz H x w= ⋅ + (F.2)

em que:

kH é o modelo de observações que mapeia o espaço de estados no espaço das

observações

kw é o ruído das observações que pode ser modelado por ruído branco Gaussiano

de média nula com co-variância kR , (0, )kN R

O uso de ruído no modelo das observações é encarado como a falta de precisão dos

sensores que executam as medições sobre o sistema.

F.2 Computação do Filtro: Predição e Filtragem

Uma vez definidos os modelos da dinâmica e das observações do sistema, o filtro

Kalman tem de ser inicializado. O estado do filtro é representado por duas variáveis:

• ˆkx , a estimação do estado no instante k

• kP , a matriz de co-variância da estimação (medida do erro na estimação do

estado)

Como o filtro Kalman é um estimador recursivo, apenas é necessário a estimativa do

estado anterior e respectiva co-variância do instante anterior. É então necessário definir o

estimador do estado inicial 0x e a incerteza que se tem nesta estimação (através de uma matriz

de co-variância 0P ).

Ao longo dos instantes seguintes o filtro Kalman vai actualizando as estimativas e

respectivas co-variâncias, através do ciclo de computação com duas etapas distintas: predição

e filtragem.

Page 91: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

F.2. Computação do Filtro: Predição e Filtragem

73

Figura F.1 – Ciclo de computação do filtro Kalman.

Na fase de predição, a estimativa do estado anterior 1kx − é propagada de acordo com o

modelo da dinâmica do sistema e a co-variância 1kP − é actualizada de acordo com a co-

variância associada à dinâmica, Q . De modo mais concreto:

1ˆ ˆk k k k kx F x B a−−= ⋅ + ⋅ (F.3)

1k k k k kP F P F Q−−= ⋅ ⋅ + (F.4)

em que:

ˆkx− é o estado predito no instante k

kP− é a matriz de co-variância da estimação predita

Em seguida, realiza-se a fase de filtragem que é iniciada com as observações sobre o

sistema. Esta informação é depois usada para actualizar o estado predito e a co-variância

associada, de acordo com as equações:

ˆ ˆ ˆ( )k k k k k kx x K z H x− −= + ⋅ − ⋅ (F.5)

( )k k k kP I K H P−= − ⋅ ⋅ (F.6)

em que:

kK é o ganho de Kalman óptimo

ˆk kH x−⋅ é a observação predita no instante k

I é uma matriz identidade

O ganho de Kalman kK é capaz de pesar de modo óptimo o resíduo criado entre a

observação realizada e a observação predita ( ˆk k kz H x−− ⋅ ), de modo a obter-se melhor

estimativa do estado actual possível [29].

Em alguns instantes pode não ser possível efectuar medições no sistema, sendo apenas

propagado o modelo da dinâmica, sem que haja o passo de filtragem propriamente dito.

Inicialização Predição Filtragem

Page 92: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo F. Filtragem Kalman

74

F.3 Aplicação: Trajectória do Utilizador

Uma aplicação simples e directa do filtro Kalman em problemas de posicionamento

em GPS é a filtragem da posição do utilizador. As principais vantagens são:

• Filtragem do ruído da trajectória, levando em conta a dinâmica do sistema

• Predição da trajectória mesmo quando não há satélites suficientes para calcular a

posição

F.3.1 Modelo da Dinâmica e das Observações

O modelo da dinâmica de um sistema é definido muitas vezes de modo experimental

ou pela própria física. Não havendo acesso a parâmetros internos nem conhecimentos a priori

do sistema em causa, não é possível definir um modelo da dinâmica preciso. Este é o caso

quando se usa o sistema GPS de modo independente.

Para contornar este problema usa-se um modelo linear de dinâmica geral em que as

acelerações são dadas pelas derivadas das velocidades, que por sua vez são dadas pelas

derivadas das posições. As posições consideram-se a latitude, longitude e altitude em

preferência às coordenadas ECEF, pois a trajectórias a serem filtradas ficam num sistema

mais intuitivo, correspondente à superfície da Terra. Usando a forma expressa em (F.1) fica-

se com o modelo:

21

21

21

, ,

,

,

,

,

,

1 0 0 0 0 2 0 00 1 0 0 0 0 2 00 0 1 0 0 0 0 20 0 0 1 0 0 0 00 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 0 00 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 1

k ka a

k ka a

k ka a

x k x ka

y k a

z k a

x k

y k

z k

x xT Ty yT Tz zT T

v vTv Tv Taaa

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥= ⋅⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

1

, 1

, 1

, 1

, 1

, 1

y k k

z k

x k

y k

z k

v uvaaa

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥ +⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(F.7)

em que:

, ,k k kx y z são a latitude, longitude e altitude no instante k , respectivamente

, , ,, ,x k y k z kv v v são as velocidades segundo a latitude, longitude e altitude no

instante k , respectivamente

Page 93: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

F.3. Aplicação: Trajectória do Utilizador

75

, , ,, ,x k y k z ka a a são as acelerações segundo a latitude, longitude e altitude no

instante k , respectivamente

aT é intervalo de tempo de amostragem das variáveis de estado

ku tem associado uma matriz de co-variância kQ de dimensão 9 9×

De modo mais intuitivo, fica-se com o modelo diferencial equivalente:

000

x

x

z

x x

ky y

z z

x

y

z

x vy vz vv a

uv av aaaa

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥= +⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥

⎣ ⎦⎣ ⎦

(F.8)

em que xxt∂

=∂

, yyt

∂=∂

, zzt∂

=∂

, vvt∂

=∂

e aat

∂=∂

, isto é, as derivadas em ordem ao tempo.

As observações do sistema são os valores finais obtidos pelos algoritmos de

posicionamento, isto é, a latitude, a longitude e a altitude, que são variáveis de estado.

Facilmente se obtém um modelo no formato de (F.2):

,,

,,

,,

,

,

,

1 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0

k

k

k

x kobs k

y kobs k k

z kobs k

x k

y k

z k

xyz

vxvy wvzaaa

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥

⎡ ⎤ ⎡ ⎤ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥= ⋅ +⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦⎣ ⎦

⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

(F.9)

em que

, , ,, ,obs k obs k obs kx y z são as observações do sistema no instante k : latitude, longitude

e altitude, respectivamente

kw tem associado uma matriz de co-variância kR de dimensão 3 3×

Page 94: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo F. Filtragem Kalman

76

Utilizando o modelo da dinâmica e modelo das observações previamente definidos,

pode-se aplicar a filtragem Kalman a uma trajectória de um utilizador. Na Figura F.2

mostram-se a filtragem de uma trajectória, onde é diminuído o ruído da mesma, e a predição

de uma trajectória, quando não há satélites suficientes para calcular a posição. Os ruídos

associados aos modelos usados nestes resultados são descritos em mais detalhe no

Anexo F.3.2.

Figura F.2 – Filtragem (esq.) e predição (dir.) de trajectórias.

F.3.2 Ajuste das Matrizes de Co-variância kQ e kR

O bom funcionamento do filtro Kalman está dependente da fiabilidade dos modelos de

dinâmica e de observação [29]. É essencial conseguir quantificar a incerteza dos modelos

através das matriz de co-variância kQ e kR .

Para simplificar este problema considera-se que matrizes de co-variância são

constantes ao longo do tempo e diagonais, isto é, o ruído de cada variável é constante e

incorrelacionado com os outros. Apesar de não ser verdade no sistema definido, é uma boa

aproximação. Partindo deste princípio, o problema da determinação das matrizes de co-

variância resume-se ao cálculo da variância de cada variável em ambos os modelos.

A matriz kR pode ser determinada experimentalmente, uma vez que está associada à

precisão dos algoritmos de posicionamento. O procedimento usado consiste em calcular

várias posições de uma estação fixa, ao longo de um período alargado de tempo, e calcular a

variância destes pontos para cada uma das variáveis observadas: latitude, longitude e altitude.

Page 95: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

F.3. Aplicação: Trajectória do Utilizador

77

Figura F.3 – Histograma de posicionamento em longitude e latitude.

A construção da matriz kQ é mais complexa e com um carácter mais subjectivo. A

variância de cada variável de estado não pode ser calculada de modo experimental, uma vez

que não há conhecimento do sistema que usará o posicionamento por GPS. O método

consistiu em testar conjuntos de valores em várias experiências de posicionamento e afiná-los

para obter os melhores resultados. Por melhores resultados, entende-se aqueles em que o filtro

mostrou ser capaz de diminuir o ruído das trajectórias e segui-las com pouco atraso. Quanto

maiores forem os valores de kQ , ou seja, o modelo da dinâmica é pouco fiável, mais a

trajectória filtrada se aproximará das observações realizadas.

Figura F.4 – Filtragem da trajectória com kQ baixo (esquerda) e kQ elevado (direita).

Posição real

Page 96: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 97: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

79

Anexo G Receptores GPS

Neste Anexo descrevem-se os receptores GPS usados para recolher os dados que

permitiram efectuar os testes necessários para analisar os algoritmos implementados: Ashtech

AC12 (Figura G.1), Ashtech GG24 (Figura G.2) e Ashtech DG14 (Figura G.3).

G.1 Ashtech AC12

Figura G.1 – Placa OEM AC12 [Fonte: Thales Navigation].

G.1.1 Descrição

O Ashtech AC12 [33] é uma placa de baixo custo que fornece, além da pseudo-

distância, uma fase da portadora precisa. Esta é uma característica que só era encontrada em

receptores com um custo muito elevado. O AC12 foi concebido para integração de sistemas,

oferecendo posicionamento absoluto ou posicionamento através de DGPS. Entre outras

características realça-se o facto de ter baixo consumo, de ter dimensões reduzidas e de usar o

protocolo NMEA (National Marine Electronics Association).

A placa OEM AC12 processa sinais, provenientes da constelação de satélites GPS e de

satélites do SBAS (Satellite-Based Augmentation System). Esta última funcionalidade permite

realizar DGPS sem custos adicionais.

Page 98: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo G. Receptores GPS

80

G.1.2 Especificações Técnicas

Características Standard:

• Receptor GPS de 12 canais e até 2 canais para SBAS

• Portadora L1, código e fase

• DGPS remoto

• 1Hz de taxa de actualização máxima

• Suporte para WAAS/EGNOS

• Velocidade (máxima) 514m/s

• Altitude (máxima) 18 228m

Precisão:

• Autónomo:

o Horizontal CEP 3.0m

o Horizontal 95% 5.0m

• DGPS:

o Horizontal CEP 0.8m

o Horizontal 95% 1.5m

Medições da fase da portadora com uma precisão de 3mm (RMS).

Tempo de Aquisição:

• Hot start < 10seg

• Warm start < 45seg

• Cold start < 150seg

Placa AC12 OEM:

• Dimensões: 40 61 2 13 3. .× × mm

• Peso: 45.4g

• Alimentação: 3.3 a 5.0V

• Consumo de potência: 1W

Page 99: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

G.2. Ashtech GG24

81

G.2 Ashtech GG24

Figura G.2 – Placa OEM GG24 [Fonte: Thales Navigation].

G.2.1 Descrição

O Ashtech GG24 [34] é um receptor que permite conciliar a informação proveniente

do sistema GPS com a do sistema GLONASS (GLObal NAvigation Satellite System), o

equivalente Russo ao sistema GPS, para melhorar a precisão.

Uma das principais vantagens da integração do GPS com o GLONASS é a

possibilidade de aumentar o número de satélites visíveis pois, para além dos 24 satélites GPS

disponíveis que orbitam em torno da Terra, também se tem acesso aos 13 satélites GLONASS

disponíveis. Assim, e uma vez que a probabilidade de ter muitos satélites visíveis é maior, é

possível aumentar a precisão com que se determina a posição do utilizador do sistema GPS,

uma vez que a geometria dos satélites pode ser melhorada.

G.2.2 Especificações Técnicas

Características Standard:

• 12 canais GPS L1 código e fase

• 12 canais GLONASS L1 código e fase

• DGPS remoto

• Suporta RTK

• 2.5Hz de taxa de actualização máxima

• Velocidade (máxima) 514m/s

• Altitude (máxima) 18 228m

Page 100: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo G. Receptores GPS

82

Precisão:

• Autónomo:

o Horizontal CEP 3.2m

o Horizontal 95% não disponível.

• DGPS:

o Horizontal CEP 0.4m

o Horizontal 95% não disponível.

Tempo de Aquisição:

• Hot start não disponível

• Warm start < 30seg

• Cold start < 40seg

Placa GG24 OEM:

• Dimensões: 10 16 7.× cm

• Peso: 500g

• Alimentação: 5.0V

• Consumo de potência: 2.3W

G.3 Ashtech DG14

Figura G.3 – Placa OEM DG14 [Fonte: Thales Navigation].

G.3.1 Descrição

O Ashtech DG14 [35] é uma placa de nova geração de baixo custo que fornece, além

da pseudo-distância, uma fase da portadora precisa. Esta é uma característica que só era

encontrada em receptores com um custo muito elevado. O DG14 foi concebido para

Page 101: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

G.3. Ashtech DG14

83

integração de sistemas, oferecendo posicionamento absoluto ou posicionamento através de

DGPS. Entre outras características realça-se o facto de ter baixo consumo, de ter dimensões

reduzidas e de usar o protocolo NMEA.

A placa OEM DG14 processa sinais, provenientes da constelação de satélites GPS e

de satélites do SBAS – Satellite-Based Augmentation System. Esta última funcionalidade

permite realizar DGPS sem custos adicionais.

G.3.2 Especificações Técnicas

Características Standard:

• Receptor GPS de 14canais e 2 canais para SBAS

• Portadora L1, código e fase

• DGPS remoto

• Suporta RTK

• 20Hz de taxa de actualização máxima

• Velocidade (máxima) 514m/s

• Altitude (máxima) 18 228m

Precisão:

• Autónomo:

o Horizontal CEP 3.0m

o Horizontal 95% 5.0m

• DGPS:

o Horizontal CEP 0.4m

o Horizontal 95% 0.9m

Tempo de Aquisição:

• Hot start < 11seg

• Warm start < 35seg

• Cold start < 90seg

Placa DG14 OEM:

• Dimensões: 10 8 5 7×. . cm

• Peso: 65.35g

• Alimentação: 5.0V

• Consumo de potência: 1.6W.

Page 102: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method
Page 103: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

85

Anexo H Mensagens NMEA

A NMEA desenvolveu especificações que definem a interface entre vários

equipamentos electrónicos marinhos. Neste projecto recorreram-se às seguintes:

• PBN, que contém informação sobre a posição da antena

• MCA, que contém as medições feitas pelo receptor para um satélite

• SNV, que contém informação sobre as efemérides de um satélite

H.1 Mensagem PBN

Uma mensagem PBN abarca informação relativa ao posicionamento da antena e

também contém informação sobre o tempo de recepção. A Tabela H.1 representa a estrutura

de uma mensagem PBN.

Tabela H.1 – Estrutura de uma mensagem PBN.

Campo Bytes Conteúdo

Received Time [long] 4 Tempo de recepção do sinal GPS, em milissegundos da semana GPS

Site Name [char] 4 Quatros caracteres ASCII introduzidos pelo utilizador

Navx [double] 8 Coordenada X (ECEF) em metros da posição da antena do utilizador

Navy [double] 8 Coordenada Y (ECEF) em metros da posição da antena do utilizador

Navz [double] 8 Coordenada Z (ECEF) em metros da posição da antena do utilizador

Navt [double] 8 Deriva do relógio do receptor em metros

Navxdot [float] 4 Velocidade da antena segundo X em metros por segundo

Navydot [float] 4 Velocidade da antena segundo Y em metros por segundo

Navzdot [float] 4 Velocidade da antena segundo Z em metros por segundo

Navtdot [float] 4 Deslize do relógio do receptor em metros por segundo

PDOP [unsigned short] 2 PDOP (DOP da posição) multiplicado por 100

Checksum 2 O checksum é determinado dividindo a estrutura em 27 unsigned shorts, somando-os e retirando os 16 bits mais significativos

Total de bytes 56

Page 104: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo H. Mensagens NMEA

86

H.2 Mensagem MCA

Uma mensagem MCA contém informação sobre as medições feitas pelo receptor para

um determinado satélite. A Tabela H.2 representa a estrutura de uma mensagem MCA.

Tabela H.2 – Estrutura de uma mensagem MCA.

Campo Bytes Conteúdo

Tag [unsigned short] 2 Número de identificação em unidades de 50ms, módulo 30min

Left [unsigned char] 1 Número de mensagens MCA restantes a serem enviadas pelo receptor

Svprn [unsigned char] 1 PRN do satélite (1 – 56)

Elevation [unsigned char] 1 Ângulo de elevação do satélite em graus

Azimuth [unsigned char] 1 Azimute do satélite em incrementos de 2º

ChannelId [unsigned char] 1 Canal (1 – 12) atribuído ao satélite

Medições retiradas do código C/A

Warning [unsigned char] 1

Bit 1 Bit2 0 0 Código/fase foram medidos

0 1 Código/fase medidos, mensagem de navegação obtida, mas não utilizados para determinar a posição

1 0 Código/fase medidos, mensagem de navegação obtida, utilizados para calcular a posição

3 Fase da portadora questionável

4 Fase do código questionável

5 Integração da fase do código incerta

6 Não utilizado

7 Possível perda de seguimento

8 Perda do seguimento, contador reiniciado

Good Bad [unsigned char] 1 Indica a qualidade da posição medida. Se for igual a 24 então as medidas podem ser utilizadas para calcular a posição.

Polarity [char] 1 Se for 0 implica que o satélite acabou se ser adquirido. Se for 5 implica que o preâmbulo da mensagem foi encontrado

SNR [unsigned char] 1 Relação sinal ruído do satélite observado

Always 0 [unsigned char] 1 Não utilizado

Phase [double] 8 Fase da portadora medida em ciclos

Range [double] 8 Pseudo-distância medida em segundos

Doppler [long] 4 Medida da frequência de Doppler (escalamento de 10-4Hz)

Smoothing [long] 4 Quantifica a suavização da magnitude em centímetros

Checksum 1 Determinado fazendo o XOR de todos os bytes da mensagem

Total de bytes 37

Page 105: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

H.3. Mensagem SNV

87

H.3 Mensagem SNV

Uma mensagem SNV contém informação sobre as efemérides de um determinado satélite. A Tabela H.3 representa a estrutura de uma mensagem SNV.

Tabela H.3 – Estrutura de uma mensagem SNV.

Campo Bytes Conteúdo

wn [short] 2 Número da semana GPS [0, …, 1023]

tow [long] 4 Segundos da semana [0, …, 604799]

tgd [float] 4 Atraso de grupo ( 31127 2−± × ), em segundos

aodc [long] 4 Número de informação da mensagem

toc [long] 4 Tempo de referência da informação [0, …, 204784]

af2 [float] 4 Termo de segunda ordem de correcção do relógio, em 1/seg

af1 [float] 4 Termo de primeira ordem de correcção do relógio, adimensional

af0 [float] 4 Termo de ordem zero de correcção do relógio, em segundos

aode [long] 4 Número de informação da órbita do satélite

deltan [float] 4 Termo de correcção da anomalia média, em semicírculos por segundo

m0 [double] 8 Anomalia média para o tempo de referência, em semicírculos

e [double] 8 Excentricidade

roota [double] 8 Raiz quadrada do eixo semi-maior, em metros/2

toe [long] 4 Tempo de referencia da orbita, em segundos

cic [float] 4 Termo de correcção harmónica, em radianos

crc [float] 4 Termo de correcção harmónica, em metros

cis [float] 4 Termo de correcção harmónica, em radianos

crs [float] 4 Termo de correcção harmónica, em metros

cuc [float] 4 Termo de correcção harmónica, em radianos

cus [float] 4 Termo de correcção harmónica, em radianos

omega0 [double] 8 Longitude do nó ascendente, em semicírculos

omega [double] 8 Argumento do perigeu, em semicírculos

i0 [double] 8 Ângulo de inclinação, em semicírculos

omegadot [float] 4 Taxa de ascensão recta, em semicírculos por segundo

idot [float] 4 Taxa de inclinação, em semicírculos por segundo

accuracy [short] 2

Precisão da medição do utilizador codificada de zero a quinze: 0 = 2m 4 = 8m 8 = 64m 12 = 1024m

1 = 2.8m 5 = 11.3m 9 = 128m 13 = 2048m

2 = 4m 6 = 16m 10 = 256m 14 = 4096m

3 = 5.7m 7 = 32m 11 = 512m 15 = imp. predizer

Page 106: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo H. Mensagens NMEA

88

Tabela H.3 – Estrutura de uma mensagem SNV (cont.).

Campo Bytes Conteúdo

health [short] 2 Saúde do satélite

fit [short] 2 Intervalo de ajuste da curva. Se o valor de fit for igual a zero implica 4 horas se for igual a um implica 6 horas.

prnnum [char] 1 Número PRN do satélite menos um (0, …, 31)

res [char] 1 Caracter reservado

checksum 2 O checksum é determinado dividindo a estrutura em 65 unsigned shorts, somando-os e retirando os 16 bits mais significativos

Total de bytes 132

Page 107: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

89

Anexo I Ficheiros C++ Desenvolvidos

I.1 Matriz.h

Este módulo é composto por vários métodos da classe Matriz, utilizada para a

representação e manipulação de matrizes. Para além das operações básicas destacam-se os

métodos presentes neste Anexo.

InverteMatriz função input: double *mat, int n, double *det

output: -

sintaxe: C.InverteMatriz(A.RetornaArray(), dim, &det)

Determina a inversa da matriz A, armazenando o resultado na matriz C.

Chol função input: double *mat, int lda, int p

output: -

sintaxe: C.Chol(A.RetornaArray(), dim, order)

Determina a decomposição de Cholesky da matriz A de dimensão dim e ordem order, armazenando o

resultado na matriz C.

Pinv função input: const matriz A

output: -

sintaxe: C.Pinv(A)

Determina a pseudo-inversa da matriz A, armazenando o resultado na matriz C.

I.2 PBN.h

Este módulo é composto por vários métodos da classe PBN, utilizada para a

representação, manipulação e leitura das mensagens PBN (Anexo H.1). Neste Anexo

descrevem-se os vários atributos desta classe.

PBN classe campos: double rcvtime, double navx, double navy, double navz, double navt, double navxdot,

double navydot, double navzdot, double navtdot, double pdop.

Page 108: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo I. Ficheiros C++ Desenvolvidos

90

I.3 MCA.h

Este módulo é composto por vários métodos da classe MCA, utilizada para a

representação, manipulação e leitura das mensagens MCA (Anexo H.2). Neste Anexo

descrevem-se os vários atributos desta classe.

MCA classe campos: double left, double prnnumber, double elevation, double azimuth, double channelID,

double warning, double polarity, double SNR, double alwayszero, double phase, double rawrange, double

doppler, double smoothing.

I.4 SNV.h

Este módulo é composto por vários métodos da classe SNV, utilizada para a

representação, manipulação e leitura das mensagens SNV (Anexo H.3). Neste Anexo

descrevem-se os vários atributos desta classe.

SNV classe campos: double wn, double tow, double tgd, double aodc, double toc, double af0, double af1,

double af2, double aode, double deltan, double m0, double ecc, double roota, double, toe, double cic,

double cis, double crc, double crs, double cuc, double cus, double omega0, double omega, double i0,

double omagadot, double idot, double accuracy, double health, double fit, double prnnumber, double res,

double rcvtime.

I.5 Utilizador.h

Este módulo é composto por vários métodos da classe Utilizador, utilizada para a

representação e manipulação das variáveis do utilizador. Para além das operações básicas

destacam-se os métodos presentes neste Anexo.

Utilizador classe campos: double x, double y, double z, double clock, double lat, double lon, double alt

Definição de um objecto do tipo Utilizador. As variáveis x, y, z guardam as coordenadas em ECEF do

utilizador. A variável clock guarda o erro do relógio do utilizador. As variáveis lat, lon e alt guardam a

latitude, longitude e altitude do utilizador, respectivamente.

ECEF2LLH macro argumentos: -

sintaxe: user.ECEF2LLH()

Converte as coordenadas ECEF x, y e z do utilizador user em latitude, longitude e altitude.

Page 109: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

I.6. Satelite.h

91

I.6 Satelite.h

Este módulo é composto por vários métodos da classe Satélite, utilizada para a

representação e manipulação das variáveis dos satélites. Para além das operações básicas

destacam-se os métodos presentes neste Anexo. campos: double x, double y, double z, double xcorr, double ycorr, double zcorr, double az, double

el, double d

Definição de um objecto do tipo Satélite. As variáveis x, y, z guardam as coordenadas em ECEF do

satélite. As variáveis xcorr, ycorr e zcorr guardam as coordenadas, corrigidas do termo de rotação da

Terra, em ECEF do satélite. As variáveis lat, lon e alt guardam a latitude, longitude e altitude do

satélite, respectivamente. Finalmente as variáveis az, el e d guardam o azimute, ângulo de elevação e o

comprimento do vector, respectivamente.

SatPos macro argumentos: double tx, SNV eph

sintaxe: sat.SatPos(tx, eph)

Determina as coordenadas ECEF x, y e z do satélite sat através do método descrito no Anexo A.2.

RotationCorection macro argumentos: double traveltime

sintaxe: sat.RotationCorrection(traveltime)

Determina as coordenadas ECEF x, y e z do satélite sat corrigidas do termo de rotação da Terra.

I.7 Algoritmos

Esta secção engloba os módulos que contêm os vários algoritmos de posicionamento

descritos no Capítulo 3:

Bancroft função argumentos: utilizador *roverpos, matriz B

sintaxe:DoubleDiferences(&roverpos, B)

Determina a posição do utilizador através do algoritmo de Bancroft.

Iterativo função argumentos: utilizador *roverpos, matriz B

sintaxe:DoubleDiferences(&roverpos, B)

Determina a posição do utilizador através do algoritmo iterativo.

Page 110: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

Anexo I. Ficheiros C++ Desenvolvidos

92

CSC função argumentos: utilizador *roverpos, SNV *Ephr, MCA *MCAsatr, MCA *MCAsatrold, int *sv,

double rcvtime, double *soma, double *rhoold

sintaxe:DoubleDiferences(&roverpos, Ephr, MCAsatr, MCAsatrold, sv, rcvtime, soma, rhoold)

Determina a posição do utilizador através do algoritmo carrier-smoothed-code.

DoubleDiferences função argumentos: utilizador *roverpos, SNV *Ephr, SNV *Ephm, int *sv, MCA *MCAsatm,

MCA *MCAsatr, double rcvtime, double mastersat

sintaxe:DoubleDiferences(&roverpos, Ephr, Ephm, sv, MCAsatm, MCAsatr, rcvtime, mastersat)

Determina a posição do utilizador através do algoritmo de duplas diferenças via pseudo-distância.

Lambda função argumentos: utilizador *roverpos, SNV *Ephr, SNV *Ephm, int *sv, MCA *MCAsatm,

MCA *MCAsatr, double rcvtime, double mastersat, int *DDorder, matriz N1

sintaxe:DoubleDiferences(&roverpos, Ephr, Ephm, MCAsatm, MCAsatr, sv, rcvtime, mastersat,

DDorder, N1)

Determina a posição do utilizador através do método LAMBDA.

Page 111: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

93

Referências

[1] Fultron Corporation, Trends in Space Commerce, U.S. Department of Commerce,

2000, (http://www.nesdis.noaa.gov/space/library/reports/2001-06-trends.pdf).

[2] Brandon, J.M., The Global Positioning System: Global Developments and

Opportunities, U.S. International Trade Commission, May, 2003

(http://hotdocs.usitc.gov/docs/pubs/research_working_papers/IPR-ID06.pdf).

[3] Kim, D., Langley, R.B., “GPS Ambiguity Resolution and Validation:

Methodologies, Trends and Issues”, in International Symposium on GPS/GNSS,

Seoul, Korea, Nov. 30-Dec. 2, 2000.

[4] Hatch, R., “Instantaneous ambiguity resolution.”, Proceedings of KIS’90, Banff,

Canada, 10-13 September 1990, pp. 299-308

[5] Frei, E., Beutler, G., “Rapid static positioning based on the fast ambiguity resolution

approach "FARA": theory and first results”, Manuscripta Geodaetica, Vol. 15, No.

4, 1990, pp. 325-356.

[6] Euler, H.-J., Landau, H., “Fast GPS ambiguity resolution on-the-fly for real-time

application.”, Proceedings of Sixth International Geodetic Symposium on Satellite

Positioning, Columbus, Ohio, 17-20 March 1992, pp. 650-659.

[7] Teunissen, P.J.G., “Least-squares estimation of the integer GPS ambiguities”, Invited

lecture, Section IV Theory and Methodology, IAG General Meeting, Beijing, China,

1993. Also in Delft Geodetic Computing Centre LGR series, No. 6, 16pp.

[8] Martin-Neira, M., Toledo, M., Pelaez, A., “The null space method for GPS integer

ambiguity resolution”, Proceedings of DSNS’95, Bergen, Norway, April 24-28 1995,

Paper No. 31, 8 pp.

[9] Chen, D., Lachapelle, G., “A comparison of the FASF and least-squares search

algorithms for on-the-fly ambiguity resolution.”, Navigation: Journal of The Institute

of Navigation, Vol. 42, No. 2, 1995, pp. 371-390.

[10] Kim, D., Langley, R.B., “An optimized least-squares technique for improving

ambiguity resolution performance and computational efficiency.”, Proceedings of

ION GPS’99, Nashville, Tennessee, 14-17 September 1999, pp. 1579-1588.

Page 112: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

94

[11] http://www.iag-aig.org/

[12] Grewal, M.S., Weill, L.R., Andrews, A.P., Global Positioning Systems, Inertial

Navigation, and Integration, John Wiley & Sons, Inc., 2001.

[13] http://gps.faa.gov/

[14] Bao, J., Tsui, Y., Fundamentals of Global Positioning System Receivers, John Wiley

& Sons, Inc., 2000.

[15] http://www.navcen.uscg.gov/

[16] Borre, K., Strang, G., Linear Algebra, Geodesy, and GPS, Wellesley-Cambridge

Press, 1997.

[17] Stein, V., Determination of the ionospheric electron density distribution from time

delay measurements of VHF-satellite tracking data, European Space Agency, Paris,

France, December 1976.

[18] Bancroft, S., “An algebraic solution of the GPS equations”, IEEE Transactions on

Aerospace and Electronics System, 1985, 21(7), 56-59.

[19] Ming, Y., Chen, K., “Performance Assessment of a Noniterative Algorithm for

Global Positioning System (GPS) Absolute Positioning”, Proc. Natl. Sci. Counc.

ROC (A) Vol. 25, No. 2, 2001, pp. 102-106.

[20] Parkinson, B.W.; Spilker, J.J., Global Positioning System: Theory and Applications,

Vol. 1-2, American Institute of Aeronautics and Astronautics Journal, Inc., 1996.

[21] Jonge, P.J., Tiberius, C.C.J.M., “The LAMBDA method for integer ambiguity

estimation: implementation aspects”, in LGR-Series publications of the Delft

Geodetic Computing Center, No. 12, 1996.

[22] Teunissen, P.J.G., Jonge, P.J., Tiberius, C.C.J.M., “The Volume of the GPS

Ambiguity Search Space and its Relevance for Integer Ambiguity Resolution”,

presented at ION GPS-96. Kansas City, Missouri, US. September 17-20, 1996.

[23] Teunissen, P.J.G., Jonge, P.J., Tiberius, C.C.J.M., “Computational aspects of the

LAMBDA method for integer ambiguity estimation”, 1996.

[24] Chang, X., Yang, X., Zhou, T., “MLAMBDA: Modified LAMBDA Method for

Integer Ambiguity Determination”, Department of Geodesy and Geomatics

Engineering, University of New Brunswick, Canada, 2004.

[25] Jonge, P.J., Tiberius, C.C.J.M., “Fast Positioning Using the LAMBDA Method”, in

LGR publications of the Delft Geodetic Computing Center, 1996.

[26] Liu, G., Zhu, Y., Zhou, R., “A new approach of single epoch GPS positioning for

landslide monitoring”, July, 2005.

Page 113: UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO … · Figura 2.8 – Erros de multi-percurso. ... Tabela 5.4 – Detalhes do teste ... OMEGA - Optimal Method

95

[27] Novatel, GPS Position Accuracy Measures, APN-029 Rev 1, 3 December 2003,

(http://www.novatel.com/Documents/Bulletins/apn029.pdf).

[28] Thales Navigation, Ashtech Solutions Datasheet, 2005. (http://professional.

magellangps.com/assets/datasheets/AshtechSolutions_EN_l.pdf).

[29] Kalman, R.E., “A New Approach to Linear Filtering and Prediction Problems”,

ASME Transactions, Series D: Journal of Basic Engineering, Vol. 82, pp. 35-45,

1960.

[30] http://www.wgs84.com/

[31] Casaca, J., Matos, J., Baio, M., Topografia Geral, Lidel Edições Técnicas, 3º Ed,

2000, pag. 29.

[32] http://www.scs.fsu.edu/~burkardt/cpp_src/linpack/linpack.html/

[33] Thales Navigation, AC12 Receiver Datasheet, 2005. (http://professional.

magellangps.com/assets/datasheets/AC12_EN_l.pdf).

[34] Thales Navigation, GG24 Receiver Datasheet, 2005. (http://professional.

magellangps.com/assets/datasheets/GG24_EN_l.pdf).

[35] Thales Navigation, DG14 Receiver Datasheet, 2002. (http://professional.

magellangps.com/assets/datasheets/DGSeries_EN_l.pdf).