c++ - 确定 C++ vector 中下降/上升沿的简单算法是什么?

标签 c++ algorithm vector

我正在轮询一个简单的传感器,该传感器可能具有非常陡峭的下降沿或上升沿;这些值被读回一维标准 vector 。

我不想只使用硬编码的触发值,因为它不够稳健,无法适应具有不同灵敏度和基线值的不同传感器。我尝试通过低通滤波器处理 vector ,但这会使信号失真到足以让我无法再得到明确定义的边缘。

我尝试寻找前一个样本的 6 倍标准差超过下一个样本的点,但这种方法非常容易受到噪声的影响。

如果有任何指点,我将不胜感激!

谢谢,

最佳答案

设置“太高而无法忽略”和“太低而无法忽略”的阈值。忽略中间的值。仅当超过阈值时才将值视为向上或向下。这个过滤器有一个名字(Sobel?)。它现在逃脱了我。显然,当你从低到高时,你有一个上升沿;当你从高到低时,你有一个下降沿。

关于c++ - 确定 C++ vector 中下降/上升沿的简单算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33714321/

相关文章:

c++ - 删除基于数组的列表中的项目

c++ - 关于C++常量语法的简单问题

javascript - 如何使用cocos creator在Cocos2d-X/Cocos2d-JS中调用javascript函数并从c++传递值

algorithm - 使用有限的操作对双端队列进行排序?

c++ - 二分查找的使用

引用对象的 C++ 错误 - 如何调试?

c++ - 为什么是非法的: copying vector of pointers into a vector of pointers to constants

c++ - 图书馆操纵终端空间?

algorithm - 俄罗斯方 block 旋转算法

algorithm - 链表插入运行时困惑