Существует ли формула вычисления количества скачков на графике?

Есть 1000 цифр, которые показывают изменение угла с датчика (акселерометра) с течением времени. Вот такой график:

5aca11f828ddd145357538.jpeg

Компьютеру необходимо подсчитать, сколько таких "толчков" показывается на графике. Алгоритм без проблем можно придумать, но может существует какая-то простая математическая формула для вычисления таких вещей? Буду благодарен за указание направления.
  • Вопрос задан
  • 862 просмотра
Решения вопроса 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Выравниваем график через скользящее среднее: тут
2. Находим все экстремумы функции (точки "перелома"/смены направления): тут
Ответ написан
BojackHorseman
@BojackHorseman
...в творческом отпуске...
для функции, которая не задана аналитически? конечно нет
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@AlexSku
Программист по автоматике
Можно сначала НЧ-фильтр (допустим, скользящее среднее), а затем простой подсчёт максимумов (за счёт НЧ будет запаздывание). На всякий случай, ввести ограничение на минимальное расстояние (по времени) между максимумами (или, как предлагал товарищ, порог по амплитуде).
Ответ написан
Griboks
@Griboks
Тут определённо нужно это. Классическая задачка на вейвлет-преобразование. Для особо умных людей поясню, что для данной задачки необходимо использовать дискретное преобразование.
Ответ написан
@shockli
Также возможно определять пики по знаку производной, предварительно необходимо сгладить график скользящим средним например. Скользящее среднее для цифрового сигнала можно использовать например такое :
5acb32e1cd25a990092161.jpeg
(z^-1 это задержка сигнала на 1 такт, z^-d это задержка сигнала на d тактов, где d-длина окна)
Ответ написан
nikolay_karelin
@nikolay_karelin
Ведущий разработчик, пишу на Python, Tcl, Matlab
Я бы в сторону Фурье-преобразования смотрел: определяем доминирующую гармонику (возможно с какими-то эвристиками, чтобы шум убрать) и умножаем ее частоту на длительность наблюдения.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы