【问题标题】:Detect high amplitudes in a plot检测图中的高振幅
【发布时间】:2011-08-27 22:09:28
【问题描述】:

我绘制了几个值,它们表示信号强度是弱还是高。我的问题是,我想统计评估开始和结束 X 坐标。

我的问题是,这些高值的蓝色振幅确实有一些 Y 坐标较低的部分(如果我放大)。因此,使用 10-20 个样本的平均值不会有帮助或准确。我不确定哪种算法在这里有意义。视觉上我只想要黑线的开始和结束值。

有什么聪明的方法可以做到这一点吗?这些值在 CSV 中:

-0.00048828
0.00006104
-0.00024414
-0.00039673
-0.00109863
0.00286865
0.00527954

【问题讨论】:

    标签: python algorithm search statistics plot


    【解决方案1】:

    您可以尝试使用以下方式过滤信号:

    信号:s[i]

    过滤后的信号:f[i]

    减少系数:c(选择一个介于 0 和 1 之间的值)

    f[0] = s[0]

    f[i] = max(c * f[i-1], s[i])

    这种方法会在高振幅区域的末端引入偏差。您必须调整 c 以获得具有预期精度的结果。如果 c 太低:你会对高频过于敏感,你会得到不想要的“空洞”。如果c太高,经过高幅值区域后滤波信号的衰减会太慢。

    对过滤后的信号应用阈值以获得限制。

    【讨论】:

    • 你要明确你的问题:X_start和X_end是怎么定义的?据我了解您的问题,它们是由信号的包络电平定义的。如果是这样,你必须过滤你的信号以获得它的包络(例如使用我的答案中的算法),然后在这个包络上应用一个阈值来检测你认为它高或低的区域。完成此分割后,您可以轻松计算 X_start 和 X_end。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-02
    • 1970-01-01
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 2016-10-07
    相关资源
    最近更新 更多