2017-06-24 3 views
0

I Beschleunigungs-Sensor in meiner android app verwendet und umgesetzt SensorEventListener meiner acctivityAnaloge Daten zur digitalen Datenkonvertierung in Android für Beschleunigungsmesser?

public void onSensorChanged(SensorEvent event) { 
    //acceleration.x,.y,.z is the input from the sensor 
    //result.x,.y,.z is the filtered result 
    //high pass filter to eliminate gravity 
    accel[0]= event.values[0]*kFilteringFactor+accel[0]*(1.0f-kFilteringFactor); 
    accel[1]= event.values[1]*kFilteringFactor+accel[1]*(1.0f-kFilteringFactor); 
    accel[2]= event.values[2]*kFilteringFactor+accel[2]*(1.0f-kFilteringFactor); 
    X=event.values[0]-accel[0]; 
    Y=event.values[1]-accel[1]; 
    Z=event.values[2]-accel[2]; 
    accel[0]=X; 
    accel[1]=Y; 
    accel[2]=Z; 

    double result=X+Y+Z; 

    readingData.setText("Data :"+ result); 
    } 

Ich bin Daten in analoge Wellenform bekommen, möchte ich in digitaler Form Daten. wie man diese Daten in etwas umwandelt, dass, wenn es Vibrationen gibt und ich die Daten grafisch darstelle, dann sollte der Graph in Rechteckwellenform sein.

Vielen Dank.

+0

Accelerometer Daten häufig auf den Sensor Frequenzparameter basiert abgefragt wird. –

+0

Ich denke du bist sehr verwirrt. Beschleunigungsmesserdaten würden niemals eine Rechteckwelle sein. Es ist kein periodisches Signal. Von einem einzelnen Beschleunigungsereignis sehen Sie ein sinusförmiges Dämpfungssignal. Machen Sie einen Schritt zurück und erklären Sie, was Sie eigentlich machen wollen. –

Antwort

0

Was Sie wollen funktioniert ähnlich wie ein Schrittzähler, der Schritte des Benutzers basierend auf den Bewegungen zählt, können Sie die gleichen Konzepte verwenden, die dort verwendet werden.

Sie müssen einen Schwellenwert für die Beschleunigungsgrßenwerte festlegen (kartesische Summe der x-, y-, z-Werte) und wenn die Größe den Schwellenwert überschreitet. Sie können den Wert als '1', dh in Bewegung, anderenfalls auf Null setzen. Im Schrittzähler verwenden wir nur die Messwerte der z-Achse, um die Bewegung entlang der z-Achse zu verfolgen.

Ich habe an Indoor-Positioning-System mit diesen gearbeitet. Sie finden die Indoor-Tracking-Anwendung hier: https://github.com/ramakanthd92/IndoorMagMap

Eine Veröffentlichung für die gleiche finden Sie hier http://ieeexplore.ieee.org/document/7106948/

hoffe, das hilft

+0

Ich habe dieses Ding implementiert, aber wenn es irgendeine mathematische Funktion gibt, um dies zu tun, lass es mich wissen. –

Verwandte Themen