Filtro accelerometro Android?

Ho visto molti esempi circa il filtraggio dei valori di Accelermeter, per annullare la gravità (filter passa-alto).

Ma la maggior parte di essi era un primo ordine, che si dice essere semplice, ma laggoso e non il migliore (anche se non so nulla sui filtri o DSP).

  • Come get i valori di tutto EditText all'interno di un ListView
  • Errori di collegamento in Android NDK (riferimento non definito a `__cxa_end_cleanup ')
  • android.database.sqlite.SQLiteCantOpenDatabaseException: errore sconosciuto (codice 14): Imansible aprire la difficoltà del database
  • "IllegalArgumentException: bad base-64" durante il tentativo di utilizzare Base64 su Android 1.5
  • Come get il certificato di impronte digitali SHA-1 in Android Studio per la modalità di debug?
  • Imposta l'allarme ripetuto each giorno a tempo specifico in Android
  • Qualcuno qui ha detto che esiste la soluzione migliore utilizzata in DSP per rilevare il movimento. Purtroppo non posso nemless immaginare che cosa sarebbe, perché sono totalmente estraneo al field.

    Spero che qualcuno possa dire alless il tipo di filtri che possono essere usati quando si tratta del sensore. Naturalmente, anche una breve introduzione all'algorithm specifico sarà molto soddisfatto 🙂

    Grazie in anticipo.

  • MonoDroid: errore quando chiama constructor di visualizzazione personalizzata - TwoDScrollView
  • camera predefinita per scattare una foto in android
  • Come utilizzare il caricatore di immagini universale nella cache offline?
  • Emulatore Android: come scoprire se viene utilizzata la funzionalità di virtualizzazione hardware?
  • Come inserire le informazioni di contatto sul contatto esistente in Android 1.6?
  • setOnClickListener (View.OnClickListener) nella vista di tipo non è applicabile per gli argomenti (SequencerActivity) back.setOnClickListener (this);
  • 3 Solutions collect form web for “Filtro accelerometro Android?”

    Si desidera utilizzare la class SensorListener() di Android. Ad esempio, "The Schwartz Unsheathed" è un progetto Android open source ospitato su Google Code che sembra abbastanza utile (scritto da Clark Scheff).

    Puoi controllare la sua origine tramite SVN http://code.google.com/p/the-schwartz-unsheathed/source/checkout oppure semplicemente esplorare sul web. La sorgente viene suddivisa in un'attività ( TheSchwartz.java ) e una vista ( GraphView.java ). GraphView.java contiene classi SensorListener SensorListener() ad onSensorChanged() che è where avviene l'elaborazione dell'accelerometro. Le linee 284 e 285:

     magnitude = (float)Math.sqrt(values[0]*values[0]+values[1]*values[1]+values[2]*values[2]); magnitude = Math.abs(magnitude - SensorManager.GRAVITY_EARTH); 

    Il valore della magnitude viene valutato per nessun movimento, "hit" o "swing" del telefono Android. Mi rendo conto che questo non filtra i dati in un senso di elaborazione del segnale, ma mostra un modo per classificare i dati del sensore. Spero che sia d'aiuto.

    È ansible provare un filter FIR o IIR ad alto livello che potrebbe darti una transizione di dominio di frequenza più nitida. Ma un metodo più avanzato è quello di utilizzare un filter Kalman adattivo. Ecco un articolo sugli accelerometri e sui filtri Kalman .

    la DSP Guide è quello che stai cercando. Dà la "teoria" fondamentale così come la math dietro Digital Signal Processing e le opere.

    http://www.dspguide.com/ch14.htm Questo è un buon punto di partenza

    Controlla.

    E dall'esperienza personale, un primo filter di ordine sarà "buono" sufficiente per le applicazioni più semplici. Anche se questo dipende completamente dall'applicazione specifica

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.