首页 > 解决方案 > 如何检测线性递减数据集中的峰值?

问题描述

我有一个如下所示的数据集:

数据集

这是一种随高度线性下降的信号,但最终会出现峰值,我想检测这些峰值出现在哪个高度,而不是最大值在哪里,而是在哪里开始增加和减少。

我试图检测点 n+1 和 n-1 之间的差异,但增加非常小,我想检测它何时开始增加和/或减少。

我也使用了这个movmean功能来减少噪音。但是,每个点之间的差异太小,算法无法检测到峰值。

此外,并非所有数据都具有这些值,这意味着我不能使用诸如“检测信号何时达到 19 值”之类的东西,因为有时值较小。

总而言之,关键是数据总是线性递减,那些峰值可能会出现,我想检测它们从哪里开始和结束。

如果有人可以帮助我,我将非常感激,非常感谢!

标签: matlab

解决方案


推荐阅读