Domanda

Vorrei usare i valori forniti dal sensore Android per calcolare gli stessi valori specificati per DevicemotionEvent.

Il mio problema è la parte nella documentazione Android che si riferisce a GX, GY, GZ:

 public void onSensorChanged(SensorEvent event)
 {
      // alpha is calculated as t / (t + dT)
      // with t, the low-pass filter's time-constant
      // and dT, the event delivery rate

      final float alpha = 0.8;

      gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0];
      gravity[1] = alpha * gravity[1] + (1 - alpha) * event.values[1];
      gravity[2] = alpha * gravity[2] + (1 - alpha) * event.values[2];

      linear_acceleration[0] = event.values[0] - gravity[0];
      linear_acceleration[1] = event.values[1] - gravity[1];
      linear_acceleration[2] = event.values[2] - gravity[2];
 }

Cosa dovrebbero essere i valori del gravity Array a cui si fa riferimento in quel codice? Menziona anche alpha, ma ancora non capisco cosa sia/rappresenta, come funziona l'equazione (cos'è un filtro passa-basso? Come si determina il "costante del tempo"? Qual è il "tasso di consegna" persino misurato?) O Perché è stato persino impostato (abbastanza arbitrariamente) a 0,8.

Ovviamente mi manca nel dipartimento di fisica, ma capisco la matematica. Quindi se qualcuno sarebbe così gentile da spiegare il ragionamento della fisica dietro, sarei molto obbligato. So che ci sono spiegazioni dei termini sulle pagine che ho collegato, ma non hanno ancora alcun significato nella mia mente, tranne per il fatto che i termini corrispondono alle immagini di quali assi il dispositivo è accelerazione o ruotando.

È stato utile?

Soluzione

Questo è un filtro digitale passa-basso. Viene impiegato per la rimozione delle vibrazioni (segnali ad alto freq) in modo semplice.

L'alfa è compreso tra 0 e 1. più alfa più vibrazioni vengono rimosse (ti fidi di più nei valori storici della gravità), d'altra parte il valore della gravità è altamente ritardato.

Hai maggiori informazioni qui: http://en.wikipedia.org/wiki/low-pass_filter , Guarda la sezione di realizzazione a tempo discreto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top