Quando estou usando o módulo GPS do arduino, normalmente leva alguns minutos para começar a enviar dados. E parece que geralmente é o caso de todos os módulos de GPS, pois eles precisam "ouvir" os satélites por algum tempo. No entanto, sempre que uso o GPS interno do meu telefone, ele encontra sua posição em questão de segundos. Por que é que?
81
Respostas:
Há várias coisas que afetam o tempo para a primeira correção (TTFX) .
Obtendo o almanaque e as efemérides. Essas duas coisas são tecnicamente um pouco diferentes uma da outra, mas, para nossos propósitos, as trataremos da mesma forma. Eles são os locais dos satélites, e você precisa saber onde eles estão para determinar sua própria posição. Cada satélite transmite o lote inteiro aproximadamente uma vez a cada 12 minutos. Portanto, de um começo completamente frio com um receptor de um canal e um sinal decente, o TTFX será de pelo menos 12 minutos. Você pode acelerar as coisas:
Identificando satélites. Você precisa ouvir pelo menos três satélites, de preferência mais, para obter uma boa solução, mas cada receptor (conhecido como correlacionadores) pode ser sintonizado apenas um por vez. Se você souber aproximadamente onde está, que horas são e já possui um almanaque, poderá adivinhar quais satélites poderá ver. Os telefones tendem a saber aproximadamente de onde vêm reconhecendo sinais de wifi ou bluetooth, sabendo que torre de celular estão usando e outras fontes. Eles também recebem regularmente atualizações de horário muito precisas, para que geralmente possam ir direto para o satélite correto. Os telefones e os módulos maiores também podem se lembrar de quando e onde foram usados pela última vez, e usar isso para começar.
Número de correlacionadores. Devido ao sinal de ruído muito baixo dos sinais de GPS, você precisa de um pouco de hardware especial para recebê-los. Alguns receptores possuem apenas um e precisam girar em torno dos satélites. Outros têm mais e podem ouvir mais de uma vez. Portanto, mesmo se você já possui o almanaque / efemérides e sabe aproximadamente onde está, mais correlacionadores ainda o ajudarão a corrigir mais rapidamente. Você pode pensar que mais é sempre melhor, mas mais aumenta o custo e o consumo de energia. Alguns telefones e módulos têm mais que outros.
Sinal e antenas. Os correlacionadores farão seu trabalho mais rapidamente se você tiver um bom sinal de ruído entrando neles. Sinais muito ruins podem não funcionar. Um bom design de antena, amplificador, vista do céu e um bom layout de PCB podem fazer toda a diferença. Alguns módulos podem funcionar bem fora da caixa e muito melhor com uma antena conectada.
Número de satélites utilizáveis. Na verdade, existem duas grandes constelações de satélites lá em cima, GPS (administrado pelos EUA) e GLONASS (administrado pela Rússia). Também há mais em construção: Galileo (UE) e BeiDou-2 (China) e alguns com cobertura local como o NAVIC da Índia ou o BeiDou-1. Um receptor que pode trabalhar com satélites de mais de uma constelação tem mais satélites para escolher e obterá uma correção mais rápida e precisa.
Qualidade dos correlacionadores. Os novos designs de hardware são melhores que os antigos e poderão captar fragmentos da mensagem GPS em um sinal barulhento. Outro truque que os telefones podem fazer é capturar fragmentos de sinal e passá-los pela Internet para um servidor com um correlacionador de software muito bom, e almanaque / efemérides completos para examinar. Isso é conhecido como GPS assistido pela MSA.
Alguns telefones (e até alguns módulos) também podem usar alguns truques levemente sorrateiros para evitar ou ocultar um TTFX longo. Como eles estão ligados o tempo todo, eles podem ligar brevemente o GPS sem informar o usuário, a fim de manter a localização e as efemérides aproximadamente atualizadas. Outros podem exibir uma posição recente enquanto aguardam uma correção real - que parece um bom TTFX na maioria das vezes, mas parece ruim se a posição estiver muito errada.
O ponto 1 acima é o que mais faz diferença, e geralmente é o principal que é diferente entre os módulos básicos, os módulos mais avançados e os telefones. Os outros costumam fazer uma diferença menor, mas na verdade pode se tornar uma coisa muito complicada. Se você quiser ler mais, "Tempo de GPS para a primeira correção" é o termo a ser pesquisado.
fonte
O sistema operacional do celular baixa os dados do almanaque do GPS (efemérides dos satélites e informações de status) pela Internet pela rede celular e os carrega no módulo GPS muito mais rapidamente do que o necessário para fazer o download dos satélites GPS diretamente a 50 bps ( sim, isso é 50 bits por segundo, o GPS é
uma tecnologia bastante antiga,otimizada para operação com SNR muito baixo), acelerando significativamente o tempo para a primeira correção. Isso é chamado de GPS assistido. Também é provável que tenha uma referência de tempo inicial muito precisa do modem celular (as torres celulares geralmente são sincronizadas no tempo via GPS), bem como possivelmente uma estimativa aproximada da localização do modem celular. Tudo isso combinado reduz drasticamente a quantidade de pesquisas que o receptor precisa fazer - ele sabe quais satélites deve poder ver; portanto, apenas procura por eles, e não precisa esperar pelos satélites para transmitir a mensagem inteira.fonte
As outras respostas já explicaram o "como" e o "porquê", então tudo o que me resta é o "o quê": é chamado A-GPS (GPS assistido, às vezes também chamado de GPS acelerado ou aumentado) .
Em outras palavras: a razão pela qual o GPS de um telefone funciona mais rápido que o "GPS de GPS" é que o telefone não está usando "GPS", está usando aGPS.
fonte
Parte da resposta aqui é que o GPS do telefone celular não é apenas GPS. O Cell também usa outras informações para geolocalização, como a triangulação de torres de celular e a visibilidade das redes wifi. Por exemplo, a versão não celular do iPad Air não possui GPS real, mas ainda sabe onde você está em áreas construídas usando essas técnicas.
fonte
Só queria colocar um pouco mais de detalhes no que está acontecendo quando os receptores mais antigos estão aguardando dados. Em outras palavras, por que esse almanaque (e posição lembrada) é tão útil?
Os sinais de GPS são muito fracos. Dada a distância, o sinal está bem abaixo do piso de ruído quando atinge a terra. Você nunca detectaria diretamente o satélite se estivesse simplesmente assistindo a um escopo pela frequência correta.
A maneira como o receptor obtém informações é comparando o sinal recebido com um padrão específico (através de uma correlação FFT). Se o padrão correto for usado, a correlação será alinhada e os dados poderão ser vistos.
Para um receptor simples e antigo, chegar a esse ponto requer duas coisas do correlacionador do dispositivo: a frequência da mensagem do satélite e a fase da mensagem (alinhando os padrões). Se um deles estiver incorreto, a correlação será malsucedida e nada será detectado. Os movimentos dos satélites significam que o sinal recebido está sujeito a mudanças Doppler relativamente grandes.
Com um almanaque no lugar e uma boa idéia da localização e hora atuais, o receptor pode estimar os movimentos relativos do satélite e do receptor para remover a maior parte do deslocamento Doppler e aproximar-se um pouco da frequência. Isso significa que o correlacionador geralmente pode ter sucesso apenas tentando diferentes fases para o padrão de sinal. Essa pesquisa no espaço de fase pode ser feita em alguns segundos.
Se o almanaque estiver ausente ou se não houver estimativa da localização e hora atuais, o sistema precisa tentar diferentes fases e frequências diferentes para obter dados de cada satélite. Agora, tendo que procurar em duas dimensões diferentes, pode levar alguns minutos até que um sistema multicanal "encontre" três satélites por força bruta.
Os chipsets modernos podem usar sinais adicionais e muitos comparadores paralelos para acelerar a pesquisa, mesmo sem o A-GPS presente. Eu suspeito que o chipset que você obtém em um escudo Arduino provavelmente seja mais antigo / mais barato e não use esses recursos mais recentes.
fonte
Nos EUA, a FCC exigia que as operadoras de telefonia celular identificassem a localização de um chamador ao discar serviços de emergência a até 300 metros dentro de 6 minutos da ligação inicial em 11 de setembro de 2012.
Isso foi implementado gradualmente nos anos anteriores e o requisito foi reforçado nos relatórios de distância e tempo até a localização nos anos posteriores.
As empresas de telefonia celular não podiam garantir isso em áreas remotas onde apenas uma ou duas torres celulares estavam em contato com o telefone móvel, nem em ambientes urbanos em que reflexos e densidade de edifícios impediam a localização, mesmo quando o telefone tinha várias torres que poderia receber. Os chips GPS não podiam fornecer isso dentro do prazo exigido a uma potência baixa o suficiente para que o telefone celular ainda fosse comercialmente viável (no momento em que o requisito foi introduzido. Os chipsets agora são muito mais eficientes em termos de energia e mais rápidos, parcialmente devido ao requisito que todo telefone inclua parte ou todo o chipset GPS). Além disso, os chipsets GPS eram muito caros em relação aos outros componentes do telefone.
Por isso, eles criaram alguns sistemas concorrentes diferentes, todos abrangidos pelo apelido "AGPS" para GPS assistido.
A tecnologia que roda por trás desses vários sistemas AGPS difere, às vezes bastante.
Os sistemas AGPS celulares mais baratos registram vários milissegundos do sinal de RF do GPS, enviam-no para o servidor AGPS que, sabendo a localização aproximada do telefone, pode usar esse snippet de RF do GPS para determinar uma posição muito mais precisa. Esses telefones não podem obter coordenadas GPS sem uma boa conexão celular.
Alguns possuem chipsets GPS completos, mas permitem que o telefone forneça o almanaque e as efemérides - duas informações que permitem ao chipset obter uma correção em segundos - após o que ele usa seus métodos normais para produzir resultados de posição. Com o tempo, esses telefones podem obter uma posição independente de sua rede.
A maioria dos chipsets GPS permite carregar informações de efemérides e almanaques, portanto, se o seu dispositivo arduino tiver uma conexão com a Internet e você tiver acesso a um servidor AGPS, poderá acelerar o seu GPS de maneira semelhante. No entanto, para a maioria dos projetos, simplesmente adicionar uma bateria de célula tipo moeda de lítio ao pino certo no receptor GPS permite manter a última atualização do almanaque e das efemérides, e como as alterações são pequenas em curtos períodos de tempo, isso acelera bastante a primeira correção. desde que o dispositivo não se mova milhares de quilômetros e seja ligado a cada poucos dias.
fonte