我的数据如下所示:
有时数据在浅坡中间有一个较高的点
我想找到一种方法来过滤数据,使其平滑并将第一个上升沿保留为峰值,就像这样
加权平均是实现这一目标的好方法吗?或者那不会成功吗?有没有更好的方法
现在我一直在使用平均重量来平滑它,但它让我在斜坡的中心而不是在上升边缘有一个峰值。
我的数据如下所示:
有时数据在浅坡中间有一个较高的点
我想找到一种方法来过滤数据,使其平滑并将第一个上升沿保留为峰值,就像这样
加权平均是实现这一目标的好方法吗?或者那不会成功吗?有没有更好的方法
现在我一直在使用平均重量来平滑它,但它让我在斜坡的中心而不是在上升边缘有一个峰值。
尝试查看有关“起始检测”的帖子,其中通常使用“通量”(或一阶差分,通常是光谱幅度)来计算信号的“变化率”。高变化率是您在上面绘制的图像的最显着特征。
但是,您的第三张图片似乎翻译了曲线的最大值(向左)是您的意图吗?
您可以使用像 Matt 建议的中值滤波器。或者,如果您确定您的数据总是看起来像第三张图像,那么您可以将其用作模板并将其与测试信号相关联。您可以提出一些衡量标准,以了解您在模板中的实际上升点与相关峰的距离,并对其余相关峰使用相同的值。
一种经验方法:
使用标准低通(高斯)平滑信号以获得。
另一方面,计算值上的滑动差异()。该派生信号将在上升沿最大。(您也可以尝试平滑差异。)
然后将原始信号与平滑信号混合,使用自适应加权,如
请注意,这种方法宁愿保留边缘而不是“峰值”。