信号周期的平均值 - Python

时间:2015-08-21 14:28:08

标签: python

我有一个近似循环平滑的信号。这显示在图 [

我想找到一个周期的平均值,比如两个最小值之间的平均值,如图中的灰线所示。怎么可能呢?

这是我的新手尝试(非常不优雅)找到最小值索引:

#find minima
f= data
start =0
end = len(f)/10
step =len(f)/10

while end < len(f):
    minVal = min(f[start:end])
    end = end +step
    start = start +step
    for i,j in enumerate(f):
        if j == minVal:
            print i,j

您可以在此link

找到数据

1 个答案:

答案 0 :(得分:1)

您可能想要做的事情需要一点钙质知识。可以使用傅里叶变换(技术上是离散傅立叶变换)在时域f(t)或它们之间的频域f(F)中查看循环函数https://en.wikipedia.org/wiki/Discrete_Fourier_transform 完成此操作后,您唯一需要做的就是找到f(F)的最大值:波浪中最常出现的频率。这将为您提供查找平均值的大小。