【问题标题】:computing derivatives of discrete periodic data计算离散周期数据的导数
【发布时间】:2012-04-30 09:44:19
【问题描述】:

我有一个数组 y[x], x=0,1,2,...,10^6,用 y(10^6)=y(0) 描述周期信号,我想计算它用快速方法求导 dy/dx。

我尝试了光谱差分法,即

dy/dx = inverse_fourier_transform (i*kfourier_transform(y)[k]) ....(1)

结果与 (y[x+1]-y[x-1])/2 不同,即由有限差分法建议。

两者哪个更准确,哪个更快?还有其他类似的方法吗?

以下是理解结果差异的努力:

如果将 (1) 中的fourier_transform 和inverse_fourier_transform 的和同时展开,则可以将dy/dx 表示为y[x] 与系数a[x] 的线性组合。我计算了这些系数,它们似乎是 1/n(当数组的长度变为无穷大时),其中 n 是到检查导数的距离。与仅使用两个相邻点的有限差分方法相比,光谱差异是高度非局部的...我对这个结果是否正确,如果是,如何理解?

【问题讨论】:

标签: methods derivative spectral


【解决方案1】:

如果您对高于奈奎斯特频率的信号进行采样,那么傅立叶方法会给您一个准确的答案,因为您的数据完全描述了信号(假设没有噪声)。

有限差分法是一阶近似,因此并不精确。但是,如果您绘制两者,它们应该显示相同的基本趋势。如果它们看起来完全不同,那么您可能在某个地方有错误。

然而,一个快速的 ft 是 O(nlog(n)) 而有限差分是 O(n),所以后者更快(但不是快到应该自动首选)。

傅立叶方法是非局部的,因为它准确地构建了整个信号(因此使用所有波长)。

【讨论】:

  • 谢谢!我的信号是连续的,没有截止频率,所以总是有更多的结构没有在小尺度上采样。
  • 这样理解是否合适:有限差分计算最小采样尺度上的导数,而频谱/傅立叶方法试图用所有采样频率重建整个信号并计算在无穷小的尺度上重建信号?
  • 是的,但是在您的情况下,您还会有伪影,因为重建不正确(因为您在数据中不存在“真实”信号中的频率)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-23
  • 1970-01-01
  • 1970-01-01
  • 2015-07-28
  • 1970-01-01
相关资源
最近更新 更多