【发布时间】:2014-05-29 11:04:03
【问题描述】:
我正在关注this link 对我的数据集进行平滑处理。 该技术基于去除信号傅里叶变换的高阶项的原理,从而获得平滑函数。 这是我的代码的一部分:
N = len(y)
y = y.astype(float) # fix issue, see below
yfft = fft(y, N)
yfft[31:] = 0.0 # set higher harmonics to zero
y_smooth = fft(yfft, N)
ax.errorbar(phase, y, yerr = err, fmt='b.', capsize=0, elinewidth=1.0)
ax.plot(phase, y_smooth/30, color='black') #arbitrary normalization, see below
但是有些东西不能正常工作。 实际上,您可以检查结果图: 蓝点是我的数据,黑线应该是平滑曲线。
首先,我必须通过关注this discussion 来转换我的数据数组y。
其次,我只是随意归一化以将曲线与数据进行比较,因为我不知道为什么原始曲线的值远高于数据点。
最重要的是,曲线对于数据点来说就像“镜面反射”,我不知道为什么会这样。 如果能提供一些建议,尤其是对第三点的建议,以及更一般地说,如何针对我的特定数据集形状使用这种技术优化平滑,那就太好了。
【问题讨论】:
标签: python scipy fft smoothing