Hice esta pregunta en StackOverflow, y me recomendaron que la hiciera aquí.
Tengo dos series temporales de datos de acelerómetro 3D que tienen diferentes bases de tiempo (los relojes comenzaron en diferentes momentos, con un ligero desplazamiento durante el tiempo de muestreo), además de contener muchos espacios de diferente tamaño (debido a retrasos asociados con la escritura para separar dispositivos flash).
Los acelerómetros que estoy usando son los económicos GCDC X250-2 . Estoy ejecutando los acelerómetros en su mayor ganancia, por lo que los datos tienen un ruido de fondo significativo.
Cada serie de tiempo tiene aproximadamente 2 millones de puntos de datos (más de una hora a 512 muestras / seg) y contiene alrededor de 500 eventos de interés, donde un evento típico abarca entre 100 y 150 muestras (200-300 ms cada una). Muchos de estos eventos se ven afectados por interrupciones de datos durante las escrituras flash.
Entonces, los datos no son prístinos, y ni siquiera son muy bonitos. Pero mi inspección del globo ocular muestra que contiene claramente la información que me interesa. (Puedo publicar tramas, si es necesario).
Los acelerómetros se encuentran en entornos similares, pero están moderadamente acoplados, lo que significa que puedo decir a simple vista qué eventos coinciden con cada acelerómetro, pero hasta ahora no he tenido éxito en el software. Debido a limitaciones físicas, los dispositivos también están montados en diferentes orientaciones, donde los ejes no coinciden, pero están tan cerca de la ortogonal como podría hacerlos. Entonces, por ejemplo, para acelerómetros de 3 ejes A y B, + Ax se asigna a -By (arriba-abajo), + Az se asigna a -Bx (izquierda-derecha) y + Ay se asigna a -Bz (adelante-atrás) .
Mi objetivo inicial es correlacionar los eventos de choque en el eje vertical, aunque eventualmente me gustaría a) descubrir automáticamente el mapeo del eje, b) correlacionar la actividad en los ases mapeados, yc) extraer las diferencias de comportamiento entre los dos acelerómetros (como la torsión o flexionando).
La naturaleza de los datos de la serie temporal hace que numpy.correlate () de Python sea inutilizable. También he mirado el paquete de R's Zoo, pero no he avanzado con él. He buscado ayuda en diferentes campos del análisis de señales, pero no he progresado.
¿Alguien tiene alguna pista de lo que puedo hacer o enfoques que debería investigar?
Actualización 28 de febrero de 2011: se agregaron algunas parcelas aquí que muestran ejemplos de los datos.