我有一些采样(单变量)数据 - 但驱动采样过程的时钟不准确 - 导致每 30 次随机滑动(少于)1 个样本。大约 1/30 频率的更准确的时钟为相同的数据……让我能够很好地估计时钟漂移。
我希望对采样数据进行插值以对此进行校正,以便将高频数据“拟合”到低频。我需要做到这一点“实时” - 不超过几个低频样本的延迟。
我认识到有各种各样的插值算法 - 在我考虑过的那些算法中,基于样条的方法看起来最有希望用于这些数据。
我在 Python 中工作 - 并找到了 scipy.interpolate 包 - 尽管我看不到明显的方法可以使用它来“拉伸”n 个样本以纠正一个小的计时错误。我忽略了什么吗?
我对指向合适的已发布算法的指针感兴趣,或者 - 理想情况下 - 一个 Python 库函数来实现这种转换。SciPy(或其他任何东西)是否支持这一点?
更新...
我开始意识到,起初似乎是一个微不足道的问题并不像我最初想象的那么简单。我不再相信简单地使用样条就足够了。我也意识到我的问题可以在不参考“时钟漂移”的情况下更好地描述......就像这样:
单个随机变量以两个不同的频率进行采样——一个低频率和一个高频率,没有公约数——例如 5hz 和 144hz。如果我们假设样本 0 在两种采样率下都是相同的,那么样本 1 @5hz 介于样本 28 和 29 之间。我想构建一个新系列——比如说 720 赫兹——它“尽可能平滑”地拟合所有已知数据点。
我曾希望找到一个“开箱即用”的解决方案。