插值周期性时间序列

计算科学 插值
2021-12-03 20:04:13

我有一堆读数每 4 小时运行一次,但是每个传感器都有不同的偏移量。一个传感器可能会读取t=0,4,8,12,16,20另一位先生读到t=1,5,9,13,17,21. 这使得比较读数变得困难。

将它们放在平等的基础上会很好 - “规范化”。为此,我正在考虑以下问题:

f(t)是一个周期函数f(t+24)=f(t). 我们被给予f(4k)为了k=0,1,,5. 我们如何估计f(1)?

真的很想估计f(t)对所有人0t<24但你明白了。


我考虑的一种方法是使用傅立叶变换。ω=eπi/3成为第六个统一根并写下:

f(n)=f^(0)1+f^(1)ωn/6+f^(2)ω2n/6+f^(3)ω3n/6+f^(4)ω4n/6+f^(5)ω5n/6

然后我要求f(n+14)我可以使用这个傅里叶变换来估计。不确定我的缩放比例是否正确。


这是正确的还是有更好的线性插值等替代方法?

1个回答

是的,您可以像之前所做的那样使用傅里叶变换对周期性数据进行插值。如果您尝试插值的周期函数在数学意义上是平滑的(即所有导数都是连续的),则效果最佳。但是,如果样本点不能形成平滑函数(实验数据可能如此),这种插值可能会很差。在这种情况下,我认为您可以使用Lanczos 过滤之类的东西来改善结果。

至于替代方案,您还可以使用线性插值、三次样条插值等,根据您的数据性质和您的精度要求,它们也可以很好地工作。在您的情况下,我认为使用基于傅里叶变换的插值可能是最准确的,因为它利用了周期性。

希望这会有所帮助!