如何在 2 个位置之间平滑插值?

信息处理 插值 平滑 移动平均线
2022-01-25 09:39:58

我有一个一维信号(随时间推移伺服电机的位置),我已经提取了“峰值”/“关键”位置,选择了运行平均“局部极值”点。

下面是来自 2 个伺服系统的 2 个图,白色标记表示我想插值的关键位置:

伺服ZeroX

我玩过线性插值,但动作看起来很机器人。我想获得更自然/更平滑的运动,我想通过在两个关键点之间使用贝塞尔插值是可能的。这两点将是我想象的贝塞尔曲线的起点和终点,但我也需要解决/找出“锚”点。因为我有所有的点,所以我可以得到我想象的速度,但不知道如何将它们代入方程。

关于如何找到用于缓动/平滑插值的贝塞尔方程的其他两个成员的任何想法?

另外,因为我是新手:我的方法好吗?我缺少一个更简单的解决方案吗?

1个回答

当您谈论贝塞尔曲线时,听起来您像是从“插画家”的角度来考虑它们,这在样条插值方面并不完全正确(很可能是您正在寻找的)。

样条曲线是通过点的分段曲线。贝塞尔曲线是两点之间的三度样条曲线,它们中的一系列可以在绘图应用程序中形成“看起来像”一条曲线,但实际上是许多单独的曲线绑在一起(就像中间结加倍一样) .

除了插图概念,我认为您可以从一些流行的库中选择任何一维样条插值器。我使用 Python,所以我会使用 Scipy,看看:

http://docs.scipy.org/doc/scipy/reference/interpolate.html#d-splines