Ich habe diese Frage bei StackOverflow gestellt und wurde empfohlen, sie hier zu stellen.
Ich habe zwei Zeitreihen von 3D-Beschleunigungsmesserdaten, die unterschiedliche Zeitbasen haben (Uhren wurden zu unterschiedlichen Zeiten gestartet, mit einem sehr geringen Kriechen während der Abtastzeit) sowie viele Lücken unterschiedlicher Größe (aufgrund von Verzögerungen beim Schreiben zum Trennen) Flash-Geräte).
Die Beschleunigungsmesser, die ich benutze, sind die preiswerten GCDC X250-2 . Ich betreibe die Beschleunigungsmesser mit der höchsten Verstärkung, sodass die Daten ein erhebliches Grundrauschen aufweisen.
Die Zeitreihen haben jeweils ungefähr 2 Millionen Datenpunkte (über eine Stunde bei 512 Abtastungen / s) und enthalten ungefähr 500 interessierende Ereignisse, wobei ein typisches Ereignis 100-150 Abtastwerte (jeweils 200-300 ms) umfasst. Viele dieser Ereignisse sind von Datenausfällen während Flash-Schreibvorgängen betroffen.
Die Daten sind also nicht makellos und auch nicht sehr hübsch. Meine Augapfelinspektion zeigt jedoch, dass sie eindeutig die Informationen enthält, an denen ich interessiert bin. (Ich kann bei Bedarf Diagramme veröffentlichen.)
Die Beschleunigungsmesser befinden sich in ähnlichen Umgebungen, sind jedoch nur mäßig gekoppelt, was bedeutet, dass ich anhand des Auges erkennen kann, welche Ereignisse mit den einzelnen Beschleunigungsmessern übereinstimmen. Bisher war dies in der Software jedoch nicht erfolgreich. Aufgrund physikalischer Einschränkungen sind die Geräte auch in unterschiedlichen Ausrichtungen montiert, wobei die Achsen nicht übereinstimmen, aber sie sind so nah an der Orthogonalität, wie ich sie herstellen könnte. So werden beispielsweise für 3-Achsen-Beschleunigungsmesser A und B + Ax auf -By (oben-unten), + Az auf -Bx (links-rechts) und + Ay auf -Bz (vorne-hinten) abgebildet. .
Mein ursprüngliches Ziel ist es, Schockereignisse auf der vertikalen Achse zu korrelieren, obwohl ich schließlich a) die Achsenabbildung automatisch ermitteln, b) die Aktivität auf den abgebildeten Assen korrelieren und c) Verhaltensunterschiede zwischen den beiden Beschleunigungsmessern (z. B. Verdrehen) extrahieren möchte oder biegen).
Die Art der Zeitreihendaten macht Pythons numpy.correlate () unbrauchbar. Ich habe mir auch R's Zoo-Paket angesehen, bin aber damit nicht weitergekommen. Ich habe in verschiedenen Bereichen der Signalanalyse nach Hilfe gesucht, aber keine Fortschritte erzielt.
Hat jemand eine Ahnung, was ich tun kann oder welche Ansätze ich erforschen sollte?
Update 28. Februar 2011: Hier wurden einige Diagramme hinzugefügt , die Beispiele für die Daten zeigen.