Ich bin ziemlich neu in DSP und habe einige Nachforschungen über mögliche Filter zum Glätten von Beschleunigungsmesserdaten in Python angestellt. Ein Beispiel für den Datentyp, den ich erlebe, ist in der folgenden Abbildung zu sehen:
Im Wesentlichen suche ich einen Rat, um diese Daten zu glätten und sie schließlich in Geschwindigkeit und Verschiebung umzuwandeln. Ich verstehe, dass Beschleunigungsmesser von Mobiltelefonen extrem laut sind.
Ich glaube nicht, dass ich im Moment einen Kalman-Filter verwenden kann, weil ich das Gerät nicht in die Hände kriegen kann, um auf das von den Daten erzeugte Rauschen zu verweisen.
FFT hat einige interessante Ergebnisse hervorgebracht. Einer meiner Versuche war, das Beschleunigungssignal zu feilen und dann die tiefen Frequenzen auf einen absoluten FFT-Wert von 0 zu bringen. Dann verwendete ich Omega-Arithmetik und inverse FFT, um eine Darstellung der Geschwindigkeit zu erhalten. Die Ergebnisse waren wie folgt:
Ist dies ein guter Weg, um Dinge zu erledigen? Ich versuche, das allgemeine Rauschen des Signals zu beseitigen, aber es müssen offensichtliche Spitzen wie etwa bei 80 Sekunden identifiziert werden.
Ich habe es auch satt, einen Tiefpassfilter für die ursprünglichen Beschleunigungsmesserdaten zu verwenden, was eine hervorragende Glättung bewirkt hat, aber ich bin mir nicht sicher, wohin ich von hier aus gehen soll. Jede Anleitung, wohin Sie von hier aus gehen, wäre wirklich hilfreich!
EDIT: Ein bisschen Code:
for i in range(len(fz)):
testing = (abs(Sz[i]))/Nz
if fz[i] < 0.05:
Sz[i]=0
Velfreq = []
Velfreqa = array(Velfreq)
Velfreqa = Sz/(2*pi*fz*1j)
Veltimed = ifft(Velfreqa)
real = Veltimed.real
Im Grunde genommen habe ich eine FFT mit meinen Beschleunigungsmesserdaten durchgeführt, die Sz ergab. Dabei wurden die hohen Frequenzen mit einem einfachen Ziegelwandfilter herausgefiltert (ich weiß, dass dies nicht ideal ist). Dann verwende ich Omega-Arithmetik für die FFT der Daten. Vielen Dank auch an datageist für das Hinzufügen meiner Bilder in meinen Post :)
fz
Arrays nicht anzeigen, scheint es, dass Sie stattdessen einen Hochpassfilter anwenden.