Я хотел бы прежде всего подчеркнуть, что Matt Timmermans' answer сделал то, что люди действительно делают, классифицируя данные акселерометра из клинических исследований (проект, над которым я работал).
Затем: вы наблюдаете дискретизированный сигнал. В общем случае, если у вас есть датчик, который дает вам образцы со скоростью 6,75 Гц, самая высокая частота сигнала, который вы можете обнаружить, составляет 6,75 Гц/2 = 3,375 Гц. Все, что имеет частоту выше, будет неотъемлемо сфальсифицировано назад и выглядит так, будто это было что-то с частотой f с 0 < = f < 3.375Hz. Если вы не учли это, , пожалуйста, зайдите и прочитайте на Nyquist–Shannon sampling theorem. Особенно: защитите свои датчики (однако вы делаете это, например, используя демпферы) от всех входных данных выше этого предела, в противном случае ваши измерения могут стоить очень мало или даже ничего. Если ваш датчик делает это внутренне (это абсолютно возможно, достаточно акселерометров с аналоговыми фильтрами нижних частот), об этом позаботились. Однако запишите, какие характеристики вашего датчика.
Теперь ваше дело немного легче, потому что вы прекрасно знаете, что все ваше наблюдение будет периодическим, и оно измеряется вдоль трех ортогональных осей.
В этом случае, просто делая три дискретных преобразования Фурье сразу, извлекая «самую сильную» спектральную составляющую по всем трем каналам и находя фазу этой спектральной составляющей (которая является лишь сложным аргументом этого БПФ) в два других дадут вам то, что вы можете сопоставить с периодическим движением вокруг определенной оси в трехмерном пространстве. Если вы хотите, удалите это значение (установите бункеры на 0) и снова найдите самый сильный компонент и т. Д.
Дискретные косинусные преобразования могут быть сделаны в ошеломляющей скорости в настоящее время. с 6,75 Гц, ни один ПК в этом мире никогда не столкнется с проблемами, когда вы попробуете это, пока будете получать дополнительные образцы. Это очень низкая частота дискретизации.
Еще один, более элегантный (читайте: вам нужно меньше выборок для вычисления этого) будет использовать параметрическую оценку; в вашем случае датчик направления направления из мира радиочастотной технологии с несколькими антеннами, насколько я могу судить, мог бы непосредственно перейти к обнаружению оси вращения.Классическими алгоритмами здесь являются MUSIC и ESPRIT, а для вашего случая (ограниченное количество известных колебаний) ESPRIT может быть лучшим выбором.
Как бы вы сделали это со статическим набором данных? – chux
@chux не знаю. Вот почему я спрашиваю – user1884325
Итак, периодическое движение линейно, а не круговое? – pat