【发布时间】:2014-05-30 00:02:49
【问题描述】:
我有 numpy 二维数组定义的嘈杂曲线:
如您所见,它具有第一个平坦段,然后是上升、峰值和衰减阶段。我需要找到上升阶段的起点,这里用红点标记。我如何在 python 中做到这一点?
【问题讨论】:
-
你能在一定距离上取y的平均值,得到与前一个值的差并使用第一个负值吗?
-
@Eyrofire,我已经考虑过了,但是这种方法对噪音非常敏感。我在此处显示的曲线相对平滑,但我可能需要处理几个数量级的信噪比较小的数据。
-
看来您首先需要一个好的算法 - 平滑/过滤数据并仍然保留 拐点 点的最佳方法,您可能想在dsp.stackexchange.com 中询问.一旦你有了它,如果你需要,你可以带着你的 Python 实现返回这里。他们在那边是
NumPy和SciPyaware。 -
您是否需要找到实际的拐点(即凹度变化的位置,向上或向下)?或者您是否试图确定信号强的频谱的起点?严格来说,红点不是拐点。
-
@Taro Sato,我需要起点。抱歉,即使是我的母语,我也不擅长数学术语。 ☺
标签: python numpy scipy signal-processing