Спайк-фильтрация в реальном времени C++
Я пытаюсь реализовать фильтр спайков на некотором крутящем моменте, который я читаю из SEA в режиме реального времени. На данный момент мы используем скользящее среднее, чтобы заменить значения пиков, которые пересекают определенный порог. (Мы получаем пики, потому что привод иногда портится и дает внезапный всплеск).
Я пытаюсь найти лучший, более точный способ фильтрации шипов, чтобы он более точно предсказывал, какой крутящий момент был бы вместо шипа.
Кстати, это программа на C++.
Спасибо!
1 ответ
Если ваш крутящий момент не меняется очень быстро, самый простой способ отфильтровать пики - это так называемый "ограничитель скорости нарастания". Операция тривиальна и может быть легко реализована на любом языке. Вам нужно хранить последнее хорошее значение. Когда вы получите чтение, сравните его с последним и, если оно больше, увеличьте последнее, если оно меньше, уменьшите последнее.