У меня есть сигнал, который я пробую на 500 кГц. Я пытаюсь обнаружить взлет, падение и пик во входящих данных. Основание пика может составлять 250 мксек или 2,5 мсек, амплитуда может быть на 6 дБ или 15 дБ выше минимального уровня шума. У меня нет хорошего сна, к сожалению. Уровень постоянного тока сигнала не является постоянным, но движется гораздо медленнее, чем компонент переменного тока.
В момент принятия решения мне нужно знать наклон подъема и падения. Это сложная система реального времени, и мне действительно нужно принять решение в 100 мксек после того, как нисходящий наклон достигнет уровня постоянного тока.
Я ищу предложения, как я могу эффективно реализовать алгоритм, который является достойным.
В настоящее время я делаю скользящее среднее (последние 25 точек данных, сложенные вместе) и пытаюсь определить тренд. Как только я определяю тренд вверх, я начинаю искать тренд вниз, а когда я делаю это, я собираю еще около 50 образцов и начинаю вычислять.
Шум теперь легко закручивает этот алгоритм, отсюда и вопрос.
Обновить
В интересах других я в конечном итоге внедрил скользящее среднее, а затем интегратор. Скользящее среднее из последних 64 данных достаточно сглажено, но потеря степени возрастает, интеграция последних 8 значений вернула рост, и я просто ищу подъем и спад, позже я сделал линейную регрессию для наклона. Работает хорошо, не отлично, но хорошо.