Você está na página 1de 66

INPE-13020-PRE/8297

PROPOSTA PRELIMINAR DE ARQUITETURA PARA


IMPLEMENTAO DE SOLUES DE NAVEGAO VIA GPS
EM TEMPO REAL

Allan Tavares Anholetto*


Rafael Augusto Galo Fernandes*

*Bolsista FEG/UNESP

Relatrio Final de Projeto de Iniciao Cientfica (PIBIC/CNPq/INPE), orientado pelos


Drs. Hlio Koiti Kuga e Rodolpho Vilhena de Moraes

INPE
So Jos dos Campos
2005

PROPOSTA PRELIMINAR DE
ARQUITETURA PARA
IMPLEMENTAO DE SOLUES DE
NAVEGAO VIA GPS EM TEMPO
REAL
RELATRIO FINAL DE PROJETO DE INICIAO CIENTFICA
(PIBIC/CNPq/INPE)

Allan Tavares Anholetto (FEG/UNESP)


E-mail: mec01023@feg.unesp.br
Rafael Augusto Galo Fernandes (FEG/UNESP, Bolsista PIBIC/CNPq)
E-mail: rafaelfernandes85@gmail.com
Dr. Hlio Koiti Kuga (DME/INPE, Orientador)
E-mail: hkk@dmc.inpe.br
Dr. Rodolpho Vilhena de Moraes (DMA/UNESP, Orientador)
E-mail: rodolpho@feg.unesp.br

Maio de 2005

SUMRIO
Captulo 1 Introduo.......................................................................................................1
Captulo 2 Sistema GPS...................................................................................................3
2.1 Descrio do Sistema GPS.................................................................................3
2.2 Estrutura do Sistema GPS..................................................................................4
2.2.1 Segmento Espacial........................................................................................4
2.2.2 Segmento de Controle..................................................................................5
2.2.3 Segmento Usurio.........................................................................................6
2.3 Sinais dos Satlites GPS.....................................................................................6
2.4 Principais Fontes de Erro...................................................................................9
2.5 Mtodo para Solues de Navegao atravs de GPS.......................................9
2.5.1 Mtodo Geomtrico......................................................................................9
2.5.2 Mtodo Algbrico.......................................................................................10
2.5.3 Mtodo Estatstico......................................................................................13
Captulo 3 Receptor Orbsat 2002 RPL...........................................................................18
3.1 Resultados da primeira fase do projeto............................................................18
3.2 - Especificaes do carto receptor GPS ORB 2002 RLP...............................19
3.3 - Componentes funcionais de um receptor GPS..............................................21
3.4 Descrio geral..............................................................................................22
3.5 Descrio funcional.......................................................................................23
Captulo 4 Interface Serial..............................................................................................30
4.1 Princpios da Comunicao Serial ...............................................................30
4.2 Como Funciona Viso Geral .....................................................................31
4.2.1 Transmisso................................................................................................31
4.2.2 Recepo.....................................................................................................33
4.2.3 Pinos e Fios.................................................................................................33
4.2.4 Cablagem entre portas seriais.....................................................................34
4.2.5 Endereo de E/S e IRQ...............................................................................35
4.2.6 Interrupes................................................................................................35
4.2.7 Fluxos de Dados (velocidades)...................................................................36
4.2.8 Caminho do Fluxos de Dados (buffers)......................................................38
4.3 UARTs.......................................... ...............................................................39
4.4 Formas de Onda de Tenso ..........................................................................41
4.4.1 Tenso para um bit.....................................................................................41

4.4.2 Sequncia de Tenses para um byte...........................................................41


4.4.3 Paridade......................................................................................................42
4.4.4 Formando um byte (framing).....................................................................42
4.4.5 Assncrono e Sincronizado.........................................................................43
Captulo 5 Proposta de arquitetura do software de tempo real................................44
5.1 Arquitetura Fsica..........................................................................................44
5.2 Ambiente de Software...................................................................................48
5.3 Arquitetura de Software................................................................................49
5.4 Status Atual e Resultados Preliminares ........................................................51
Captulo 6 Concluses e Passos Futuros........................................................................54
Referncias Bibliogrficas............................................................................................56

CAPTULO 1
INTRODUO
O sistema NAVSTAR-GPS (NAVigation Satellite Timing and Ranging Global Position
System) um sistema de posicionamento e navegao que utiliza satlites em rbitas
circulares. Seu desenvolvimento controlado pelo Departamento de Defesa dos EUA e
destina-se a satisfazer as exigncias tanto civis quanto militares na determinao precisa de
posio, velocidade e tempo em um sistema de referncia comum e em qualquer lugar sobre
ou acima da superfcie terrestre.
Determinar a rbita de um satlite artificial significa determinar a posio e a velocidade do
satlite, em relao a um referencial inercial, utilizando um conjunto de medidas de
observao do satlite. Estas observaes podem ser obtidas atravs de sistemas de
rastreamento em solo ou de sensores a bordo do veculo espacial. Tcnicas modernas de
observao so atualmente capazes de medir a distncia entre o instrumento e o satlite com a
preciso de centmetros ou at melhor.
Ao longo dos anos, os requisitos das misses ficaram mais rigorosos. Com isto, os mtodos de
determinao de rbita tiveram que se tornar mais precisos, sem aumentar gastos
computacionais e financeiros. Vrios mtodos foram desenvolvidos e aperfeioados com
relao ao modelo do sistema dinmico, s medidas e s tcnicas de estimao.

Determinao de rbita usando sistema de navegao por satlites, como o sistema GPS,
uma atividade que surgiu no comeo dos anos 80. Desenvolvimentos recentes tm mostrado
preciso de poucos centmetros para misses de satlites com altmetro. Um ambiente de
operao de ps-processamento necessrio para atingir esta preciso, com um atraso do
tempo que pode atingir uma semana ou mais (Bertiger et al., 1994).

A disponibilidade a bordo de conhecimento contnuo e preciso da rbita de um satlite


artificial torna prtica a idia de aumentar o grau de autonomia do sistema de controle,
reduzindo a necessidade de intervenes em solo. No INPE, j existem alguns trabalhos sendo
realizados para realizar controle autnomo de satlites artificiais usando GPS e outros
sistemas, como os trabalhos de Orlando et. al. (1997) e Orlando e Kuga (1999, 2000a, 2000b).

O INPE (Instituto Nacional de Pesquisas Espaciais) vem determinando rbita de seus satlites
com muito sucesso utilizando estaes de rastreamento terrestres localizadas em pontos
estratgicos pelo Brasil. Mas, a necessidade de desenvolver algoritmos com maior preciso e
baixo custo computacional sempre um desafio constante. A cada dia, novas tcnicas vm
sendo desenvolvidas, como a utilizao do sistema GPS. Porm, este tipo de tecnologia ainda
no foi utilizada pelo INPE ou por qualquer instituto brasileiro.
Assim, este trabalho tem por objetivo investigar, desenvolver, implementar e comparar
solues de navegao possveis atravs do uso de medidas obtidas por receptores GPS, em
ambiente espacial, com computao de solues em tempo real.

CAPTULO 2
SISTEMA GPS
2.1 DESCRIO DO SISTEMA GPS
O sistema GPS (Global Positioning System) um sistema de navegao por satlites
desenvolvido pela Fora Area dos Estados Unidos durante as dcadas de 70 e 80 e colocado
em operao na dcada de 90.
O princpio bsico de funcionamento do GPS determinar a posio e a velocidade
tridimensionais e o tempo com alta preciso. O sistema GPS permite ao receptor determinar
sua posio e tempo em qualquer lugar da superfcie terrestre e a qualquer hora utilizando
dados de apenas quatro satlites. O sistema pode ter um nmero ilimitado de usurios
simultaneamente em qualquer parte do mundo.
O princpio de navegao por satlites se baseia no princpio da triangulao, a qual consiste
na transmisso de sinais e dados das posies dos satlites GPS em relao a um sistema de
coordenadas. O receptor mede o tempo de transmisso do sinal, o que permite calcular a
distncia entre o usurio e os satlites GPS, e decifra os dados. Se o relgio do receptor
estiver sincronizado com os relgios dos satlites GPS, a medida das distncias de trs
diferentes satlites GPS, em posio conhecida, permitiro ao usurio calcular a sua posio.
Se o relgio do receptor no estiver sincronizado com os relgios dos satlites, sero
necessrios quatro satlites GPS, sendo o quarto para determinar o desvio do relgio, uma
quantidade desconhecida. As medidas da distncia com relgio impreciso so chamadas de
pseudo-distncia.

Figura 1: Princpio da triangulao ( Fonte: Silva, 2001 )

2.2 ESTRUTURA DO SISTEMA GPS


O Sistema GPS compreendido de trs segmentos: Espacial, Controle e Usurio que so
descritos a seguir.

2.2.1 SEGMENTO ESPACIAL


O sistema espacial tem a funo de gerar e transmitir cdigos, a fase da portadora e a
mensagem de navegao e consiste de uma constelao de 28 satlites GPS (24 navegando e
quatro de reserva) em seis planos orbitais com perodo de 11h e 58 min. O raio da rbita
26.560 km com excentricidade de 0,0131. Cada plano da rbita contm quatro satlites
igualmente espaados, como mostra a Figura 3, distribudos de tal forma que fornea uma
visibilidade simultnea de pelo menos quatro satlites para um usurio localizado em quase
qualquer parte do mundo e em qualquer instante. Entretanto, o mesmo satlite se torna visvel
quatro minutos mais cedo a cada dia devido a diferena de quatro minutos por dia, entre a
rbita do satlite e a rotao da Terra. A meta de tempo de vida dos satlites de no mnimo
7,5 anos (Leick, 1994).

Figuras 2 e 3 : Constelao do Sistema GPS ( Fonte: Dana, 1998)

2.2.2 SEGMENTO DE CONTROLE

A funo do segmento de controle produzir o Tempo GPS e as efemrides dos satlites e


gerenciar os veculos espaciais; isto , atualizar periodicamente as informaes que so
transmitidas por todos os satlites, isto inclui as efemrides dos satlites, o status, os dados do
relgio e o Almanaque.
O segmento de controle consiste de uma Estao Mestre de Controle (MCS), localizada na
base de Falcon Air Force prxima a Colorado Springs no Colorado, Estados Unidos, e mais
quatro estaes de monitoramento no Hawaii, Kwajalein, Diego Garcia e Ascension Island.
(Amato-1999)
A localizao de cada estao de monitoramento oferece um monitoramento constante de
cada satlite. Todas as estaes de monitoramento trilham os satlites, determinam a sua
performance operacional, verificam os parmetros, e passam estas informaes para a Estao
de Controle Mestre. A estao Mestre pode ento determinar os parmetros de rbita de um
satlite corrente, e transferir dados de correo para o mesmo satlite.

Figura 4 : Localizao das estaes de monitoramento ( Fonte: Dana, 1998)

3.2.3 SEGMENTO USURIO


O segmento usurio consiste de receptores militares e civis especialmente designados para
receber, decodificar e processar os sinais dos satlites. O usurio observa e grava as
transmisses de vrios satlites e aplica algoritmos de soluo para obter a sua posio,
velocidade e tempo.
Os receptores GPS convertem os sinais recebidos em estimativas da posio, velocidade e
tempo. Quatro satlites so exigidos para calcular as quatro dimenses de X, Y, Z (posio) e
tempo. Existem diversos tipos de receptores para vrias aplicaes, dentre eles esto
receptores para uso aeronutico e marinho, placas para uso no computador, de uso porttil,
para mapeamento, mdulos, placas (boards), entre outros.
2.3 SINAIS DOS SATLITES GPS
O sinal GPS transmitido em duas freqncias: um sinal primrio de 1575.42 MHz (chamado
de L1) e uma transmisso secundria de 1227.6 MHz (chamado de L2). Estes sinais so
gerados sincronamente de modo que o usurio que recebe os dois sinais pode diretamente
calibrar o atraso ionosfrico e aplicar correes apropriadas. Entretanto, muitos usurios civis
somente usam a freqncia L1.
Os sinais so modulados com dois tipos de cdigos. Existem duas modulaes na freqncia
mais alta (L1), mas somente uma nica modulao (protegida) em L2. A freqncia L1
carrega a mensagem de navegao e os sinais do cdigo SPS (descrito em seguida). A
freqncia L2 usada para medir o atraso ionosfrico atravs de receptores equipados com
PPS (Precise Positioning Service.

O cdigo C/A (Coarse/Acquisition) transmitido em 1.023 MHz e modulado na freqncia


L1. de uso civil e sempre transmitido, mas est sujeito a degradaes. O uso deste sinal
chamado de Servio Padro de Posicionamento (SPS). O cdigo P (Precise) , algumas vezes,
chamado de cdigo protegido e transmitido em 10.23 MHz (10 vezes mais rpido que C/A),
modulado em L1 e L2. Devido a sua modulao mais alta, o sinal mais preciso. O sinal
fornece o Servio de Posicionamento Preciso (PPS). de uso militar e para usurios
autorizados. Esta caracterstica conhecida como Antispoofing (A-S). Quando criptografado,
o cdigo P torna-se cdigo Y (ou P/Y).
Os operadores militares do sistema tm a capacidade de degradar intencionalmente a preciso
do sinal C/A, dessincronizando o relgio do satlite ou incorporando pequenos erros nas
efemrides transmitidas, que chamada Disponibilidade Seletiva (SA).

Figura 5 : Sinais do satlite GPS ( Fonte: Dana, 1998)

Os receptores GPS recebem continuamente uma srie de dados dos satlites GPS na forma de
bits modulados em sinais. Estes dados so chamados de mensagem de navegao e so
transmitidos nas freqncias L1 (1575.42 MHz) e L2 (1227.6 MHz). Estas informaes so
computadas e controladas pelo segmento de controle e freqncias so usadas para regular o
atraso ionosfrico. Os sinais L1 e L2 transmitem ao usurio as efemrides do satlite, as
correes do relgio do satlite, parmetros atmosfricos, parmetros orbitais de todos os
satlites e outros dados relevantes sobre o sistema em geral.

Os observveis GPS so as distncias deduzidas das diferenas medidas de tempo ou fase


baseadas na comparao entre os sinais recebidos e os sinais gerados pelo receptor. Pode-se
dizer que esta diferena de tempo simplesmente o tempo que o sinal leva para se propagar
do satlite antena do receptor. Portanto, um dado observvel a diferena de tempo
multiplicada pela velocidade da luz. O observvel assim obtido chamado de pseudo-

distncia, porque utiliza dois relgios assincronizados com o tempo, um no satlite (aquele
que governa a gerao do sinal do GPS) e outro no receptor (aquele que governa a gerao da
rplica do cdigo), alm de incluir todos os erros atmosfricos e de propagao do sinal. O
receptor pode determinar este erro de sincronizao junto com as suas coordenadas de posio
e velocidade.
Os observveis bsicos do GPS so a pseudo-distncia do cdigo, que chamamos somente por
pseudo-distncia, e a pseudo-distncia da fase da portadora, que chamamos somente por fase
da portadora.
A equao fundamental da pseudo-distncia, medida em metros, dada por:

c = + c[t GPS (t ) t u (t )] + ION + TRO + = c ,

onde =

(xGPS x )2 + ( yGPS y )2 + (z GPS z )2

(1)

a distncia geomtrica entre a antena do

satlite GPS e a do receptor; x, y, e z (incgnitas) so as coordenadas da posio da antena do


receptor GPS; xGPS, yGPS, e zGPS (enviadas) so as coordenadas da posio do satlite GPS; c
a velocidade da luz (conhecida); tGPS o erro do relgio do satlite GPS com respeito ao
tempo do GPS (calculado); tu o erro de sincronizao entre o relgio do satlite GPS e o
receptor GPS, chamado de desvio do relgio do receptor (incgnita); t aqui utilizado para
explicitar a dependncia temporal de tGPS e tu; ION e TRO so os erros devidos aos atrasos
ionosfricos e troposfricos, respectivamente (estimados); so os rudos de observao
(estimados ou negligenciados); e o tempo de propagao do sinal observado entre o
satlite GPS e a antena do receptor (medido).
A medida da fase da portadora definida como a diferena entre a fase da portadora do
satlite GPS recebida pela antena do receptor e a fase do oscilador interno do receptor na
poca da medida. A equao fundamental da fase da portadora, medida em ciclos, dada por:

c = + c[t GPS (t ) t u (t )] ION + TRO + N + ,

(2)

onde o comprimento de onda da portadora (conhecido) e N o nmero inteiro de ciclos


completos da portadora (incgnita).

2.4 PRINCIPAIS FONTES DE ERRO


As principais fontes de erro do sistema GPS so as seguintes:
a) erro devido geometria dos satlites com relao ao observador;
b) desvio dos relgios dos satlites;
c) atraso de propagao e processamento dos sinais pelos circuitos dos satlites;
d) erros devidos a trajetrias mltiplas (reflexes) dos sinais;
e) efeitos da atmosfera sobre a velocidade e a trajetria de propagao dos sinais
transmitidos;
f) erros devidos resoluo, no sincronismo, e rudo, do receptor do usurio;
g) erro na determinao da posio dos satlites (erro de efemrides).

CAPTULO 3
MTODOS PARA SOLUES DE NAVEGAO ATRAVS DE GPS
Existem diferentes mtodos programveis para se obter solues de navegao atravs do
GPS. Eles podem ser classificados em:

Mtodos geomtricos

Mtodos algbricos

Mtodos estatsticos.

3.1 MTODO GEOMTRICO


Os mtodos geomtricos so basicamente mtodos simples que fornecem uma estimativa
inicial grosseira para a soluo de navegao, que pode ser refinada posteriormente atravs
dos outros mtodos, ou atravs de filtros estatsticos. O mtodo descrito em Lopes e Kuga
(1997) ser implementado. Outro mtodo geomtrico alternativo seria aquele descrito em
Kleusberg (1994).
Para produzir um mtodo simples e sistemtico para resolver o problema de inicializao do
algoritmo, o bias ser negligenciado. Assim, uma soluo linear aproximada pode ser
encontrada da seguinte maneira:

y 2pi r Ri

= r T r + RiT Ri 2 RiT r ,

(3)

onde r o vetor posio do satlite usurio, Ri o vetor posio do i-simo satlite GPS.
Subtraindo a Eq. (3) de sua mdia aritmtica em i, temos:
y 2pi < y 2pi > RiT Ri < RiT Ri > 2[Ri < Ri >] r ,
T

(4)

onde <.> representa o operador de mdia aritmtica.


Definindo:
~
R [... : Ri < Ri >: ...]T

(5)

) ]

T
1
... : RiT Ri < RiT Ri > y 2pi < y 2pi > : ...
2

(6)

resulta em:

~
Rr z .

(7)

Uma soluo aproximada deste sistema linear determinado pode ser dada por:

~ ~ ~
r 0 = ( R T R ) 1 R z .

(8)

~
A condio de existncia para a pseudo inversa de R pode ser especificada da seguinte
maneira: um nmero n 4 de satlites GPS no coplanar deve ser observado pelo usurio.
3.2 MTODO ALGBRICO

O nvel de preciso da soluo de navegao baseada em medidas GPS depende do tipo de


medida coletada (depende do tipo e qualidade do receptor), da durao que as medidas foram
coletadas e como elas foram modeladas e processadas. Se as medidas GPS so processadas
em tempo real, o problema de posicionamento mais simples consiste em resolver
simultaneamente um conjunto de equaes de navegao baseado em nica freqncia.
No mnimo quatro medidas simultneas so necessrias para formar a soluo. A entrada para
esse algoritmo so os vetores posio (3 x 1) dos satlites GPS e as medidas pseudoranges dos
satlites GPS para o receptor. O mtodo algbrico de soluo de navegao estudado e
proposto computacionalmente eficiente e numericamente estvel, conforme Bancroft
(1985).
As equaes do sistema de navegao GPS so geralmente resolvidas com uma aplicao do
mtodo de Newton:

x n +1 = x n + H 1 (t f ( x n )) ,

(9)

onde x um vetor compreendendo a coordenada de posio do usurio junto com a correo


do relgio, t um vetor de medidas de quatro pseudo-distncia e H uma matriz de derivada
parcial H = fx.
Faamos x e {s i : 1 i n} indicar as coordenadas de posio do satlite e usurio no sistema
de coordenadas cartesianas; e {t i : 1 i n} as medidas da pseudo-distncia coletadas pelo
usurio de cada um dos n satlites:
t i = d ( x, s i ) + b ,

(10)

onde d(x,y) a distncia de x a y e b a correo do relgio. Definimos os vetores de dados de


colunas 1 x 4:
a i = ( s iT t i ) T , 1 i n .

(11)

Definimos:
A = (a1

a2

a3

...

an )T ,

(12)

i 0 = (1 1 1 ... 1) T ,

(13)

r = (r1

(14)

r2

r3

... rn ) T ,

onde ri ,1 i n calculado por:

ri = a i , a i / 2 .

(15)

Calculamos a inversa generalizada:


B = ( A T WA) 1 A T W ,

(16)

onde W a matriz positiva simtrica. Calculamos os vetores coluna 1 x 4 u e v de:


u = Bi 0

(17)

e
v = Br

(18)

juntamente com os coeficientes E,F,G, definidos por:


E = u, u ,

(19)

F = u, v 1 ,

(20)

G = v, v .

(21)

Resolvendo a equao quadrada:


E 2 + 2 F + G = 0

(22)

para o par de razes 1, 2 .


y1, 2 = 1, 2 u + v .

(23)

Ento com a identificao


y T = ( x T b) T

(24)

tambm o par x1,b1 ou o par x2,b2 resolver o problema GPS para a posio do usurio e
correo do relgio. Para diferenciar a soluo real, substitumos de volta as equaes
definindo as pseudo-distncia originais.
3.3 METODO ESTATSTICO

O mtodo estatstico utiliza redundncia de medidas para estatisticamente obter a melhor


soluo. Os sinais GPS podem ser recebidos e decodificados adequadamente pelos receptores
GPS. Se os sinais forem recebidos adequadamente, um conjunto de trs satlites seria
suficiente para suprir as dificuldades geomtricas (Lopes e Kuga, 1988, 1997).

Porm, principalmente devido a derivas no relgio, um bias introduzido na distncia


computada geometricamente (pseudorange) tornando essencial o uso de quatro satlites.
Em trabalhos anteriores, Lopes e Kuga propuseram um mtodo estatstico de mnimos
quadrados para resolver o problema de determinao de rbita atravs de medidas GPS. O
mtodo era especialmente adequado para medidas processadas por um nmero redundante de
satlites GPS, tornando-o distinto de mtodos convencionais que invariavelmente devem
analisar a matriz DOP (Dilution Of Precision).
A vantagem do mtodo consiste no processamento de todas as medidas vlidas de
pseudorange assumindo precises no mnimo igual ou melhor que as convencionais. Outro
benefcio do mtodo a no necessidade de analisar vrias matrizes DOP 4 x 4 para
selecionar a melhor configurao entre os satlites visveis.
Para determinao de posio esttica de baixa preciso, a soluo de navegao pode ser
obtida, por exemplo, atravs do algoritmo proposto por Lopes e Kuga (1988):

Minimizar L(r, i ) =

1
ai r ( Ri + i )
2 i

Sujeito a it i = y i2 , i = 1, 2,K, n,
Dados { ( Ri , y i , ai ), i = 1, 2,K , n; n 3}

(25)

(26)

(27)

onde r o vetor posio do satlite usurio (ou alvo); Ri o vetor posio do i-simo satlite
GPS; i o vetor posio relativo do satlite usurio em relao ao i-simo satlite GPS; yi o
pseudo-range (pseudo-distncia) medido a partir do i-simo satlite GPS; e ai um peso
positivo. Assume-se que tanto yi quanto Ri esto corrompidos por erros aleatrios noviesados (unbiased), yi e Ri com covarincias dadas por:
E [(y i ) 2 ] = yi2 ,
E [ Ri t Ri ] = Ri2 I

(28)

onde E[.] o operador esperana; I a matrix identidade; e os desvios-padro yi e Ri so


quantidades conhecidas. Pode-se ento modificar levemente o mtodo para levar em conta os
erros sistemticos. O mtodo estendido ento formulado como:

Minimizar L * (r, i , y ) = L (r, i ) +

1
a * 2 y,
2

Sujeito a it i = ( y pi + y ) 2 , i = 1, 2, K , n,
Dados {a*, ( Ri , y i , ai ), i = 1, 2,K, n; n 4 }

(29)

(30)

(31)

onde ypi a medida de pseudo-range, y uma constante a ser adicionada a ypi para correo
do bias, e a* um peso positivo. Dessa forma assume-se que o pseudo-range pode ser
modelado por:
y pi = y i + b + y i

(32)

onde y i o verdadeiro range e b o bias, com E [b] = 0, E [b 2 ] = b2 , e b est diretamente


relacionado preciso t do relgio do receptor GPS, ou seja b = c t , onde c a
velocidade da luz. Embora b tenha sido modelado como erro aleatrio de mdia nula, deve-se
lembrar que de fato ele representa um bias porque o que adicionado a todas as medidas de
range y i o mesmo valor constante: uma simples realizao b. Os pesos positivos ai e a* so
supostos obedecerem ao vnculo de normalidade:
a * + ai = 1.

(33)

A derivao da soluo pode ser obtida atravs do mtodo dos multiplicadores de Lagrange.
Definindo-se uma funo de custo modificada:

l* = L * +

1
i ai [ it i ( y pi + y ) 2 ] ,

2 i

(34)

e impondo as condies de otimalidade:


l *
= ai [r ( Ri + i )]t = 0,
r
i

(35)

l *
= ai {i i [r ( Ri + i )]}t = 0,
i

(36)

l *
= a * y i ai ( y pi + y ) = 0,
y
i

(37)

e levando em conta o vnculo (30) segue-se que:

a u [ r R
i

( y pi + y )] = 0

(38)

r Ri
= ( y pi + y ) u i ,
1 + i

(39)

a * y = i ai ( y pi +y ) ,

(40)

i =

onde ui o versor dado por:

ui =

| r Ri |
1 .
y pi + y

(41)

Resolvendo as equaes (41) e (39) para i tem-se:

i =

| r Ri |
1 .
y pi + y

(42)

Usando o vnculo de normalidade (33) junto com a equao (42) acima, pode-se escrever:
y = ai [ | r Ri | y pi ]

(43)

e finalmente definindo-se a quantidade U como U = ai u i resulta:


i

f (r Ri , y pi ) ai (u i U ) [ r Ri y pi ] = 0 .
i

(44)

Este conjunto de equaes (41), (43) e (44) fornece a soluo fechada para a determinao de
posio do satlite, utilizando medidas GPS viesadas, via mtodo de mnimos quadrados.
Estas equaes podem ser resolvidas numericamente via o mtodo de Newton-Raphson
quando um chute inicial ro est disponvel:
r k +1 = r k F 1 f (r k Ri , y pi ) ,

F=

f
r

(45)
(46)

r Ri , yi

Desde que os valores obedeam a relao:

r Ri yi = 0 ,

(47)

Isto implica que:


F = UU T ,

(48)

Onde a matriz definida por:


= ai ui uiT ,

(49)

Para F no singular, ui s no pode estar no mesmo cone; por exemplo, a linha de visada dos
satlites de GPS no pode cruzar a Esfera Celeste em pontos coplanares.
Para precises realsticas no chute inicial, este mtodo converge em poucos passos a um alto
nvel de preciso.

CAPTULO 4
INTERFACE SERIAL
4.1 PRINCPIOS DA COMUNICAO SERIAL

A porta serial convencional (no a nova porta USB) uma porta E/S muito antiga. Quase
todos os PC's as possuem. A especificao comum RS-232 (ou EIA-232). O conector para a
porta serial visto muitas vezes como um ou dois conectores de 9 pinos (em alguns casos 25
pinos) na parte posterior do PC.
O computador precisa saber em qual PORTA SERIAL est conectado o modem para poder
se comunicar com ele. As portas seriais em micros PC so chamadas de COM1, COM2,
COM3 e COM4.
Embora se possam ter quatro portas de comunicao disposio, existem algumas
consideraes a se fazer quanto correta configurao:
Cada porta COM possui uma chamada de interrupo que ela usar para informar ao
micro

que

est precisando de ateno.

Essas interrupes so chamados de IRQ

(Interrupt Request), e so numerados de 0 a 15. Para as portas seriais, existem dois IRQs:
PORTA

IRQ

COM1

IRQ4

COM2

IRQ3

COM3

IRQ4

COM4

IRQ3

Assim sendo, no recomendado ter dois perifricos em duas portas com IRQs iguais, ou
seja, ao mesmo tempo na COM1 e COM3 ou na COM2 e COM4.
Se o modem for INTERNO e se puder configurar gosto a porta serial a usar, devem ser
seguidas algumas recomendaes:

COM1: Use essa porta se seu micro no tiver uma conexo serial j como COM1 (o

que no provvel). comum de se ter um mouse instalado na COM1.

COM2: Se seu micro estiver equipado com somente uma porta serial na COM1, e se

voc no j est usando a COM2 para outro equipamento, use essa porta ( a
configurao mais comum e os modems normalmente vm com a COM2 por default).

COM3 ou COM4: Somente em casos especiais, normalmente no o caso.

Alm de poder configurar a porta serial, os modems internos tambm permitem configurar o
IRQ a ser usado, sendo que assim voc pode contornar o problema dos IRQs j exposto.
Mas a porta serial mais do que apenas isso. Inclui a eletrnica associada, que deve produzir
sinais de acordo com a especificao EIA-232. Um pino usado para enviar bytes de dados e
outro para receber bytes de dados. Um outro pino um terra para sinais comum. Os outros
pinos "teis" so usados principalmente para fins de sinalizao com uma tenso negativa
constante significando "desligado", e uma tenso positiva constante significando "ligado".
4.2 - COMO FUNCIONA - VISO GERAL
4.2.1 TRANSMISSO

Transmisso o envio de bytes pela porta serial para fora do computador. O que segue uma
explicao de como funcionam portas seriais mais antigas e obsoletas (com buffers de apenas
1 byte). Quando o computador quiser enviar um byte para fora, a UCP envia o byte pelo bus
dentro do computador ao endereo de E/S da porta serial. A porta serial toma o byte, e o
envia, um bit de cada vez (uma corrente serial de bits) pelo pino de transmisso do conector
serial.
A maior parte do trabalho na porta serial executado pelo chip UART (Universal
Asynchronous Receiver Transmitter) ou similar. O programa acionador de dispositivo,
rodando na UCP, envia um byte ao endereo de E/S serial. Esse byte vai para um buffer de
transmisso de 1 byte na porta serial. Quando uma porta est pronta para transmiti-lo, ela
move esse byte para o registrador de deslocamentos para transmisso e envia-o pelo pino de
transmisso bit a bit. Agora o buffer de transmisso est vazio e um outro byte pode ser nele
colocado enquanto o byte original estiver sendo transmitido do registrador de deslocamentos
para transmisso. Uma vez que um byte foi completamente transmitido, a porta toma um
outro byte de seu buffer e envia-o tambm bit a bit. A porta continua a fazer isto enquanto
houver um novo byte no buffer de transmisso.

Para que no haja quaisquer falhas na transmisso, a UCP deve manter o buffer de
transmisso de 1 byte preenchido. Ela o faz usando interrupes. Assim que um byte foi
movido para fora do buffer de transmisso de 1 byte, e est a ser transmitido do registrador de
deslocamentos para transmisso, o buffer de transmisso est vazio e requer outro byte. A
porta serial ento emite uma interrupo para dizer que est pronta para o prximo byte.
A interrupo na verdade uma tenso aplicada num fio dedicado quela porta serial (embora
em alguns casos, o mesmo fio possa ser compartilhado por mais de uma porta). O acionador
de dispositivos notificado sobre a interrupo e verifica os registradores em endereos para
saber o que aconteceu. Ele descobre que o buffer de transmisso da porta serial est vazio e
esperando por mais um byte. Ento, se houver mais bytes para enviar, o acionador envia o
prximo byte para o endereo de E/S serial. Este prximo byte deve chegar quando o byte
anterior est ainda no registrador de deslocamentos de transmisso e ainda sendo transmitido
bit a bit. Este novo byte vai para o buffer de transmisso mas no pode ser movido para o
registrador de deslocamentos enquanto o byte anterior no tiver sido completamente
transmitido. Quando o ltimo bit tiver sido enviado, as seguintes trs aes ocorrem
simultaneamente:
1.

Um novo byte movido do buffer de transmisso para o registrador de deslocamentos

para transmisso.
2.

A transmisso deste novo byte bit a bit comea.

3.

Uma outra interrupo emitida para dizer ao acionador de dispositivos enviar um

outro byte para o buffer de transmisso.


Dizemos, portanto, que a porta serial acionada por interrupes. A cada vez a porta serial
emite uma interrupo, a UCP envia-lhe um outro byte. Uma vez que um byte tiver sido
enviado ao buffer de transmisso pela UCP, ento a CPU fica livre para executar alguma
outra atividade, at receber a prxima interrupo.
A porta serial transmite bits a uma velocidade fixa, que escolhida pelo usurio, e s vezes
chamada de taxa em bauds. A porta serial adiciona bits extras a cada byte, de modo que h
muitas vezes 10 bits por byte. A uma taxa (tambm chamada de velocidade) de 19,200 bits
por segundo (bps), ou seja 1920 bytes/s (e tambm 1920 interrupes/s).

4.2.2 RECEPO

Receber bytes por uma porta serial semelhante a envi-los, s que na direo oposta.
tambm acionado por interrupes. Para o tipo obsoleto de porta serial com buffers de um
byte, quando um byte recebido completamente, vai para um buffer de recepo de 1 byte.
Ento a porta d CPU uma interrupo para dizer-lhe que apanhe um byte, de modo que a
porta serial tenha espao para armazenar o byte que est sendo recebido.
4.2.3 PINOS E FIOS

Antigos PCs usavam conectores de 25 pinos, mas somente 9 pinos eram realmente usados,
por isso hoje a maioria dos conectores tm 9 pinos. Cada um dos 9 pinos so ligados a um fio.
Alm dos fios isolados usados para transmitir e receber dados, um outro pino (e fio) o terra
para sinais. A tenso em qualquer fio medida em relao a esse terra. H mais fios ainda que
so para controle (sinalizao) somente. Todos esses sinais poderiam ser enviados atravs de
um nico fio, porm, existe um fio separado dedicado a todo tipo de sinal.
9 Pinos

25Pinos Sigla

Nome

Significado

TxD

Transmitir Dados

Transmitir byte para fora do PC

RxD

Receber Dados

Receber bytes para dentro do PC

RTS

Request To Send

Controle de fluxo RTS/CTS

CTS

Clear To Send

Controle de fluxo RTS/CTS

DSR

Data Set Ready

Pronto para comunicar

20

DTR Data Terminal Ready

DCD

Data Carrier Detect

Modem conectado a outro

22

RI

Ring Indicator

Linha telefnica tocando

Pronto para comunicar

Terra para sinal

LISTA DOS PINOS da PORTA SERIAL (--> direo para fora do PC)

Alguns (ou todos) esses fios de controle so chamados "linhas de controle de modem". Fios
de controle de modem esto em estado ligado de +12 volts ou em estado desligado de -12
volts. Um desses fios serve para sinalizar ao computador para parar de enviar bytes para fora
da porta serial. Por outro lado, um outro fio sinaliza ao dispositivo acoplado porta serial a
parar de enviar bytes para o computador. Se o dispositivo acoplado um modem, outros fios

podem dizer ao modem para desligar a linha telefnica ou dizer ao computador que uma
conexo foi feita ou que a linha telefnica est chamando (algum est tentando chamar para
dentro).
Somente 3 dos 9 pinos possuem uma atribuio fixa: transmitir, receber e terra para sinal.
Estes so fixados pelo hardware e no se pode alter-los. Mas as outras linhas de sinal so
controladas por software e podem fazer (e significar) quase qualquer coisa. Entretanto elas
podem estar em um de dois estados: positivo (+12 volts) ou negativo (-12 volts). Positivo
"ligado" e negativo "desligado".
4.2.4 CABLAGEM ENTRE PORTAS SERIAIS

Um cabo de uma porta serial sempre se conecta a uma outra porta serial. Um modem ou outro
dispositivo que se conecta a outra porta serial tem uma porta serial nele embutida. Para
modems, o cabo sempre vai direto: pino 2 vai para pino 2, etc. Diz-se que o modem um
DCE (Data Communications Equipment) e que o computador um DTE (Data Terminal
Equipment). Assim, para conectar um DTE a um DCE usa-se um cabo direto.
Para conectar um DTE a outro DTE usa-se um cabo de modem nulo, e existem muitas
maneiras de ligar os fios num tal cabo. Existem boas razes pelas quais funciona assim. Uma
que os sinais so unidirecionais. Se o pino 1 envia um sinal para fora, mas incapaz de
receber qualquer sinal, ento obviamente no podes conect-lo ao pino 1 de um mesmo tipo
de dispositivo. Se isso for feito, ambos enviariam sinais um ao outro mas nenhum deles
seriam capazes de receber qualquer sinal. Existem dois modos de lidar com esta situao. Um
ter dois diferentes tipos de equipamento onde o pino 1 do primeiro tipo envia o sinal ao pino
1 do segundo tipo (o que recebe o sinal). Isto o que ocorre quando um PC (DTE)
conectado a um modem (DCE). Existe um segundo modo de faz-lo sem ter dois diferentes
tipos de equipamento: conectar o pino 1 (um pino que envia) a um pino que recebe no mesmo
equipamento. assim que so conectado 2 PCs um ao outro ou um PC a um terminal (DTE a
DTE). O cabo usado para isto chamado cabo de modem nulo. As designaes dos pinos
seriais foram originalmente definidas para conectar um terminal burro a um modem. O
terminal era um DTE (Data Terminal Equipment - equipamento terminal de dados) e o
modem um DCE (Data Communication Equipment - equipamento de comunicao de dados).
Hoje o PC usualmente um DTE ao invs de um terminal (mas terminais reais podem ainda
ser usados desta forma). Os nomes dos pinos so os mesmos em ambos, DTE e DCE. As
palavras "receber" e "transmitir" so usadas do ponto de vista do PC (DTE). O pino de

transmisso do PC transmite ao pino de "transmisso" do modem (mas realmente o modem


est recebendo os dados deste pino, de modo que do ponto de vista do modem este seria um
pino de recepo). A porta serial foi originalmente concebida para ser usada a fim de conectar
um DTE a um DCE, o que torna o cabo simples: todos os fios diretos, sem cruzamentos.
Assim, quando se conecta um modem raramente se necessita preocupar-se qual pino qual.
Mas as pessoas queriam conectar um DTE a outro DTE (por exemplo, um computador a um
terminal) e vrias formas foram encontradas para fazer isto, fabricando-se vrios tipos de
cabos especiais. Neste caso, qual pino se conecta a qual outro pino se torna muito importante.
4.2.5 ENDEREO DE E/S E IRQ

Como o computador necessita comunicar-se com cada porta serial, o sistema operacional
deve saber que cada porta serial existe e onde se encontra (seu endereo de E/S). O Sistema
Operacional tambm precisa saber qual fio (nmero IRQ) a porta serial vai usar para solicitar
servio da UCP do computador. A porta serial pede servio enviando uma interrupo neste
fio. Assim, toda porta serial deve armazenar em sua memria no voltil ambos, seu endereo
de E/S e seu nmero IRQ (pedido de interrupo). Para o PCI bus no funciona exatamente
deste jeito, desde que o PCI bus tem seu prprio sistema de interrupes. Mas como o BIOS
ciente do PCI faz com que os chips mapeiem essas interrupes PCI para IRQs, parece que se
comporta exatamente como descrito acima. As portas seriais so rotuladas 0x3F8, 0x3E8, etc.
correspondendo a COM1, COM2 etc. Cada qual desses nomes se refere a uma certa porta
serial fsica e determinado pelo endereo de E/S armazenado no chip de hardware da porta
fsica. Quando um endereo de E/S posto no bus de endereos do computador, um outro fio
energizado. Isto diz tanto memria principal ignorar o endereo quanto a todos os
dispositivos que possuem Endereos de E/S (tal como a porta serial) a escutarem no endereo
para ver se ele corresponde. Se o endereo corresponder, ento o dispositivo de E/S l os
dados no bus de dados.
4.2.6 INTERRUPES

Quando a porta serial pega um byte, ela sinaliza a UCP para buscar o byte enviando um sinal
eltrico conhecido como interrupo a um condutor dedicado. Ela enviar tambm essa
interrupo se houver uma demora inesperada enquanto espera o prximo byte chegar
(conhecido como tempo terminal (timeout)). Cada condutor de interrupo (dentro do
computador) tem um nmero (IRQ) e a porta serial deve saber qual condutor usar para
sinalizar. Por exemplo, 0x3F8 normalmente usa o IRQ nmero 4, conhecido como IRQ4.

Interrupes so emitidas sempre que a porta serial precisa chamar a ateno da UCP.
importante fazer isso em uma forma oportuna, pois o buffer dentro da porta serial contm 1
bytes entrante. Se a UCP no remover tal byte prontamente, ento no haver espao
sobrando para qualquer byte entrante e ocorrer transbordamento, e bytes se perdero. No h
Controle de Fluxo para evitar isto.
Interrupes so tambm emitidas quando a porta serial acabou de enviar todo o byte de seu
pequeno buffer de transmisso para fora do cabo externo. Ento ela tem espao para mais 1
byte saindo. A interrupo para notificar a UCP daquele fato de modo que ela possa por
mais bytes no pequeno buffer de transmisso a ser transmitido. Tambm, quando uma linha
de controle de modem muda de estado, uma interrupo emitida.
4.2.7 FLUXOS DE DADOS (VELOCIDADES)

Dados (bytes representando letras, figuras, etc.) fluem para dentro e para fora da porta serial.
Taxas de fluxo (tais como 56k bits/segundo) so incorretamente chamadas de "velocidades".
importante entender que a velocidade mdia freqentemente menor que a velocidade
especificada. Tempos de espera resultam em menor velocidade mdia. Estas esperas podem
incluir longas esperas de talvez um segundo devido ao Controle de Fluxo. No outro extremo
pode haver esperas muito curtas de vrios micro-segundos entre bytes. Se o dispositivo na
porta serial (tal como um modem) no pode aceitar toda a velocidade da porta serial, ento a
velocidade mdia deve ser reduzida.
Controle de fluxo o poder de parar o fluxo de bytes num fio. Inclui tambm meios de
reiniciar o fluxo sem perda de bytes. O controle de fluxo necessrio em situaes que
necessitam permitir mudanas bruscas na taxa de fluxo.
O sintoma da falta de controle de fluxo a falta de pedaos de dados em arquivos enviados
sem o benefcio do controle de fluxo. Isto ocorre porque quando o transbordo acontece,
usualmente mais do que uns poucos bytes transbordam e so perdidos. Freqentemente
centenas ou mesmo milhares de bytes se perdem, e todos em pedaos contnuos. Pode-se
utilizar controles de fluxos via software ou mesmo por hardware. Para modems, melhor usar
controle de fluxo de "hardware" que usa dois fios dedicados a "controle de modem" para
enviar os sinais de tenso para "parar" e "iniciar". O controle de fluxo de software usa os fios

de receber e transmitir para enviar os sinais de iniciar e parar. Para isso usa os caracteres de
controle ASCII DC1 (iniciar) e DC3 (parar). So apenas inseridos na corrente regular de
dados. O controle de fluxo de software no apenas reage mais lentamente, como tambm no
permite o envio de dados binrios pelo modem pois os dados binrios podem conter os
caracteres de controle DC1 ou DC3 usados no controle de fluxo.
Controle de Fluxo RTS/CTS e DTR/DSR
RTS/CTS e DTR/DSR so controles de fluxo em hardware e funcionam da mesma forma.
Para obter fluxo de controle RTS/CTS, necessita-se selecionar hardware de fluxo de controle.
Isto ativa o hardware de fluxo de controle RTS/CTS no acionador de dispositivos. Ento
quando um DTE (tal como um PC) quiser parar seu fluxo de entrada, nega o RTS. Negar o
"Request To Send" (-12 volts) significa "Solicito NO enviar para mim" (pra o envio).
Quando o PC estiver pronto para mais bytes, ele positiva o RTS (+12 volts) e que o fluxo de
bytes a ele se reinicia. Sinais de fluxo de controle so sempre enviados numa direo oposta
ao fluxo de bytes sendo controlado. Equipamentos DCE (modems) funcionam do mesmo
modo porm envia o sinal de parada para fora do pino CTS. Assim o fluxo de controle
RTS/CTS usa 2 linhas.
Para conexes DCE-DTE as linhas so diretas ento o sinal recebido num pino com mesma
posio relativa que o emissor. RTS-->RTS (PC para modem) e CTS<--CTS (modem para
PC). Para DTE-DTE a conexo tambm fcil de entender. O pino RTS envia e o pino CTS
recebe. Suponha que conectamos dois PCs (PC1 e PC2) atravs de suas portas seriais.
Teremos RTS(PC1)-->CTS(PC2) e CTS(PC1)<--RTS(PC2). Em outras palavras, RTS e CTS
cruzam-se. Tal cabo (com outros sinais cruzados tambm) chamado cabo de "modem nulo".
O que algumas vezes confuso que existe o uso original de RTS, onde significa quase o
oposto da explicao anterior acima. O significado original : solicito te enviar. Esta
solicitao deveria ser enviada de um terminal (ou computador) a um modem que, se
decidisse atender ao pedido, retornaria um CTS positivo de seu pino CTS para o pino CTS do
computador: estar livre para me enviar. Notar que em contraste com o moderno fluxo
bidirecional RTS/CTS, isto apenas protege o fluxo em uma direo: do computador (ou
terminal) ao modem. O uso original parece ser pouco usado hoje em equipamentos modernos
(incluindo modems).

Os Pinos DTR e DSR

Exatamente como o RTS e CTS, estes pinos so pareados. Para conexes DTE-DTE
provavelmente se cruzam. Existem duas maneiras de usar esses pinos. Uma us-los como
substitutos para controle fluxo RTS/CTS. O pino DTR exatamente como o pino RTS,
enquanto que o pino DSR se comporta como o pino CTS. O fluxo de controle DTR o
mesmo que o fluxo de controle DTR/DSR porm somente unidirecional e o pino DSR no
utilizado. Muitos terminais de texto e algumas impressoras usam este tipo de fluxo de
controle.
O uso normal de DTR e DSR o seguinte: Um dispositivo positivando o DTR diz que est
ativo e pronto para operar. Para um modem, o significado de um sinal DTR do PC depende de
como o modem est configurado. Para enviar um sinal DTR manualmente de um PC usando o
comando que ajusta a velocidade de baud a zero. Negar o DTR algumas vezes chamado de
"desligar" (hanging up) mas isto nem sempre acontece.
4.2.8 CAMINHO DO FLUXO DE DADOS, BUFFERS

Alm do buffers de porta serial de 1 byte (no hardware) h ainda um outro buffer. Estes so
um grande par de buffers (talvez 8k) na memria principal tambm conhecidos como buffers
de porta serial. Quando um programa aplicativo envia bytes porta serial, estes so primeiro
guardados no buffer de porta serial de transmisso na memria principal. O par consiste num
buffer de transmisso e um buffer de recepo para a direo oposta ao fluxo de bytes. O
acionador de dispositivos seriais retira digamos 16 bytes deste buffer de transmisso, um byte
de cada vez, e coloca-os no buffer de transmisso. Uma vez no buffer de transmisso, no h
meio de evitar que sejam transmitidos. Eles so ento transmitidos pela porta serial. Quando o
acionador de dispositivos (sob ordens do controle de fluxo) pra o fluxo de bytes para fora do
computador, o que ele realmente pra o fluxo de bytes para fora do grande buffer de
transmisso na memria principal. Mesmo depois que isto aconteceu e o fluxo serial para fora
parou, um programa aplicativo pode continuar enviando bytes para o buffer de transmisso de
8k at que seja preenchido. Quando estiver preenchido, o programa aplicativo no pode enviar
mais bytes (uma instruo "write" num bloco de programa em C) e o programa aplicativo
temporariamente pra de rodar e espera at que algum espao de buffer se torne disponvel.
Mesmo que este programa pare, o computador no necessariamente para de computar. Ele
pode passar a rodar outros processos enquanto espera por uma parada do controle de fluxo.

4.3 UARTs

UARTs (Universal Asynchronous Receiver Transmitter) so pastilhas seriais na placa-me.


Em computadores mais antigos como muitos 486s, as pastilhas estavam na placa de controle
de E/S de disco. A funo dos UARTs converter bytes da barra omnibus dos PCs para uma
corrente de bits serial. O cabo que sai da porta serial tem apenas um fio para cada direo de
fluxo. A porta serial envia uma corrente de bits, um de cada vez. Por outro lado, a corrente de
bits que entra na porta serial pelo cabo externo convertida para bytes (em paralelo) que o
computador pode entender.
Os UARTs tratam dos dados em pedaos com o tamanho de bytes, que convenientemente
tambm o tamanho dos caracteres ASCII. Digamos que tenhamos um terminal ligado ao PC.
Quando um caractere digitado, o terminal passa esse caractere para seu transmissor (tambm
um UART). O transmissor envia aquele byte para a linha serial, um bit de cada vez, a uma
velocidade especfica. No lado do PC, o UART receptor toma todos os bits e reconstri o byte
(em paralelo) e coloca-o num buffer. Existem dois tipos bsicos de UART: UARTs burros e
UARTs FIFO. UARTs burros so o 8250, 16450, e os antigos 16550 e 16650.
Para entender as diferenas entre um UART burro e FIFO (Firs In First Out --entra primeiro
sai primeiro), vamos antes examinar o que ocorre quando um UART enviou ou recebeu um
byte. O prprio UART no pode fazer nada com os dados que passam atravs do mesmo, pois
ele apenas os recebe e os envia. Para os UARTs burros originais, a UCP recebe uma
interrupo do dispositivo serial sempre que um byte enviado ou recebido. A UCP ento
move o byte recebido do buffer do UART para algum lugar da memria, ou d ao UART um
outro byte para enviar. Os UARTs 8250 e 16450 possuem apenas um buffer de 1 byte. Isso
significa que a cada vez que 1 byte enviado ou recebido, a UCP interrompida. A baixas
velocidades de transferncia, isto funciona. Mas, a altas velocidades, a UCP fica to ocupada
em atender ao UART, que no sobra tempo para atender a outras tarefas. Em alguns casos, a
UCP no consegue atender s interrupes em tempo, e o byte no buffer sobrescrito, porque
os dados chegam muito rpido. Isto chamado de "atropelamento" (overrun) ou
"transbordamento" (overflow).
Eis onde os UARTs FIFO so teis. A pastilha FIFO 16550A (ou 16550) vem com buffers
FIFO de 16 bytes. Isto significa que ele pode receber at 14 bytes (ou enviar 16 bytes) antes
que tenha de interromper a UCP. No apenas pode a UCP esperar por mais bytes, como
tambm pode transferir todos os 14 (ou mais) bytes a uma s vez. Embora o limiar (nivel de

disparo) possa ser fixado em 8 ao invs de 14, isto ainda uma grande vantagem sobre os
outros UARTs, que possuem buffers de 1 byte. A UCP recebe menos interrupes, e fica livre
para fazer outras coisas e os dados no so perdidos.
Enquanto a maioria dos PCs possui apenas um 16550 com buffers de 16 bytes, UARTs
melhores possuem buffers ainda maiores. Notar que a interrupo emitida um pouco antes
do buffer ficar cheio (a um "nvel de disparo" de, digamos, 14 bytes para um buffer de 16).
Isto d lugar para alguns bytes mais a serem recebidos durante o tempo em que a interrupo
est para ser atendida. O nvel de disparo pode ser definido para vrios valores permitidos
pelo software do ncleo. Um nvel de disparo de 1 funciona quase como um UART burro
(exceto que tem 15 mais bytes aps emisso da interrupo. Eis uma lista de UARTs. ND o
Nvel de Disparo.
8250, 16450, antigo 16550: Obsoletos com buffer de 1 byte
16550, 16550A, 16c552: buffer de 16 bytes, ND=1,4,8,14
16650: buffer de 32 bytes. Velocidade at 460.8 Kbps
16750: buffer de 64 bytes para enviar, 56 bytes para receber. Velocidade at 921.6 Kbps
Hayes ESP: buffer de 1K-byte

Os obsoletos somente servem para os modems mais lentos que 14,4 kbps (velocidades DTE
at 38400 bps). Para modems modernos necessrio pelo menos um 16550 (que no seja
antigo). Para modems de 56k V.90, eles podem ser bem mais rpidos com um 16650. A
principal vantagem do 16650 o seu buffer maior, pois a velocidade extra no necessria, a
menos que a razo de compresso seja alta.
4.4 FORMAS DE ONDA DE TENSO
4.4.1 TENSO PARA UM BIT

Na porta serial EIA-232, as tenses so bipolares (positivo ou negativo em relao terra) e


devem ser em torno de 12 volts em magnitude (alguns so de 5 a 10 volts). Para os pinos de
transmisso e recepo, +12 volts um bit zero (algumas vezes chamado de "espao") e -12
volts um bit um (algumas vezes chamado de "marca"). Isto conhecido como lgica
invertida, pois normalmente um bit zero ao mesmo tempo falso e negativo, enquanto que
um bit um verdadeiro e positivo. Embora os pinos de transmisso e recepo sejam em
lgica invertida, outros pinos (linhas de controle de modem) so em lgica normal (tenso

positiva sendo verdadeira, ou "ligado" e negativa sendo falsa, ou "desligada"). Tenso zero
no tem significado lgico (usualmente significa que a unidade est desenergizada). Um
intervalo de tenses permitido. As especificaes dizem que a magnitude de um sinal
transmitido deve ser entre 5 e 15 volts mas no deve nunca exceder 25 volts. Qualquer tenso
recebida abaixo de 3 volts indefinido como sinal (mas alguns terminais aceitam uma tenso
menor como vlida). Vem-se algumas vezes declaraes errneas de que a tenso
normalmente 5 volts (ou mesmo 3 volts), mas usualmente 11 a 12 volts.
4.4.2 SEQUNCIA DE TENSES PARA UM BYTE

O pino de transmisso (TxD) mantido a -12 V (marca) em repouso, quando nada est a ser
enviado. Para iniciar um byte a tenso salta para +12 V (espao) para o "start bit" e
permanece em +12 V pela durao (perodo) de um bit. Em seguida vem o bit de baixa ordem
do byte de dados. Se for um bit zero, nada muda e alinha mantm-se em +12 V por outro
perodo de um bit. Se for um bit um, a tenso salta de +12 para -12 V. Depois disso vem o bit
seguinte, e assim por diante. Finalmente, um bit de paridade pode ser enviado e ento um
"stop bit" de -12 V (marca). A linha permanece a -12 V (inerte) at o prximo "start bit".
Notar que no h retorno para zero volts e portanto no existe um modo simples (exceto por
um sinal de sincronizao) de saber onde um bit termina e o prximo se inicia no caso em que
2 bits consecutivos so da mesma polaridade (ambos zero ou ambos um). Um segundo bit de
parada seria tambem de -12 V, a mesma tenso que o primeiro bit de parada. Como no existe
um sinal para marcar os limites entre os bits, o nico efeito do segundo bit de parada que a
linha deve permanecer em -12 V durante duas vezes o tempo. O receptor no tem meios de
detectar a diferena entre um segundo bit de parada e um tempo mais longo entre bytes.
Assim, a comunicao funciona bem se um lado usa um bit de parada e o outro usa dois bits
de parada, mas usando apenas um obviamente mais rpido. Em raros casos 1 1/2 bits de
parada so usados. Isto significa que a linha mantida a -12 V por 1 1/2 perodos de tempo.
4.4.3 PARIDADE

Os caracteres so normalmente transmitidos com 7 ou 8 bits de dados. Um bit de paridade


adicional pode ser (ou no) apenso a esses, resultando num comprimento de byte de 7, 8 ou 9
bits. Alguns emuladores de terminais e terminais antigos no permitem 9 bits. Alguns
proibem 9 bits se 2 bits de parada forem usados, pois isto aumentaria o nmero de bits
demais: 12 bits total. A paridade pode ser definida como mpar, par ou inexistente (paridade
de marca e espao e alguns terminais). Com paridade mpar, o bit de paridade escolhido de

modo que o nmero de bits num byte, incluindo o de paridade, seja mpar. Se um desses bytes
for corrompido por um bit ter sido alterado, o resultado ser um byte ilegal de paridade par.
Esse erro ser detectado e ser for um byte chegando ao terminal, um smbolo de caractere
errado aparece na tela. Paridade par funciona de modo similar com todos os bytes legais
(incluindo o bit de paridade) tendo um nmero par de bits 1. Durante a inicializao, o
nmero de bits por caractere em geral significa o nmero de bits de dados por byte (7 para o
ASCII original e 8 para vrios conjuntos de caracteres ISO). Uma "marca" um bit 1 e um
"espao" um bit 0. Para paridade de marca, o bit de paridade sempre um bit um. Para
paridade de espao, sempre um bit zero. Paridade de marca ou espao desperdia largura de
banda e deve ser evitada quando vivel. "Sem paridade" significa que paridade no
adicionada. Para terminais que no permitem bytes de 9 bits, deve-se selecionar "sem
paridade" quando usar o conjunto de caracteres de 8 bits pois no existem vaga para o bit de
paridade.
4.4.4 FORMANDO UM BYTE (FRAMING)

Na transmisso serial de bytes via portas EIA-232, o bit de baixa ordem sempre enviado
primeiro. As portas seriais de PCs usam comunicao assncrona onde existe um bit de
partida e um bit de parada para marcar o incio e fim de um byte. Isto chamado "framing"
(emoldurao ou enquadramento) e o byte enquadrado as vezes chamado de "frame"
(quadro). Como resultado, um total de 9, 10, ou 11 bits por byte so enviados, sendo 10 o
mais comum. O termo "8-N-1" significa 8 bits de dados, sem paridade, 1 bit de parada. Isto d
10 bits total quando se conta o bit de partida. Um bit de parada quase universalmente usado.
A 110 bits/s (e algumas vezes a 300 bits/s) dois bits de parada eram antes usados, porm hoje
o segundo bit usado somente em situaes muito incomuns.
4.4.5 ASSNCRONO E SINCRONIZADO

A porta serial EIA-232 conforme implementada nos PCs assncrona, que efetivamente
significa que no existe um sinal de relgio com tiques para marcar quando cada bit
enviado. Existem somente dois estados do fio de transmisso (ou recepo): marca (-12 V) ou
espao (+12 V). No existe um estado para 0 V. Assim, uma seqncia de bits 1 transmitida
por apenas -12 V constante sem marcadores entre os bits. Para o receptor detectar os bits
individuais deve sempre ter um sinal de relgio que esteja em sincronismo com o relgio do
transmissor. Tal relgio geraria um tique em sincronismo com cada bit transmitido (ou
recebido). Para transmisso assncrona, o sincronismo realizado cercando cada byte com um

bit de partida e parada (feito por hardware). O receptor escuta na linha por um bit de partida e
quando detecta um dispara os tiques de seu relgio. Ele usa este tique do relgio para medir o
tempo dos prximos 7, 8 ou 9 bits. Na realidade um pouco mais complexo do que isto, pois
vrias amostras de um bit so freqentemente tomadas e isto requer tiques adicionais. Ento o
bit de parada lido, o relgio pra e o receptor espera pelo prximo bit de partida. Assim,
existe sincronismo durante a recepo de um byte nico, mas no existe sincronismo entre um
byte e o prximo.

CAPTULO 5
RECEPTOR ORBISAT ORB 2002 RLP

Na primeira fase do projeto, os algoritmos dos mtodos propostos foram modelados e


implementados em linguagem FORTRAN 90 (Compilador da Microsoft). Em tais algoritmos
aparecem operaes com matrizes cujas subrotinas esto disponveis nas bibliotecas MSIMSL
e MSFLIB, acessveis somente por codificao em Fortran 90. Essas subrotinas no so
compatveis com outras verses do FORTRAN. Os resultados mostraram comparaes entre
os trs mtodos matemticos descritos nesse trabalho, onde simulaes foram realizadas com
a introduo dos dados de efemride para que a soluo pudesse ser efetuada.
Com o sucesso dessa fase, desejou-se que os dados no fossem mais simulados, e sim que eles
fossem recebidos por um receptor GPS. Para isso foi adquirido, um receptor nacional da
marca Orbisat, modelo ORB 2002 RLP.

Figura 6 Receptor ORBISAT ORB 2002 RPL

O ORB 2002 RLP uma soluo para o receptor de Sistema de Posicionamento Global, cujo
diagrama em blocos mostrado na Figura 7.

Figura 7 - Diagrama em blocos do receptor ORB 2002 RLP

O ORB 2002 RLP foi projetado para adquirir e rastrear simultaneamente sinais de 12 satlites
GPS e calcular a posio, a velocidade e o tempo precisos do usurio. A Orbisat oferece um
programa de interface grfica que roda em um IBM-PC, o qual pode ser conectado ao
receptor de GPS atravs de uma ligao RS 232. O receptor ORB 2002 RLP consiste de (vide
Figura 9):

- Terminao frontal de RF com antena

- Correlator

- Mdulo de navegao

- Interface do usurio

Figura 8 - As quatro sees do receptor ORB 2002 RLP.

O sinal GPS L1, recebido atravs de uma antena ativa, sofre uma converso para uma FI de
baixa freqncia na terminao frontal de RF projetada em torno de um conversor para
baixa freqncia VLSI. Este sinal de FI amostrado a uma taxa pr-definida e ento
quantificado em um conversor A/D no interior da terminao frontal de RF. As amostras
quantificadas do sinal de FI so recebidas serialmente pelo processador de sinais digitais
(DSP) e armazenados em um buffer interno. A converso para baixa freqncia deste sinal de
FI armazenado para banda base, a correlao do sinal com o cdigo local, as malhas de
rastreamento de portadora e cdigo, o clculo da posio, da velocidade e do tempo do
usurio, bem como a interface de comunicao com um PC hospedeiro (PC/host), so todos
implementados no software operando no DSP.
Antena: A seo da antena consiste de:

- uma antena operando em 1575,42 MHz (sinal L1)

- um amplificador de baixo rudo (LNA) interno

Figura 9 - Diagramas de irradiao da antena GPS.

A antena recebe o sinal L1 de todos os satlites visveis com quase o mesmo ganho atravs de
diagramas de irradiao hemisfricos (vide Figura 9).
O sinal de satlite na antena bastante fraco (-130 dBm) com uma relao sinal/rudo (SNR)
menor que -16 dB. O amplificador de baixo rudo interno compensa a perda de sinal no cabo
de RF. As principais funes da seo da antena GPS so:

- Recepo do sinal GPS L1 a 1575,42 MHz

- Amplificao dos sinais de satlite recebidos

Terminao frontal de RF: A terminao frontal de RF foi projetada em torno de um

conversor para baixa freqncia de RF VLSI disponvel comercialmente e de um conjunto de


componentes passivos de RF. Ele recebe o sinal de entrada da antena e fornece ao correlator
um sinal de FI digitalizado convertido para baixa freqncia. A terminao frontal de RF
consiste dos seguintes componentes principais:

- Amplificador de baixo rudo

- Filtro passa-faixa

- Conversor para baixa freqncia VLSI

- Filtro LC

- Filtro SAW

- Relgio de referncia

O sinal L1 de satlite GPS passa inicialmente por um amplificador de baixo rudo e, em


seguida, por um filtro passa-faixa. Na seqncia, convertido para uma FI de baixa
freqncia pelo conversor VLSI.
A converso para baixa freqncia do sinal L1 realizada em trs estgios misturadores para
gerar as freqncias de FI. As freqncias do oscilador local necessrias para as operaes de
mistura so geradas em um sintetizador de freqncias que tem como uma de suas entradas o
clock de referncia. Cada estgio do misturador possui, na seqncia, um filtro passa-faixa e

um amplificador.
A sada final da terminao frontal de RF consiste de um sinal de FI digitalizado de baixa
freqncia a ser processado no prximo estgio, ou seja, no correlator. A terminao frontal
de RF tambm fornece interfaces de sinal para o BITE (autoteste), sinal de clock para o
correlator e nvel de AGC.

As funes principais da terminao frontal de RF so:

- Recepo do sinal GPS na banda L da antena

- Amplificao e filtragem do sinal de RF

- Converso para baixa freqncia do sinal de RF para o sinal de FI

- Digitalizao do sinal de sada de FI em baixa freqncia

Correlator: O correlator recebe da terminao frontal de RF a sada de FI digitalizada em

baixa freqncia e realiza medidas do sinal de satlite. As sadas das medidas so enviadas ao
mdulo de navegao que computa a posio, a velocidade e o tempo do usurio. O correlator
consiste de:

- Buffers para armazenar a FI de baixa freqncia amostrada

- Gerador da portadora

- Gerador de cdigo

As principais funes do correlator so:

- Recepo e armazenamento em buffers do sinal de FI de baixa freqncia


digitalizado

- Converso para baixa freqncia do sinal de FI para banda base

- Processamento paralelo de 12 canais

- Gerao da portadora local

- Gerao dos cdigos C/A locais para 32 satlites

- Correlao do sinal recebido com o cdigo local

- Interface com o mdulo de navegao

A soluo de software para o correlator fornece algoritmos mais eficientes e flexveis.


Mdulo de navegao: O mdulo de navegao recebe medidas realizadas pelo correlator a

partir do sinal de satlite. As medidas de pseudodistncia e distncia delta rastreadas pelo


correlator so utilizadas pelo mdulo de navegao para estimar a posio do usurio e outros
parmetros.
O mdulo de navegao consiste dos seguintes mdulos:

- Gerenciamento da base de dados do satlite

- Seleo de satlite

- Gerenciamento de canal

- Soluo de posio, velocidade e tempo

- Interface com o correlator e a interface do usurio

- Execuo de multitarefas em tempo real

- Processador de dados medidos

- Interface com o relgio de tempo real e a memria no voltil

- Aplicao de correes de DGPS

- Gerador de tempo preciso

- Suporte de dados

- Interface RS 232

O algoritmo de clculo de posio tal que quando a posio determinada com 3 satlites, a
VDOP 1,0.
Interface do usurio: O software de interface do usurio fornecido com o receptor opera

num IBM-PC conectado ao receptor atravs de uma conexo RS 232. Utilizando o software,
voc pode:

Monitorar satlites que esto sendo procurados e rastreados

Mostrar a posio, a velocidade e o tempo do usurio

Alterar os parmetros da porta DGPS

Realizar o login de vrias mensagens NMEA

Alterar os ajustes de mscara de elevao

Ajustar o receptor para os parmetros de fbrica

Iniciar o receptor a frio

Configurar o receptor para o modo power down

Alterar os ajustes de vrias portas

Armazenagem na EEPROM: A EEPROM usada para armazenar periodicamente

parmetros diversos e de navegao enquanto o receptor encontrar-se operacional. Na


prxima vez em que o receptor for ligado, os dados armazenados na EEPROM sero
carregados no receptor.
A armazenagem desses parmetros pode levar um certo tempo, dependendo da quantidade de
dados. Se a alimentao principal for desligada durante a transferncia desses dados, a
armazenagem pode no se concretizar na EEPROM.

Por exemplo, os dados de almanaque so armazenados na EEPROM quando o receptor


obtiver dados que esto com um ms de diferena daqueles armazenados na EEPROM.
O tempo de armazenagem para isso pode levar cerca de 20 segundos. Os dados de efemride
so armazenados sempre que o receptor obtiver nova efemride. Isso pode levar cerca de 1,5
segundo por satlite. Os parmetros armazenados so:

- Efemrides para 12 satlites, almanaque

- Posio do usurio, dados de ID (identificao)

- Periodicidade de todas as mensagens NMEA

- Ajustes de comunicao para as portas do host e do DGPS

- Modo DGPS

- ngulo de mscara, limite HDOP

- Taxa de atualizao de fixao

- Configurao PTTI

- Manter altitude, manter posio

- Filtro de posio, filtro de velocidade, solicitao de extrapolao

O receptor no recupera os seguintes parmetros:

- Modo de medida crua

- Modo power down

Memria flash: A memria flash mantm o cdigo GPS e proporciona espao para

armazenagem de dados. O receptor dispe de uma memria flash de 512 kbytes, na qual o
usurio pode armazenar seus dados em 192 kbytes. A memria flash diferente da EEPROM
no modo pelo qual armazena dados. Na memria flash, os dados no podem ser sobrescritos
antes de se apagar um determinado espao de memria.
A organizao da memria flash apresentada abaixo:

Organizao da memria Flash

A verso atual do ORB 2002 RLP suporta somente a memria flash SST 39F040.
Nas mensagens flash, quando o usurio especifica um endereo 00000, este corresponde ao
endereo 0x40000 na memria flash. Portanto, o endereo especificado as mensagens flash
um endereo relativo. Para sobrescrever dados em um determinado local, o segmento de
dados do usurio deve ser apagado totalmente utilizando a mensagem flash de pagar. Quando
o apagamento flash realizado, o segmento de dados do usurio apagado e o receptor sofre
um reset de software.
Exemplo: Para a mensagem de escrita flash ACFLW,000000,03,12,AB,34*<CS><CR><LF>,
os dados 12,AB,34 so armazenados no local de memria 0x40000 e quando os dados so
lidos pela mensagem de leitura flash $ACFLR,000000,03*<CS><CR><LF>, os dados sero
lidos do local de memria 0x40000 e apresentados ao usurio numa mensagem $ACFLD.

CAPTULO 6
PROGRAMAO DETALHADA

O que primeiro se fez foi o planejamento da forma em que o software de transmisso e


recepo em tempo real seria programado. Para isso estudaram-se as arquiteturas, tanto fsica
quanto de software, pois seriam necessrios saber quais as limitaes fsicas e virtuais do
projeto.

6.1 ARQUITETURA FSICA

Conforme o esquema abaixo, a recepo de dados realizada atravs de equipamentos


montados e conectados a um computador. A antena acoplada junto ao receptor Orbisat
conectada pela porta serial COM1 atravs de um cabo RS232.

Figura 11 Arquitetura Fsica

Existem diversas mensagens em diferentes formatos que o receptor ORBISAT pode enviar a
partir de uma mensagem de comando enviada a este receptor pela porta serial. A diferena
deste receptor em relao aos outros tipos existentes no mercado que ele capaz de fornecer
dados brutos dos satlites, isto , aqueles dados que no foram equacionados e que, portanto,

possam ser utilizados pelo usurio para diferentes finalidades (no nosso caso, o
equacionamento sob diferentes algoritmos).

Na realidade o que ocorre nos receptores

convencionais que a soluo dada para o usurio, porm o aparelho funciona como uma
caixa preta, sem que tenhamos acesso a soluo numrica e o equacionamento dessa soluo.
Como temos a inteno de que no futuro do trabalho a soluo gerada deva sofrer alteraes a
fim de melhorar a soluo, necessitamos ter acesso aos mtodos e algoritmos de soluo de
navegao.

GPS

Mensagem de
navegao de interesse

Receptor GPS
caixa preta

Soluo de Navegao

Figura 12:Esquema do receptor GPS: caixa preta

Para a anlise estamos interessados em duas das mensagens do receptor, as quais ele envia no
formato binrio (customizado) atravs da porta serial, so elas: dados de mensagem sem
tratamento (dados crus) e dados crus de efemride.
DADOS DE MENSAGEM SEM TRATAMENTO OU CRUS

Esta mensagem utilizada para enviar as medidas cruas e a efemride ao host. O modo de
dados crus pode ser ativado utilizando-se a mensagem $ACMCC com B como parmetro. Se
o modo de dados crus for habilitado, dados crus de medida sero transmitidos por default.
Esta mensagem possui o perodo fixo de 1 segundo.
3F3F AF07 UUUU WWWW SSSSSSSS NNNNNNNN R1 R2 R3 R4 R5 R6 R7 R8 R9 R10
R11 R12 CS LF
Descrio fornecida pelo fabricante:
3F3F ? Cabealho da mensagem
AF07 ? Identificao da mensagem
UUUU ? Reservado
WWWW ? 2 bytes do nmero da semana do GPS com MSB transmitido primeiro.

SSSSSSSS ? 4 bytes de contagem de segundos a partir do incio da atual semana do GPS,


com MSB transmitido primeiro. A faixa deste campo de 0 a 604799.
NNNNNNNN ? 4 bytes do nmero de nanosegundos dentro de um segundo, com MSB
transmitido primeiro. O tempo total obtido adicionando-se o tempo em segundos obtido no
campo anterior com o campo nanosegundos. A faixa deste campo de 0 a 999999999.
R1.R12 ? Medidas cruas para todos os canais. Ri (i = 1 a 12) possui o seguinte formato:
VV SS PPPPPPPPPPPP DDDDDDDD AA UU
VV ? 1 byte de validade da palavra transmitida com MSB primeiro. (0x80 indica medida
vlida, 0x00 indica medida invlida)
SS ? 1 byte de PRN transmitido com MSB primeiro.
PPPPPPPPPPPP ? 6 bytes de pseudodistncia em metros.
O nmero representado utilizando-se o seguinte formato:
sinal * (1.mantissa) * 2expoente
O bit MS do primeiro byte o bit de sinal (0 significa um nmero positivo, 1 significa
um nmero negativo). Os prximos 7 bits do primeiro byte no so utilizados. O segundo
byte contm o expoente para o nmero. O expoente no formato excede 127 (expoente
acrescido de 127).
Os 4 bytes restantes contm a mantissa de 32 bits. Assume-se um 1 implcito na frente da
mantissa.
DDDDDDDD ? 4 bytes de distncia delta em m/s. Os primeiros 2 bytes contm o
componente inteiro. Os prximos 2 bytes contm a componente fracionria. Um nmero
positivo representado por uma parte inteira positiva e uma parte fracionria sem sinal. Um
nmero negativo representado como o complemento de 2 (o complemento de 2 realizado
no nmero de 32 bits incluindo ambos os componentes inteiro e fracionrio).
AA ? representa a relao sinal/rudo da portadora do sinal do satlite
UU ? 1 byte reservado
CS ?
XORing todos os bytes comeando pelo cabealho da mensagem (3F3F) at o byte que

precede o check sum. Calcula check sum.


LF ? mudar de linha (0x0A)

DADOS CRUS DE EFEMRIDE

Esta mensagem pode ser ativada utilizando-se a mensagem $ACEPH Esta mensagem ser
gerada sempre que o receptor coletar nova efemride para um satlite. O comando efetivo
somente se o modo de dados crus estiver ativado.
Ao receber esta mensagem, os dados de efemride sero enviados aos satlites para os quais o
receptor tem efemride. Em um segundo, os dados de efemride sero enviados para qualquer
satlite. Os dados para os outros satlites sero enviados nos segundos subseqentes, um aps
o outro.
Por exemplo, se h 10 satlites com efemrides, os dados de efemrides sero enviados
durante 10 segundos. A solicitao de PRNs dos SV depende da disponibilidade de
efemride.
3F3F AF08 UUPP ZYXX WWWW E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E11 E12
E13 E14 E15 E16 E17 E18 E19 E20 E21 CS LF
Descrio fornecida pelo fabricante:
3F3F Cabealho da mensagem
AF08 ID da mensagem
UU No utilizado (reservado)
PP PRN do SVZ Os dois bits mais significativos so reservados O prximo bit o bit de
validade. A totalidade dos dados de efemride so vlidos somente se este bit for 1. O bit
menos significativo a flag do intervalo de ajuste, que indica o intervalo de ajuste da curva
utilizada pelo segmento de controle para determinar os parmetros da efemride conforme a
seguir:
0 = 4 horas
1 = maior que 4 horas
Y Preciso da distncia do usurio (URA)
XX Contedo dos dados de efemride (IODE)
WWWW Semana de referncia da efemride
Parmetros da efemride (E1 a E21)
Cada parmetro da efemride possui 6 bytes.
O nmero representado utilizando-se o seguinte formato:
Sinal * (1.mantissa) * 2expoente

O bit MS do primeiro byte o bit de sinal (0 significa um nmero positivo, 1 significa


um nmero negativo). Os prximos 7 bits do primeiro byte no so utilizados.
O segundo byte contm o expoente para o nmero. O expoente no formato excede 127
(expoente acrescido de 127). Os 4 bytes restantes contm a mantissa de 32 bits. Assume-se
um 1. implcito na frente da mantissa.
E1 Tempo dos dados de clock (segundos)
E2 Instante de referncia da efemride (segundos)
E3 Correo do atraso de grupo (Tgd, em segundos)
E4 Offset do clock (segundos)
E5 Deriva do clock (segundo/segundo)
E6 Taxa de deriva do clock (segundo/segundo2)
E7 Crs (rad)
E8 Crc (rad)
E9 Cus (rad)
E10 Cuc (rad)
E11 Cis (rad)
E12 Cic (rad)
E13 Diferena mdia de deslocamento (rad/s)
E14 Anomalia mdia no instante de referncia (rad)
E15 Excentricidade
E16 Raiz quadrada do semi-eixo maior (m^1/2)
E17 Longitude do nodo ascendente (right ascension) no instante de referncia (rad)
E18 ngulo de inclinao no instante de referncia (rad)
E19 Argumento do perigeu (rad)
E20 Taxa de longitude do nodo ascendente (rad/s)
E21 Taxa do ngulo de inclinao (rad/s)
CS Check sum (byte wise)
LF Mudar de linha
A adoo do modo de dados crus possvel quando o receptor est no modo normal com taxa
de atualizao de fixao de 1 segundo. Quando os dados de efemride estiverem sendo
enviados, a mensagem $GPGSV no ser enviada, ou seja, haver descontinuidade na
mensagem GSV (se ela estiver ativada).

6.2 AMBIENTE DE SOFTWARE

O programa de comunicao serial est sendo desenvolvido em ambiente de linguagem C++ e


compilado no Microsoft Visual Studio 6. Esse compilador foi escolhido a fim de que todo o
trabalho de programao de linguagem de alto nvel realizado na etapa anterior pudesse ser
aproveitado. Na realidade, a vantagem de se utilizar esse compilador o fato de que durante a
compilao, todas as extenses de arquivo (tanto F90 como C++) so reconhecidas e
compiladas ao mesmo tempo.
Um outro cuidado que teve de ser levado em conta a escolha do Sistema Operacional, no
nosso caso o Windows 98, o qual um dos sistemas que ainda permite que o usurio tenha
controle da porta serial. Os sistemas operacionais superiores ao Windows 98 (2000, NT, XP)
requerem uma configurao diferenciada e detalhada para que se possa realizar a
comunicao serial, isto , esses sistemas operacionais exigem que algumas configuraes de
carter de administrador (privilegiado) sejam pr-determinadas.
Antes de qualquer operao, o software tem comandos que estabelecem a comunicao com a
porta serial, como a velocidade (9600 bauds), o nmero de paridade (None), o nmero de stop
bits (2 stop bits), nmero de dados (8 dados) e em qual porta ser utilizada para a
comunicao (COM 1 ou COM 2).
6.3 ARQUITETURA DE SOFTWARE

O driver de comunicao desenvolvido tem como idia base a recepo de dados crus dos
satlites de GPS a partir do receptor ORBISAT. Isso pode ser feito a partir de uma mensagem
enviada ao receptor pelo software de comunicao com o intuito de comand-lo. Essa
mensagem tem um formato padro, fornecido pelo fabricante do receptor, padro que varia de
fabricante para fabricante. Da por diante somente as mensagens de interesse sero enviadas
pela porta serial.
Uma vez enviadas as mensagens pelo receptor, temos que receb-las e interpret-las conforme
a estrutura descrita pelo fabricante. Pelo estudo da estrutura das mensagens verifica-se que as
mesmas podem ter um tamanho mximo; tambm que cada mensagem possui um cabealho
especfico e que no final da mesma existe um argumento chamado CHECK SUM (CS) que
nada mais do que um argumento onde possvel verificar se todos os dados da mensagem
foram corretamente recebidos (o nmero de bytes enviado pelo receptor conferido).

MENSAGEM

TAMANHO MXIMO EM BYTES

Dados crus AF07

186

Efemride AF08

138

Tamanho mximo de cada mensagem recebida

Em verdade, o que o software faz uma espcie de filtragem que consiste em receber tudo o
que chega pela porta serial e comparar com o cabealho da mensagem. Uma vez que o
cabealho corresponde ao esperado, o software d seqncia ao programa, que recebe
armazenando os argumentos da mensagem. Observe que este filtro est sujeito a erros, uma
vez que o cabealho pode, por uma coincidncia bem remota, estar localizado no meio de uma
mensagem no desejada pelo usurio.
Os argumentos da string so armazenados pelo software de maneira que j estejam separados
em blocos, onde cada um desses blocos armazena uma informao de interesse do usurio.
Nota-se pela anlise da estrutura das mensagens recebidas que as dimenses desses blocos so
diferentes e, alm disso, as maneiras de converso para nmeros decimais de cada um desses
blocos binrios feita seguindo regras diferentes fornecidas pelo fabricante.
Os dados so enviados de byte em byte pelo receptor e um problema que surge que eles
somente podem ser lidos na forma decimal, um byte por vez. Quando o dado possui uma
maior faixa (mais de um byte), no conseguimos ter o seu equivalente decimal de maneira
direta. Como soluo, propus a converso desses argumentos do tipo char (1byte) para oito
valores do tipo int (2 bytes), simplesmente convertendo decimal em binrio, com o propsito
de formar um string equivalente de nmeros binrios. A partir destes nmeros inteiros (que
na realidade so binrios), faz-se a converso desejada conforme manda a especificao do
fabricante.
A soluo dada foi desenvolver um algoritmo para cada tipo deste aglomerado de dados.
Assim, foi possvel comparar quatro tipos de dados a serem interpretados, portanto
desenvolveu-se quatro algoritmos diferentes.
Os dados foram classificados da seguinte maneira: dados de 2 bytes, 4 bytes, tipo mantissa e
tipo fracionrio. Os dados de dois e de quatro bytes tm uma converso idntica, porm, por
simplificao e opo do programador foram separados nas suas dimenses, obtendo-se uma

maior agilidade do programa. Os dados de um nico byte so automaticamente convertidos


em decimal, por esse fato nenhuma converso posterior fora adotada.
Cada um dos algoritmos converte um byte em oito nmeros inteiros (bits) alm de fazer a
converso desejada em decimal seguindo a regra de 2 bytes, 4 bytes, mantissa ou fracionrio,
conforme detalhado na mensagem padro do fabricante.
Com os dados dos satlites j convertidos em decimal podemos pensar em partir para a
soluo do problema. A partir dos dados at ento obtidos uma nova rotina rodada a qual
converter esses dados crus e dados de efemride em coordenadas X, Y, Z e pseudodistncias
dos satlites, dados esses necessrios para efetuar as solues de navegao conforme os
clculos preparados em ambiente FORTRAN na fase anterior do projeto.
Um detalhe a ser comentado que as rotinas em Fortran sofreram algumas alteraes para
serem compatveis ao compilador da Compac, j que na verso anterior das rotinas existiam
comandos ligados a algumas bibliotecas pertencentes verso F90 do Fortran, comandos
esses incompatveis com o Visual Studio 6.0.
Uma vez com os dados estruturados, esses podem ser injetados nos algoritmos da soluo de
navegao, obtendo-se as coordenadas X, Y, Z e o tempo do usurio.
Uma viso mais geral do algoritmo do software pode ser visualizada no seguinte fluxograma:

Figura 13- Fluxograma do Algoritmo

CAPTULO 7
STATUS ATUAL E RESULTADOS

7.1 CODIFICAO DO SOFTWARE

O software se inicia com o setup da comunicao serial, onde alguns parmetros so ajustados
de acordo com o tipo de comunicao que desejamos realizar, isto , de acordo com as
configuraes pr-estipuladas pelo fabricante do equipamento e de qual porta estamos
utilizando para a comunicao.
_outp( COM1 + 1 , 0x00 ); // Turn off interrupts - COM1
_outp( COM1 + 3 , 0x80 );

// Linha de controle do registrador - Set DLAB ON

_outp( COM1 + 0 , 0x0C );

// Divisor latch low byte

_outp( COM1 + 1 , 0x00 );

// Divisor latch high byte

_outp( COM1 + 3 , 0x03 );

// 8 Bits, No Parity, 1 Stop Bit

_outp( COM1 + 2 , 0xC7 ); // FIFO Control Register


_outp( COM1 + 4 , 0x0B ); // Turn on DTR, RTS, and OUT2

Figura 13: Codificao dos parmetros da comunicao serial

Foram realizados testes para conferncia destes parmetros a fim de verificar se realmente
estaramos tendo uma comunicao serial. Para isso adaptamos um software que imprimiria
na tela qualquer caractere captado pela porta serial. Aps essa verificao, ilustrada na figura
abaixo, partimos para a fase de envio de comandos pela porta. Sabe-se que a partir de alguns
comandos (mensagens) o receptor alteraria as mensagens que estavam sendo enviadas. A
partir da verificao visual obtemos a certeza de que o setup e a comunicao serial estavam
funcionando corretamente.

??

;&!3l( C$M%. g. dQ'7-

$ACSTM,AO,0,AS,0,RC,0,EP,0,RF,0,TS,1,*44
??

; D#E) C#`+. g-lg. dOJ -

$ACSTM,AO,0,AS,0,RC,0,EP,0,RF,0,TS,1,*44
??

; 1) C!VL5. g $. dL-

$ACSTM,AO,0,AS,0,RC,0,EP,0,RF,0,TS,1,*44
??

;0- 0) C x. g4K. dJ -|

$ACSTM,AO,0,AS,0,RC,0,EP,0,RF,0,TS,1,*44
??

;F ]c) C?bU . gH*. dH;6-

$ACSTM,AO,0,AS,0,RC,0,EP,0,RF,0,TS,1,*44
??

;\ d ) C . gjU. dE ,

$ACSTM,AO,0,AS,0,RC,0,EP,0,RF,0,TS,1,*44
??

;r ~Y@) C yu. gd a. dC[-

$ACSTM,AO,0,AS,0,RC,0,EP,0,RF,0,TS,1,*44
??

; K) C Ws/ gB*. dA --g

$ACSTM,AO,0,AS,0,RC,0,EP,0,RF,0,TS,1,*44
Figura 14: Ilustrao dos dados recebidos na comunicao serial.

Os dados que aparecem na tela so os caracteres capturados pela porta serial. Esses dados
esto codificados num cdigo chamado ASCII, podendo ser interpretados, como caracteres
binrios, de um byte a cada caractere mostrado na codificao ASCII. A tabela de caracteres
ASCII contm os valores decimais e hexadecimais dos padres de caracteres estendidos
ASCII (American Standards Committee for Information Interchange). O padro de caracteres
estendido inclui o set de caracteres ASCII e 128 outros caracteres para grficos e desenhos
lineares, freqentemente chamados de IBM set de caracteres. Segue abaixo uma lista com a
codificao ASCII e suas correspondncias em decimal e hexadecimal.

Figura 15: lista de caracteres ASCII.

Figura 16: lista de caracteres ASCII. (cont.)

Esses strings de caracteres devem ser decifrados de acordo com o protocolo de mensagem
fornecido pelo fabricante. no protocolo que se classifica o tamanho do dado e seu formato

dentro da string. Por exemplo, existem dados de 2 bytes, 4 bytes, em forma de mantissa e
tambm na forma fracionria. (Ver captulo 6.1 ).
Um nmero binrio de mais de um byte, ou em formato mantissa ou fracionrio, de acordo
com o protocolo do fabricante do receptor no pode ser convertido em decimal de forma
direta. Devido a isso foram formulados os subrotinas que sero responsveis pela converso
de cada uma das maneiras descritas pelo protocolo. Pelo pequeno nmero de diversidade de
maneiras de converso de dados, foram feitas quatro subrotinas independentes, simplificando
o trabalho de programao. As quatro subrotinas, apesar de independentes, so muitos
similares em seu algoritmo.
O algoritmo inicia-se com a transformao de um nmero binrio com n nmeros de bytes em
8n chars que contm os bites dispostos de forma ordenada de maneira que facilite a faze
posterior do algoritmo. Como memria no uma restrio para o programa, o nmero de
alocaes no ser um problema. Esses bites dispostos um a um em cada char sero
transformados novamente no nmero decimal correspondente.

Figura 17: Algoritmo de convero de bases numricas

Por exemplo, o nmero 40086 recebido pela porta serial por 2 chars (2 bytes ). No primeiro
byte, recebido o nmero 10011100, ou seja 9C, que representa o nmero decimal 156. O
segundo nmero recebido 10010110, ou seja 96 em hexadecimal, que representa o nmero
decimal 150. Esses dois nmeros foram transformados em 16 grupos, onde cada char dever
receber um valor correspondente ao valor binrio do algarismo. Com esses valores alocados
em 16 espaos (no caso de 2 bytes) fica fcil introduzir um pequeno loop para obter o valor
decimal correspondente da unio dos 2 bytes, ou seja: 40086.

Segue abaixo a ilustrao de uma das subrotinas que fazem parte do programa.
double convertedois(char a[2])
{
int i,j,rest,k;
char z[16];
double c;
k=1;
for(j=0;j<2;j++)
{
for(i=0;i<8;i++) //ajusta o binrio
{
rest=a[j]%2;
z[k*8-1-i]=rest;
a[j]=a[j]/2;
}
k=k+1;
}
c=0;
for(i=0;i<16;i++) //converte para decimal
{
c=c+(pow(2,(15-i))*z[i]);
}
return(c);
}

Figura 18: Codificao do algoritmo de converso de bases numricas

O software segue com a proposta de trabalho em tempo real. Para isso foi necessrio preparar
uma subrotina com o seguinte algoritmo:

Figura 19: Algoritmo tempo REAL

A primeira mensagem de interesse a de dados brutos, cujo cabealho 3F3F AF07, e isso
que deve ser comparado com a mensagem que chega pela porta serial. A rotina que foi
apresentada no algoritmo acima faz exatamente isso, foram feitos quatro loops para verificar
esses quatro primeiros bytes do cabealho da mensagem. A cada valor confirmado procura-se
o prximo valor, caso contrrio reinicia-se o ciclo. Veja o algoritmo codificado abaixo:

d=0;
while(d=!0x07)
{
a=_inp(COM1);
if(a==0x3f)
b=_inp(COM1);
if(b==0x3f)
c=_inp(COM1);
if(c==0xaf)
d=_inp(COM1);

Figura 20: Codificao da conferncia do cabealho

Com o cabealho conferido d-se incio a uma imensa rotina onde os dados que so recebidos
so organizados e divididos em blocos de acordo com o protocolo para que os mesmos
possam ser convertidos em nmeros decimais a partir das subrotinas j mencionadas acima.

Tendo em mos os dados convertidos em decimal, possvel utilizar os mtodos de soluo


de navegao para obter s coordenadas do objeto em estudo. O ciclo se reinicia com a
aferio do cabealho de uma nova mensagem a fim de obter a soluo de navegao em
tempo real. O ciclo pode ser parado a partir da tecla ESC.
Houveram alguns problemas nessa fase da programao que at ento no haviam sido
resolvidos. A rotina que verifica o cabealho apresentou uma falha na execuo do programa.
Os dados recebidos pela porta serial no eram comparados com os valores inseridos no loop e
essa parte da rotina era simplesmente pulada. Um outro problema foi que as mensagens de
efemrides no eram recebidas a partir do comando da porta serial.
Apesar dos problemas enfrentados, de forma paralela tentou-se verificar se as outras partes do
software estariam funcionado corretamente, e como mostrado nesse mesmo captulo prova-se
atravs de simulao que no ocorrem em tempo real, que a mudana de base, o set up da
comunicao serial e a organizao dos dados estariam funcionando corretamente.
Devido a esses impasses fica impossibilitada a gerao de solues de navegao em tempo
real, at que se resolva os problemas. Quanto a mensagem de efemrides existe a
possibilidade de utilizar a Internet para prever as efemrides dos satlites no momento em que
se far a medio, ou aguardar alguma soluo do fabricante do equipamento, que no
momento estuda o caso.
Com o problema do cabealho, ainda se estuda novos caminhos de programao ou que se
entenda qual a falha da programao. Existem ainda algumas solues que foram
apresentadas em fases anteriores do trabalho que mostram alguns resultados obtidos de
maneira manual ou por simulaes que no ocorreram em tempo real e sim por anlise de
dados coletados e armazenados em arquivos de formato texto.
7.2 RESULTADOS

Para a anlise dos dados dos satlites escolheu-se um local adequado para a recepo dos
mesmos, um local consideravelmente aberto, em um dia que no estivesse nublado e que ao
menos 4 satlites estivessem disponveis, possibilitando assim uma boa anlise dos resultados.
As mensagens foram coletadas e armazenadas em um arquivo a fim de serem analisadas
offline. As mensagens nos arquivos contm caracteres que no podem ser lidos diretamente

num editor de textos, o que no impede de serem lidas atravs de software. Em primeiro
lugar, as mensagens coletadas foram comparadas com a estrutura da mensagem do fabricante,
em parmetros como dimenses, cabealho, check sum, entre outros.
Ocorreram alguns problemas na interpretao dos dados com a estrutura fornecida pelo
fabricante no manual do receptor, essas diferenas a princpio foram atribudas a bugs, a erros
de protocolos e a inexatido do manual. Consultamos o fabricante e fomos esclarecidos de
que existiam dados nulos (0x00) que eram ignorados pelo software, portanto no apresentados
na impresso dos dados.
Aps a conferncia da estrutura dos dados partiu-se para a fase de converso dos dados
binrios para dados em decimal. Somente os dados da mensagem de dados crus foram
convertidos e armazenados na memria do software. Os dados de efemride, em razo de
serem dados enviados toda vez que h alguma alterao em algum satlite no foram
recolhidos pelo receptor e sim coletados via Internet.
Esses dados foram lanados num software, o qual gerou as pseudodistncias e coordenadas
dos satlites. Enfim essas coordenadas puderam ser inseridas nos algoritmos matemticos,
gerando assim as solues de navegao.
Na tabela seguinte esto relacionados os resultados obtidos na fase anterior do projeto onde a
soluo de navegao obtida a partir de dados que convencionamos estticos, isso pelo fato
dos dados injetados no software serem de referncia, ou seja, terem sido encontrados a partir
de bibliografias e at mesmo na Internet.

ERRO(m) GEOMTRICO ALGBRICO ESTATSTICO


-1579,869
-2,1554E-02
4,9152E-03
X
9063,9479
-4,3333E-02
4,0050E-02
Y
-4070,309
1,3508E-03
-1,3675E-03
Z
1137,9233
-0,02117873
0,014532567
r
Tabela: Resultados de Teste da fase anterior do projeto

Em seguida, mostra-se os dados gerados por um receptor GPS e lanados diretamente no


software. A coleta foi realizada em Guaratinguet com coordenadas aproximadas de
22.81198 Sul, 45.20050 Oeste, 629.4m de altitude.

Os dados gerados pelo software foram comparados com a soluo dada tambm pelo software
fornecido pelo fabricante, rodado em ambiente Windows. Esses dados esto dispostos na
tabela abaixo:
PRN

X (m)

Y (m)

Z (m)

Pseudorange (m)

06

4321548.098

-16113266.768

-20447051.439

21591553,27

09

14391355.351

-14333548.847

16472675.570

23802395,23

21

5152057.244

-25738225.859

2053865.566

22054198,31

25

-10523829.014

-16836957.880

-17272537.434

24393079,87

Tabela: Dados para teste obtidos dia 23/05/2004 s 20:35:40 (GMT)

Na coluna PRN fornece-se a identificao dos satlites GPS rastreados, X,Y,Z so as


coordenadas dos satlites GPS naquele instante, e o pseudo-range a medida bruta obtida
pelo receptor em tempo real.
Os resultados do processamento de posio do usurio, usando-se os mtodos propostos, em
conjunto com o obtido pelo receptor ORBISAT, so mostrados conforme a tabela abaixo:
X (m)

Y (m)

Z (m)

Geomtrico

4145553,29

-4173852,58

-2457716,10

Algbrico

4145558,81

-4173857,91

-2457719,23

Estatstico

4145558,81

-4173857,91

-2457719,23

Receptor

4145180,00

-4174294,00

-2457783,00

Tabela: Resultados de Teste da fase atual do projeto

Verifica-se a existncia de diferenas entre os resultados computados pelo software e os


resultados do receptor. Deve-se frisar que foi utilizado um dos resultados do receptor para
comparao, que no est no mesmo instante dos dados.
Assume-se que as maiores fontes de discrepncias se referem a fatores como a existncia de
diferenas entre os relgios do receptor e dos satlites e a erros de propagao. Esses erros
devero ser analisados em uma etapa seguinte do trabalho e devem ser reduzidos a partir de
um mtodo iterativo, onde a partir de um chute inicial consegue-se reduzir a discrepncia
obtida.

CAPTULO 8
CONCLUSES E PLANOS FUTUROS

O objetivo desse trabalho foi investigar, equacionar, desenvolver, implementar e comparar


solues de navegao possveis atravs do uso de medidas obtidas por receptores GPS
(Global Positioning System), em ambiente espacial. Como resultado obteve-se um pacote
de programas que comparam os trs mtodos (Geomtrico, Algbrico e Estatstico) de
computao da soluo de navegao em diversos aspectos e a estrutura de um software que
em tempo real retorna as solues de navegao correlacionando os trs algoritmos propostos.
As comparaes j realizadas anteriormente mostraram que o mtodo estatstico o mais
preciso dentre os trs, porm o mais complexo. O mtodo algbrico ocupa e exige mais
memria. Para obteno de uma aproximao grosseira, uma alternativa o mtodo
geomtrico que bem menos complexo e rapidamente retorna um valor bem prximo ao da
soluo.
Uma alternativa para melhorar a preciso dos softwares a introduo do clculo do
parmetro GDOP (Geometric Dilution Of Precision), que produz uma comparao entre
diferentes combinaes de satlites disponveis no instante em que se quer determinar a
posio e descreve a combinao que est melhor distribuda, possibilitando uma maior
preciso nos resultados.
Para este trabalho, foi estudado um conceito para a arquitetura de software necessria para
obteno de dados em tempo real. A proposta foi baseada no receptor GPS ORBISAT
(Orbisat, 2002) que fornece dados brutos de pseudo-range em tempo real. As efemrides dos
satlites GPS no tem uma amostragem fixa, e esto disponveis quando novos satlites
entram na visada do receptor. Algumas amostras foram colhidas a ttulo de qualificao
preliminar do software de obteno de dados GPS a partir da interface serial RS 232 (descrita
no Captulo 4). Esta interface foi escrita em cdigo ANSI C.
Foram obtidos alguns resultados preliminares utilizando dados reais de satlites recebidos
atravs do receptor GPS da marca ORBISAT. Estes resultados foram comparados com
solues apresentadas pelo software proprietrio do receptor GPS (Windows). A preciso em
posio obtida est de acordo com estimativas iniciais de preciso, j que as correes para

refinamento no foram ainda implementadas, sendo objeto do prximo perodo de Iniciao


Cientfica.
Pde-se verificar que o tempo de processamento de todo o software irrisrio, o que torna o
software possvel de ser implementado plenamente em tempo real gerando solues de
navegao e permitindo at mesmo o desenvolvimento de outras pesquisas, j que trata-se de
software aberto para qualquer usurio.
Espera-se que a partir dessas anlises, em uma prxima etapa de trabalho, seja possvel gerar
solues de navegao em tempo real a partir das mensagens fornecidas pelo receptor,
incluindo agora todas as correes do sinal incluindo os relativsticos, tempo de trnsito, erros
do relgio do satlite GPS, erro do relgio do receptor, e mesmo correes atmosfricas tais
como os da troposfera e ionosfera.

REFERNCIAS BIBLIOGRFICAS
Amato, A.L. Clculo de DOPS para Satlites GPS. Trabalho de Graduao.
FEG/UNESP Guaratinguet 1999.

Bancroft, S. An algebric solution of the GPS equations. Ieee Transactions on


Aerospace and Eletronics Systems, v.AES-21, n.7, 1985.
Bertiger, W.I; Bar-Server, Y.E.; Christensen, E.J.; Davis, E.S.; Guinn, J.R.; Haines,
B.J.; Ibanez-Meier, R.W.; Jee, J.R.; Lichten, S.M.; Melbourne, W.G.; Muellerschoen, R.J.;
Munson, T.N.; Vigue, Y.; Wu, S.C.; Yunck, T.P.; Schutz, B.E.; Abusali, P.A.M.; Rim, H.J.;
Watkins, M.M.; Willis, P. GPS precise tracking of TOPEX/Poseidon: results and
implications. Journal of Geophysical Research. v. 99, n. C12, p. 24449-24463, 1994.
Dana, P. H. Global Positioning System Overview. Department of Geography,
University of Texas, Austin. [online] http://www.utexas.edu/depts/gcraf/notes/gps/gps.html,
Julho, 1998.
Fang, Bertrand T. Geometric Dilution of Precision in Global Positioning System
Navigation. Advances in the Astronautical Sciences, AAS81-4005, v.4, n1 p. 93-94, 1981.
Gomes, V. M. Solues de Navegao via GPS. So Jos dos Campos. Relatrio de
Final de Projeto de Iniciao Cientfica Pibic - CNPq. Instituto Nacional de Pesquisas
Espaciais, Janeiro 2002.
Kuga, H.K., Lopes, R.V.F., Prado, A.F.B.A., Nascimento, J. M., Chiaradia, A.P.
Orbit determination and navigation using GPS. Organizado por Balthazar, J.M.,
Gonalves, P.B., Brasil, R.M.F.L.R.F. Non-linear dynamics, chaos, control and their
aplications to engineering sciences. Vol 3: New trends in Dynamics and Control.. 2000, v.3,
p.93-108.
Leick, A. GPS Satellite Surveying. Department of Surveying Engineering
University of Maine, Second Edition, Wiley-interscience Publication, 1994.
Logic,

Interfacing

The

Serial

RS-232

Port

2004

[online]

http://www.beyondlogic.org
Lopes, R. V. F.; Kuga, H. K. ORBEST - A GPS navigation solution algorithm without
DOP analysis. Advances in the Astronautical Sciences, AAS97-108, v. 95, p. 153-166,
1997.
Lopes, R. V. F.; Kuga, H. K. Optimal estimation of local orbit from GPS
measurements. Journal of Guidance, Control and Dynamics, v.11, n.2, p. 186-188, 1988.
Lundberg, J. B.; Minter, C.F.;Yoon, S. Analysis of algebraic solutions to the GPS
navigational equtions. AAS/AIAA Space Flight Mechanics Meeting, Huntsville, AL, Feb.

10-12, 1997. AAS 97-110.

Nicoletti, G.W.; Vilhena de Moraes, R. Analitical Approach for Evoluation of Orbital


Pertubations due Atmospheric Drag. Anais do COBAIN2001 (CD-ROM, 2001), pg 191-196.
Orbisat, Manual de Operao ORB 2002 RLP GPS FARO 1.0 - 2002
Orlando, V.; Kuga, H. K.; Lopes, R. V. F. Reducing the geopotential tesseral harmonic
effects on autonomous longitude drift control of Sun-synchronous satellites. Advances In
The Astronautical Sciences, v.95, p.361-374, 1997.

Orlando, V.; Kuga, H. K. Analysis of an autonomous orbit control concept using GPS.
Revista Brasileira de Cincias Mecnicas, v.21, p. 52-59, 1999.

Orlando, V.; Kuga, H. K. Effect analysis of maximal allowable maneuver application


rate for an autonomous orbit control procedure application. In: International Symposium
Space Dynamics. Proceedings of International Symposium Space dynamics. Biarritz:
CNES, 2000a.
Orlando, V.; Kuga, H. K. Investigation on autonomous orbit control using DIODE and
GPS navigation systems. Editado por Prado, A. F. B. A. Advances in Space Dynamics, v.1,
p.338-348, 2000b.
Papyrus,

C.

T.

Computer

Tecnologies

Ltda

2003[online]

http://www.papyrus.co.il/FAQ/gps_applications_market_segments.htm
Senne, E. L. F. Introduo Programao de Computadores Com a Linguagem
C. FEG/ Unesp 2000.

Silva, A. A. Determinao de rbitas com GPS atravs de Mmimos Quadrados


Recursivo com Rotaes de Givens. Tese de Mestrado. FEG/UNESP Guaratinguet 2001.
Strang, G., Borre, K. Linear algebra, geodesy, and GPS. Cambridge Press,
Wellesley, 1997.