Имеем трехосевой акселерометр записывающий 100 показаний в секунду. Нужно понять: двигается человек или нет.
Сейчас я сперва нахожу производную сигнала, как (F(t) - F(t-1))/0.01. Затем я разбиваю весь сигнал на отрезки по 1с.
Затем вычитаю из значений производной среднюю величину, возвожу их в квадрат и суммирую. Я полагаю, что я получаю энергию сигнала для каждого отрезка таким образом. По логике, чем больше энергия сигнала, тем выше активность.
Это я делаю для каждой оси акселерометра и складываю полученные значения. А потом прохожусь moving average фильтром, чтобы сгладить значения.
И проблема в том, что по полученным значениям я не всегда могу определить: есть активность или нет. Иногда при отсутствующей активности энергия высокая, а при высокой активности - низкая. Где я ошибся и как это делать правильно?
Пользовался этой статьей в качестве руководства
www5.informatik.uni-erlangen.de/Forschung/Publikat...