BastelWastel,

jo, das gibt's selten !

Man kann die beschleunigungsfreien Zeitpunkte daran erkennen, dass der Betrag der gemessenen Gesamtbeschleunigung gerade gleich der Erdbeschleunigung ist. Daraus kann man einen Algorithmus machen:
1. Man integriert aus den Gyro-Messwerten laufend den Erdbeschleunigungsvektor mit. Den nennen wir a_Gyro. Sein Betrag ist g.
2. Parallel dazu misst man mit den Beschleunigungsmessern laufend Richtung a_Gesamt und Betrag G der Gesamtbeschleunigung.
3. Aus beiden Ergebnissen rechnet man den gewichteten Mittelwert für den Einheitsvektor in Richtung des Erdbeschleunigungsvektors nach folgender Methode aus: Als Gewichtsfaktor für a_Gyro nimmt man
w_Gyro = ((G-g)/g)^2
und der für a_Gesamt
w_Gesamt =(1-w_Gyro).
Der gewichtete Einheitsvektor-Mittelwert ist
a_Mittel = (w_Gyro * a_Gyro/g) + (w_Gesamt *a_Gesamt)/G

Die Division durch g bzw. G muss ein, um a_Gyro und a_Gesamt zu Einheitsvektoren zu machen. Jedesmal, wenn G = g gemessen wird, wird das Gewicht von a_Gyro zu Null und das von a_Gesamt wird 1. Den Vektor g*a_Mittel nimmt man als Startwert für den nächsten Integrationsschritt. Das mare-Filter ist viel einfacher zu berechnen als ein Kalmanfilter und wirkt fast genauso gut.

mare_crisium