Как соотнести два временных ряда с промежутками и разными временными базами?

У меня есть два временных ряда данных трехмерного акселерометра, которые имеют разные временные базы (часы запускаются в разное время, с некоторым очень небольшим сползанием во время выборки) , а также содержит множество промежутков разного размера (из-за задержек, связанных с записью на отдельные флэш-устройства).

Я использую недорогие GCDC X250-2 акселерометры. Я использую акселерометры с максимальным усилением, поэтому данные имеют значительный минимальный уровень шума.

Каждый временной ряд имеет около 2 миллионов точек данных (более часа при 512 отсчетах в секунду) и содержит около 500 событий Интересно, где типичное событие охватывает 100-150 выборок (200-300 мс каждая). Многие из этих событий зависят от сбоев данных во время записи во флеш-память.

Итак, данные не являются чистыми и даже не очень красивыми. Но мой осмотр глазного яблока показывает, что он явно содержит интересующую меня информацию. (Я могу опубликовать графики, если необходимо.)

Акселерометры находятся в аналогичных условиях, но связаны лишь умеренно, Это означает, что я могу определить на глаз, какие события совпадают с каждым акселерометром, но мне пока не удалось сделать это в программном обеспечении. Из-за физических ограничений устройства также устанавливаются в разной ориентации, где оси не совпадают, но они настолько близки к ортогональным, насколько я мог их сделать. Так, например, для 3-осевых акселерометров A и B, + Ax сопоставляется с -By (вверх-вниз), + Az сопоставляется с -Bx (слева-направо), а + Ay сопоставляется с -Bz (спереди-сзади). .

Моя первоначальная цель состоит в том, чтобы сопоставить события удара по вертикальной оси, хотя в конечном итоге я бы хотел: а) автоматически обнаруживать отображение оси, б) коррелировать активность на нанесенных на карту асов и в) извлекать различия в поведении двух акселерометров. (например, скручивание или изгиб).

Природа данных временного ряда делает функцию numpy.correlate () Python непригодной для использования. Я' Я также посмотрел на пакет R's Zoo, но не продвинулся с ним. Я искал помощи в различных областях анализа сигналов, но не добился прогресса.

У кого-нибудь есть какие-либо подсказки относительно того, что я могу сделать, или подходы, которые я должен исследовать?

Обновление 28 февраля 2011: добавлено несколько графики здесь , показывающие примеры данных.

14
задан BobC 28 February 2011 в 12:53
поделиться