Receptor GPS em Software Fabríco de Araújo Carvalho, Alexandre Boa Ventura Olvera, F. Walter Resumo O atual estágo de desenvolvmento do receptor GPS em Software é apresentado, destacando as característcas do snal GPS e as etapas de processamento em software: correlator e a nterface com o usuáro. O uso do receptor para o estudo dos erros devdo à atmosfera também é mostrado. Palavras-chave GPS, Correlator, Receptor por Software, DSP, correlação, PRN. Abstract The current development of GPS software recever s presented, detachng the characterstcs of the GPS sgnal and the stages of processng n software: correlator and the nterface wth the user. The use of the recever to study errors due to the atmosphere also s shown. Keywords - GPS, Correlator, Software Recever, DSP, correlaton, PRN. I. INTRODUÇÃO O desenvolvmento de um receptor GPS em software para o snal L1 é descrto. Para o teste do seu funconamento foram gerados os dados transmtdos pelos satéltes GPS nclundo os efetos do canal entre o transmssor (satélte) e o usuáro (receptor), tas como: o atraso produzdo pela atmosfera (onosfera mas a troposfera) e o efeto Doppler. O receptor consste bascamente de um correlator e de uma nterface com o usuáro mostrando sua posção. II. SINAL GPS Os snas transmtdos pelos satéltes GPS transportam as nformações necessáras para que receptores possam determnar a sua localzação. A nformação é uma seqüênca de dados bnáros representados na expressão: t kt b d k D ( t) = (1) k Tb Estas portadoras utlzam a mesma freqüênca de referênca (10,23 MHz) que ao ser multplcada por um fator de 154, para L1, e 120, para L2, gera as freqüêncas de 1.575,42 MHz e 1.227,6 MHz, respectvamente. A freqüênca de referênca é também empregada para obter a taxa do códgo PRN e dos dados de navegação. O códgo PRN utlzado pela componente em fase do snal L1 (snal de nteresse) é denomnado por códgo C/A (Coarser Acquston) e apresenta uma taxa de 1,023 MHz. O códgo C/A pertence à famíla de códgos de Gold, podendo ser representado por: ( t) = t nt = chp c n 0 Tchp N 1 C (2) n C (t) representa o códgo C/A do ésmo satélte, sendo c n gual 1 ou 0, com duração T chp (1/ 1,023 MHz) e N o comprmento do códgo (1023 chps ). O termo chp é usado amplamente na área de navegação global por satéltes (GPS, GLONASS e Galleo) para dstngur o bt de códgo do de nformação (usado para os dados de navegação). O snal C (t) é peródco (3) e se repete a cada ntervalo de duração T p, que corresponde a T chp x N. N 1 t nt = = chp ktp C ( t) = cn (3) k 0 n 0 Tchp Tabela I: Polnômos geradores de códgo PRN Reg. Polnômo G1(t) 3 10 1 x x 2 3 6 8 9 10 G2(t) 1 x x x x x x onde: D (t) é o trem de pulso para o -ésmo satélte; d k é o valor do bt k ; e T b o período do pulso retangular (50 Hz) representado por Π [.]. Os bts de dados modulam um códgo pseudo-aleatóro (PRN), o qual é responsável pelo espalhamento espectral do snal. As portadoras, L1 e L2, transmtdas pelos satéltes estão na banda 1 a 2 GHz e são moduladas por seqüêncas PRN dstntas. Fabríco de Araújo Carvalho, Alexandre Boa Ventura Olvera e F. Walter, Laboratóro GNSS, Dvsão de Engenhara Eletrônca, ITA - Insttuto Tecnológco de Aeronáutca, São José dos Campos, SP, Brasl. E-mals: fabríco@ta.br; alexbvo@ta.br; fw2@ta.br. Este trabalho é fnancado pela FINEP (Convêno 1825/04, Contrato 01.05.0154.00). Fg. 1 Gerador do códgo C/A. A seleção de fase é defnda pelo par de células utlzadas como saída no gerador G2(t). O códgo C/A é gerado através de dos geradores de deslocamento lnear, contendo, cada um, dez células. O
número n de células determna o comprmento do códgo, resultando, para n = 10, em um período de 1 ms (N = 2 n -1 = 1023). Estes geradores são descrtos através dos polnômos: G1(t) e G2(t) mostrados na Tabela I. O polnômo ndca a operação soma módulo-2,, entre as células do regstrador, dentfcadas através de seu expoente. O algortmo gerador do códgo C/A é lustrado na Fgura 1 [1]. São gerados no sstema GPS 36 códgos C/As através da operação soma módulo-2 e de uma adequada realmentação e seleção de fase. O espectro para o códgo C/A pode ser observado no gráfco da Fgura 2. Fg. 4. Autocorrelação para o PRN 2, com atraso de 450 chps evdencando o pco de correlação. O snal transmtdo, mostrado na Fgura 5, é um snal BPSK e pode ser representado pela eq. (4): Fg. 2. Espectro de freqüênca do códgo C/A (PRN 2) em banda base. Largura de faxa de 2,046 MHz. O códgo C/A fo adotado devdo às suas característcas de autocorrelação e correlação cruzada (Fguras 3 e 4). Fg. 5. Ilustração do snal GPS. De cma para baxo: portadora, dados, códgo PRN e snal L1 em fase. Fg. 3. Correlação cruzada entre os PRNs 2 e 6, com passo de códgo ntero. A correlação para códgos dstntos apresenta baxos valores de ampltude: -65, -1 e 63. No caso da autocorrelação, o valor de ampltude chega a 1023 (para códgos alnhados), mas os valores para atrasos do códgo superores a um chp são semelhantes ao da correlação cruzada. A grande dferença entre o pco de máxma correlação e os pcos de correlação cruzada corresponde ao ganho de processamento obtdo durante os processos de aqusção e o de rastreamento. L1 ( t) = ( θ ) [ t () t ] D [ t τ () t ] cos 2π ( f + f ) t 2Pc C τ L1 D + 144444444 44 24444444444 3 Snal de S ( t) nt eresse (4) onde: L1 é o snal recebdo; τ(t) o atraso do snal, P c a potênca recebda; C (t) o códgo C/A; D (t) os dados de navegação; f L1 a freqüênca da portadora L1; e f D a freqüênca Doppler [2]. O snal GPS é smulado para uma avalação do correlator, [3] sendo composto pelos snas de um número varável de satéltes, cada snal, caracterzado por um únco códgo C/A e um dado valor de Doppler e atraso, bem como dados de navegação que ndcam sua posção. O Doppler na freqüênca de portadora se deve ao movmento relatvo entre satélte e receptor e vara de ± 5 khz em relação à freqüênca central, podendo chegar a ± 10 khz para usuáros com alta dnâmca. III. SINAL RECEBIDO Ao ser recebdo pela antena do receptor, o snal GPS apresenta uma potênca da ordem de 10-16 watts (-160 dbw), bem abaxo do ruído térmco presente no meo (cerca de - 141 dbw). Este valor de ruído é calculado em função da
largura de faxa, B, do snal de nteresse (2,046 MHz do códgo do C/A), através da expressão: N ent = ktb, onde k corresponde à constante de Boltzmann (1.38 x 10-23 J/K) e T à temperatura dada em Kelvn. Fg. 8 Forma correta da subamostragem, evtando o alasng. O prmero deles é respetar o crtéro de Nyqust e certfcar que a taxa de amostragem não seja um múltplo da taxa do códgo C/A. É mportante também adotar o mesmo referencal de tempo para o downconverter e para o conversor A/D. Caso o conversor seja de 1 bt é necessáro o uso do CAG (controlador de ganho automátco). IV. PROCESSAMENTO DO SINAL Fg. 6. Dagrama em blocos de um receptor GPS típco. Os blocos em azul correspondem à etapa de heterodnagem, seguda pelo conversor A/D snalzado em verde. A etapa de correlação em amarelo lustra os N canas operando paralelamente, segudo pelo processamento da mensagem de navegação, em laranja. O processo de condconamento do snal é normalmente mplementado em duas ou três etapas de heterodnagem, durante as quas o snal GPS sofre sucessvas amplfcações obtendo um ganho fnal aproxmado de 100 db e uma FI aproxmadamente 1000 vezes nferor que a RF recebda. Tal processo pode ser abstraído através da análse espectral do snal (Fgura 7): A prmera etapa de processamento por software ocorre no correlator mplementado em um DSP, o TMS 320C6711. Nele o processamento é dvddo em etapas, denomnadas por: Aqusção, Confrmação, Alnhamento e Rastreamento, cada qual com uma função específca [4]. A Aqusção tem como função estabelecer um alnhamento grossero entre o snal BPSK gerado nternamente (no correlator) com a FI dgtalzada. Para tal, o correlator consulta o almanaque (dados das efemérdes de todos os satéltes, envados junto com as mensagens de navegação) os prováves PRNs vsíves (satéltes) e os aloca nos canas dsponíves. Alocados os PRNs tem níco à busca bdmensonal para dentfcar o atraso do códgo e a freqüênca de portadora (Fgura 9). Fg. 7. Analse espectral da heterodnagem e escolha da FI nferor através de um fltro passa faxa. Após o condconamento do snal, a últma FI (analógca) deve ser então dgtalzada para que o restante do processamento possa ser feto através de software. A Fgura 8 lustra a dgtalzação da FI analógca através da subamostragem. A FI analógca adotada fo de 21,25 MHz e o conversor A/D de 5 Msps com palavra de 16 bts. Alguns cudados são levados em consderação para que os processos, de aqusção e de rastreamento não sejam prejudcados pela dgtalzação. Fg. 9. Resultado do processo de correlação. Busca bdmensonal. Atraso de 1000 amostras e Doppler de 1kHz. No fnal da aqusção, os dados de atraso e do Doppler, são transferdos para a etapa de Confrmação. A etapa de Confrmação reduz a probabldade de falso alarme gerado pelo ruído através do uso do algortmo de detecção Tong [5]. Durante esta etapa são realzadas as correlações entre o snal recebdo com o snal nterno gerado com os parâmetros, fornecdos pela etapa anteror. Este processo de confrmação é repetdo até que o número de
confrmações ultrapasse um valor pré-determnado, sendo então o snal consderado presente, segundo o processamento para a etapa segunte, de Alnhamento. O Alnhamento ncalmente utlza como parâmetros aqueles obtdos na etapa de aqusção e tem como função promover o ajuste fno do snal gerado nternamente, tanto no códgo como na freqüênca. Prmeramente é feto um alnhamento medano da freqüênca e do códgo para só então se aplcar o alnhamento fno. Após este ajuste, é executado o algortmo de sncronsmo de bt, cuja função é dentfcar o nstante de nversão do códgo causado pelos dados de navegação. O conhecmento do nstante de nversão do bt permte a ntegração durante todo o ntervalo de 20 ms. O Rastreamento (Fgura 10) extra os dados de navegação contdos no snal e mantém o alnhamento do códgo e da FI com o snal recebdo. Para sso, a etapa apresenta um laço de rastreamento para o códgo e outro para a portadora. Após o período de ntegração os valores de ampltude de correlação são passados para os dscrmnadores de códgo e portadora para que os ajustes necessáros possam ser fetos. Os dados de navegação (Fgura 11) são extraídos enquanto as correções no alnhamento do códgo e da freqüênca estão sendo realzadas. Os bts de dados são recuperados utlzando um algortmo de detecção de nversão. A cada 20 ms de snal recebdo é feta a verfcação da dferença de ângulo entre amostras consecutvas de códgo. Caso essa dferença seja maor que 90º ocorre a nversão dos bts de dados. V MENSAGEM DE NAVEGAÇÃO No sstema GPS cada satélte enva uma mensagem de navegação composta de 5 sub-quadros sendo que os subquadros 1, 2 e 3 transmtem os dados de efemérdes utlzados para o cálculo da posção do satélte em órbta e os sub-quadros 4 e 5 transmtem nformações do almanaque com dados de efemérdes de todos satéltes, modelos troposfércos e onosfércos (modelo Klobuchar), saúde (confável ou não os dados), entre outros. Fg. 10. Etapa de Rastreamento mostrando as correlações em fase e quadratura para os snas adantado, alnhado e atrasado em fase e quadratura. O dscrmnador de códgo emprega os valores de correlação obtdos para versões do códgo adantadas e atrasadas de meo chp em relação ao snal gerado nternamente. Através das ampltudes destas correlações é possível determnar a correção necessára. O dscrmnador de portadora utlza os valores de correlação em fase (R I ) e quadratura (R Q ) do snal alnhado em períodos consecutvos para determnar o ajuste da freqüênca e da fase, utlzando a função atan(r Q, R I ). Os fltros presentes nos laços têm como função elmnar, além do ruído, as componentes de freqüêncas ndesejadas. Fg. 11. Sub-quadros 1, 2 e 3 transmtdos por um satélte da constelação GPS. Os sub-quadros 1, 2 e 3 fornecem os dados de efemérdes utlzados para o cálculo da posção dos satéltes. Fg. 12. Palavras 1 e 2 dos sub-quadros na mensagem de navegação
O GPS em software extra os dados de navegação (efemérdes) dos sub-quadros 1, 2 e 3 e calcula a posção de cada satélte. A Fgura 13 mostra os dados de efemérdes extraídos da mensagem de navegação apresentada anterormente (Fgura 11), outros detalhes do GPS em software para plataforma PC podem ser encontrados em [5]. VI INTERFACE DO GPS EM SOFTWARE As nterfaces para vsualzação dos dados GPS foram desenvolvdas em Labvew 8. A Fgura 14 mostra a posção dos satéltes calculada utlzando-se os dados de efemérdes extraídos da mensagem de navegação (sub-quadros 1, 2 e 3). Fg. 13. Dados de efemérdes (Segundos da semana GPS: 404582) extraídos dos sub-quadros 1, 2 e 3 da Fgura 11. A posção do satélte calculada é mostrada como X, Y e Z, bem como as coordenadas geográfcas correspondente ao datum WGS-84, Lattude, Longtude e Alttude. Cada sub-quadro é composto por 10 palavras e cada palavra possu 30 bts. A Fgura 12 mostra as palavras 1 e 2, usadas para dentfcar o sub-quadro. Cada sub-quadro começa com um cabeçalho (preâmbulo) dado pelo conjunto de bts [10001011] na prmera palavra (telemetra TLM). Na segunda palavra HOW (do Inglês hand over word ) os bts 20 22 são a dentfcação dos subquadros. A Fgura 11 mostra os sub-quadros 1, 2 e 3 completos de um satélte GPS. Fg. 15. Interface para vsualzação da posção dos satéltes em formato 3D no ITA (SOW - 471395) para o da 20 de abrl de 2007. Na Fgura 14 o centro em vermelho corresponde ao ponto real onde se encontra a antena GPS no ITA (Lattude: 23º12 34,199772, Longtude: 45º52 28,503880 e Alttude: 603,.0675). O centro dos círculos representa o elevação de 90º e cada círculo subseqüente representa uma dferença de 10º na elevação (80º, 70,..., 0º). A Fgura 15 mostra a vsualzação em 3D da posção dos mesmos satéltes da Fgura 14. A Fgura 16 mostra a posção do usuáro calculada utlzando-se os 9 satéltes da Fgura 14. Fg. 14. Interface para vsualzação da posção dos satéltes no Laboratóro GNSS do ITA (SOW - 471395) para o da 20 de abrl de 2007. A Dstrbução geométrca: HDOP ( Horzontal Dluton Of Precson) - 0,67; GDOP (Geographc DOP) - 1,72; PDOP (Poston DOP) - 1,55; e o VDOP (Vertcal DOP) 1,40 são mostradas. Fg. 16. Interface para a vsualzação da Lattude, Longtude e Alttude calculada pelo GPS em software. VII ESTUDO DOS ERROS NO SISTEMA GPS Com o GPS em software é possível avalar o efeto de erros como o da troposfera e onosfera [6]. A Fgura 17 mostra o cálculo da posção do usuáro quando exste a presença do efeto da troposfera e da onosfera juntos. O CEP (Crcular Error Probabllty), probabldade de erro em um círculo em torno da posção real no plano xy calculado fo de 9,6876 m em relação à posção real. O SEP (Sphercal Error
Probable), erro provável em torno de uma esfera que tem como centro a posção real (plano xyz) fo de 33,5392 m. relação entre as pseudodstâncas medda em L1 e L2. O erro da troposfera de cada satélte fo calculado através do modelo de Hopfeld. [7]. O CEP calculado fo de 0,995 metros em relação à posção real. O SEP fo de 2,4682 metros. A fgura 20 mostra a mesma avalação anteror quando os erros da troposfera e da onosfera são excluídos. Pode-se observar uma grande aproxmação para as coordenadas reas X, Y e Z. Fg. 20. Erro em X, Y e Z quando não exste o efeto da troposfera e da onosfera. Fg. 17. Cálculo da posção do usuáro sob o efeto da troposfera e da onosfera. Ponto vermelho corresponde à posção real no ITA (X= 4083783,9004, Y= -4210399,3147, Z= -2498296,1764) e o ponto verde a posção calculada. CEP = 9,6 m e SEP= 33,5 m. A Fgura 18 mostra o erro em X, Y e Z da posção calculada em relação à posção real quando exste a presença dos erros da troposfera e da onosfera. Fg. 18. Erro em X, Y e Z quando exste o efeto da troposfera e da onosfera. VI CONCLUÇÕES O receptor por software para processamento em tempo real se mostra uma ferramenta para a cração e valdação de novos algortmos de processamento, além de ter o caráter educatvo, permtndo a utlzação de novas técncas para fltragem adaptatva, para redução do problema de multcamnho e erros da onosfera e troposfera (dutos troposfércos). Esta mesma metodologa está sendo aplcada para receptores GLONASS e futuramente para o Galleo. AGRADECIMENTOS Este trabalho fo patrocnado por UNPD, ICAO e CTA/DECEA, através dos Projetos: Formação de Recursos Humanos e Pesqusa para Avação Cvl, Projeto CNS/ATM, e teve o apoo da FINEP através do Projeto Pseudo-Satélte (#01.04.0441.00) e RHODES (#01.05. 0154.00). REFERÊNCIAS Fg. 19. Cálculo da posção do usuáro sem o efeto da troposfera e da onosfera. Ponto vermelho corresponde à posção real no ITA (X= 4083783,9004, Y= -4210399,3147, Z= -2498296,1764) e o ponto verde a posção calculada. CEP = 0,9950 m e SEP= 2,4682 m. A Fgura 19 mostra o cálculo da posção do usuáro quando os efetos da troposfera e da onosfera são retrados. O erro da onosfera de cada satélte fo extraído utlzando-se a [1] J. B. Y. Tsu, Fundamentals of Global Postonng System Recevers, A software approach. Wley Interscence Publcanton, 2000. [2] F. Walter, ET-274, Notas de Aula. Insttuto Tecnológco de Aeronáutca, São José dos Campos, SP, 2003. [3] Carvalho, F. A. e F. Walter, Receptor GPS por Software em Tempo Real. Parte I: Geração dos Snas, Anas do 12 O Encontro de Incação Centífca e Pós-Graduação do ITA XII ENCITA / 2006, São José dos Campos, SP, Brasl, out., 16 a 19. [4] Carvalho, F. A. e F. Walter, Receptor GPS por Software em Tempo Real. Parte II: Correlator, Anas do 12 O Encontro de Incação Centífca e Pós-Graduação do ITA XII ENCITA / 2006, São José dos Campos, SP, Brasl, out., 16 a 19. [5] Vllalba, C., L. F. e F. WALTER: Receptor GPS por Software. In: 20 Smpóso Braslero de Telecomuncações XX SBrT, Belém, PA, set, 2004. [6] Olvera, Alexandre Boa Ventura; Moras, Thago Nunes de; Walter, Fernando. Global Behavor of Equatoral Anomaly snce 1999 and Effects on GPS Sgnals. In: 11TH SAINT PETERSBURG INTERNATIONAL CONFERENCE ON INTEGRATED NAVIGATION SYSTEMS, 2004, Sant Petersburg, Russa, 2004. [7] Parknson, Bradford W.; Splker Jr. James J., Global Postonng System: Theory and Applcatons- vol 1. Publshed by the Amercan Insttute of Aeronautcs and Astronautcs, Inc. Hopfeld model, pp 534-538, 1996.