Skip to main content

Gps speed moving average


Estou desenvolvendo uma aplicação Android usando o GPS. Gostaria de implementar um recurso que exibisse a velocidade média dos usuários ao longo dos 1515 minutos. Algo como a carga da CPU no Unix. Eu posso calcular a média facilmente, acumulando a distância percorrida segundo a segundo e dividindo-a pelo tempo decorrido, mas não consigo pensar em uma maneira inteligente de calcular a média móvel. Obviamente, eu posso obter o ID feito, colocando a distância entre a última e a atual posição em uma matriz a cada segundo ao excluir o valor mais antigo. Estou procurando uma maneira limpa de fazer isso. Solicitado 18 de dezembro às 21:51 Você precisará armazenar todos os valores para todo o período de tempo, como você já sugeriu. A razão é que você de alguma forma precisa esquecer as contribuições dos valores antigos para a média móvel. Você não pode fazer isso exatamente se você não sabe quais são esses valores (ou seja, se você não os armazena). No seu caso, 1 valor cada segundo por 15 minutos equivale a 15 60 900 pontos de dados, isso deve estar OK. Observe que você não precisa realizar uma soma em toda a matriz sempre que você atualizar: você pode calcular a nova média móvel a partir do número de pontos de dados, o novo valor e o valor que você está esquecendo nesse momento: Aqui, n é O número de pontos de dados (900 no seu caso), o xforget é o valor que você está esquecendo e xnew é o valor mais recente. Você então solta o xforget da frente da sua matriz e armazena o xnew no final. Em vez de uma matriz, você pode querer usar uma fila implementada através de uma lista vinculada. Respondeu 18 de dezembro 11 às 22:24 Heres um caminho a seguir sobre isso que é bastante simples: se você é a posição de amostragem a cada segundo, mantenha 901 amostras em uma fila, isso é 15 minutos (e 1 extra). Posição 0 é a medida mais recente, efetivamente sua posição atual. Para uma velocidade média nos últimos X minutos: a velocidade é agora unidades de distância por segundo, converte para mph, ou kph ou quaisquer unidades que você precisar. Diferentes valores de X podem ser usados ​​para qualquer média entre 1 e 15 minutos. Tenho aqui um dispositivo que pode me dar coordenadas GPS. O intervalo de tempo que eu posso definir. Eu quero usar para calcular a velocidade média durante a condução ou viajar de carro. Na verdade, usei uma fórmula de ortodromo para calcular a distância entre dois pontos e depois dividi-lo pelo intervalo de tempo determinado. Pela implementação eu segui este termo. Infelizmente, eu só consegui encontrar um link alemão, mas acho que a fórmula deve ser compreensível em qualquer idioma. Infelizmente, usar esta fórmula e um intervalo de tempo de 1 segundo dá resultados muito despreocupados. A velocidade durante a caminhada é entre 1 kmh e 20 kmh. Então, eu me pergunto se existe uma referência geral sobre como implementar o cálculo da distância entre duas coordenadas do GPS (eu encontrei algo semelhante em SO) e particularmente, qual é o melhor intervalo de tempo para atualizar as coordenadas do GPS solicitadas em 9 de maio 10 às 0:27 I Suponha que você esteja testando isso caminhando a uma velocidade constante (acho que 5 km / h é uma velocidade de caminhada normal) enquanto mede sua posição de GPS uma vez por segundo. A variação que você está vendo em velocidade instantânea (a distância entre cada ponto medido dividido em 1 segundo) é devido a variação aleatória na posição GPS medida ou então você não está tomando suas medidas exatamente um segundo de distância (ou poderia ser ambas coisas). Eu vou assumir que suas medidas estão sendo tomadas precisamente a um segundo de distância. Os dispositivos GPS portáteis são muito menos precisos do que os anunciados. Embora seja frequentemente afirmado que os dispositivos são precisos a menos de 10 pés da posição verdadeira, isso simplesmente não é assim. A melhor maneira de medir e relatar a precisão de um dispositivo GPS é deixá-lo em um lugar onde pode ver os satélites e não ser chovido e gravar alguns dias de dados. Você pode usar o Google Maps para traçar os pontos - Eu fiz isso em minha casa e em torno do escritório, o que é uma boa maneira de lhe dar uma sensação de escala. Obviamente, se os dispositivos fossem perfeitamente precisos, você veria todos os seus pontos medidos em um ponto. Ou, se a coisa de precisão de 10 pés fosse verdadeira, você veria todos os pontos em um pequeno cluster dentro de um círculo de 20 pés de diâmetro. O que você vê em vez disso (com todos os dispositivos habilitados para GPS que eu já testei) é uma combinação de espalhamento posicional relativamente pequeno (na ordem de algumas dezenas de pés) ocorrendo em uma escala de alguns segundos e uma caminhada aleatória de longo prazo Da posição média que pode mover 200 ou 300 pés no decurso de um dia ou dois. Quando planejado em sua própria casa, por exemplo, pode parecer que o seu PDA percorreu a casa dos vizinhos, depois do outro lado da rua, depois descer a rua duas casas, de volta para você, etc., tudo enquanto gotejando cerca de 5 ou 10 pés aqui ou Lá como se bebesse muito café. O GPS pode ser mais preciso do que isso. Os topógrafos usam dispositivos com conjuntos de receptores muito mais poderosos (para que eles obtenham uma leitura muito mais precisa nos sinais de satélite), e eles os deixam no local por dias a uma média de medições sucessivas. Dispositivos portáteis têm chips de receita baratos e antenas baratas e têm de lidar com todos os tipos de interferência de sinal de qualquer maneira. Sua melhor aposta é fazer uma média de corrida para calcular sua velocidade instantânea. Em vez de dividir a distância entre o ponto atual e o ponto anterior em 1 segundo, pegue as últimas 5 distâncias entre pontos e divida por 5 segundos (ou qualquer número de segundos que você use). É importante não apenas tomar a diferença entre o ponto atual e o ponto 5 segundos atrás e dividir essa distância em 5, pois isso perderia qualquer movimento não-linear. Atualização: percebi em um comentário que você estava usando um dispositivo Android. Você sabe se tem um receptor GPS integrado Muitos (a maioria) dispositivos Android não, o que significa que o seu GPS não é a versão triangulada nos satélites do GPS, mas a adivinhação-onde-eu-estou-baseada - On-the-signal-from-the-cell-torres versão. Isso é muito menos preciso em posição, como eu tenho certeza de que você poderia contar com a satisfação da minha descrição. ) Respondeu 9 de maio 10 às 1:09 Irregardless, como eu disse na minha resposta, a melhor maneira de medir a precisão de um dispositivo é deixá-lo registrar suas coordenadas GPS por alguns dias e depois traçar todos os pontos. Eu realmente apreciaria se você fizesse isso com seus dois dispositivos e, em seguida, deixe-me saber quais são seus resultados. Ndash MusiGenesis 9 de maio 10 às 2:15 Os topógrafos geralmente se aproveitam do fato de que o quotrandom walkquot que você descreveu produz vetores de erro muito semelhantes para dispositivos GPS próximos uns dos outros, de modo que o vetor de diferença entre dois GPS é muito mais preciso do que o Posições absolutas. Uma estação base de GPS em um ponto conhecido, o vetor de diferença produz erros no intervalo de 1-2 metros. Ndash Rafa Dowgird 9 de maio 10 às 12:32 Os sistemas GPS podem produzir velocidade instantânea diretamente, sem interpolação de posições. Eu li em algum lugar que a leitura da velocidade é realmente mais precisa do que a leitura da posição. O sistema de dispositivos que você está usando no Android, experimente o método android. location. Location. getSpeed ​​() (juntamente com hasSpeed ​​()) na sua implementação do LocationListener. A leitura da velocidade pode ou não ser mais precisa do que a leitura da posição, mas você está certo, é uma medida diferente e não se baseia simplesmente em cálculos usando as medidas posicionais. Os receptores GPS realmente usam os deslocamentos Doppler dos sinais do satélite para calcular as velocidades. Ndash MusiGenesis 9 de maio 10 às 11:53 Procure no google para PRECISÃO DE VELOCIDADE do GPS e você encontrará relatórios afirmando que a velocidade calculada fora da posição vs-time é dez vezes pior do que apenas usar o parâmetro de velocidade que vem diretamente do receptor GPS . O parâmetro de velocidade não depende da precisão da posição, mas é calculado a partir do doppler (diferença de freqüência de velocidade) dos sinais do satélite.

Comments

Popular posts from this blog

28 forex pairs explicou

Seja um passo adiante Parcerias da moeda explicadas Escrito por: Departamento de análise da PaxForex - Quinta-feira, 12 de março de 2017 0 comentários O USDJPY está negociando bem acima de 120.000, já que este par de moedas se recuperou fortemente, mas o que um rali realmente significa Um par de moedas é constituído, como O nome sugere, a partir de duas moedas diferentes que estão emparelhadas umas contra as outras. No caso do USDJPY, é o dólar americano contra o iene japonês. A primeira moeda é referida como a moeda base, então, em nosso exemplo, o dólar norte-americano é a moeda base. A segunda moeda é chamada de moeda de cotação e, neste caso, o iene japonês é a moeda da cotação. O que o USDJPY em 120.000 representa Como o dólar americano é a moeda base e o iene japonês é a moeda da cotação, isto significa que, para 1,00, você receberá 120 mil. Isso é muito direto e deve ser fácil de entender, pois se aplica a todos os pares de moedas. É importante lembrar que, quando você troca moe...

Pengalaman investasi forex pasif

Apa itu reksa dana pengertian reksa dana berdasarkan arti kata sebenarnya sangat simpel yakni39 kata 8220reksa8221 berarti memelihara 8220dana8221. Sebenarnya cara kerja forex itu sangat sederhana yakni beli índice mata uang di saat ini dan menjualnya di masa yang akan datang (1 geléia, 1 h. Membangun jenis investasi yang aman dan menguntungkan tentu saja akan mejadi impian setiap orang, apalagi investasi tersebut dapat dinikmati. Salah satu peluang usaha yang paling bagus adalah usaha bidbang konveksi (pakaian busana dan sejenisnya), Selama manuscrito masih membutuhka. Selengkapnya dapat anda baca di sini Peluang usaha Franchise Investasi sat ini semakin berkembang terutama di tingkat UKM dengan modal inves. Salah satu asuransi kesehatan Dari Prudential adalah PruHospital care. Produk ini termasuk asuransi murni dimana kita akan mendapatkan klai. Pentingnya belajar dasar-dasar trading forex bagi corretor pemula ibarat pentingnya makan dalam hidup. Bisa saja e um adalah seorang correto...