iOS是否内置了时间序列平滑功能(例如内核或高斯)?(也许在CoreImage或CoreAudio中?)

Fat*_*tie 1 core-audio core-image ios

假设您有1000 CGFloat秒的数组

...
at 13.0:   1000.001
at 14.0:   1152.934
at 15.0:   1000.909
at 16.0:   1200.666
...
Run Code Online (Sandbox Code Playgroud)

而且您将需要任何价值的价值

平滑(13.40)==大约1085

在此处输入图片说明

因此,我们正在谈论诸如内核平滑之类的东西-窗口函数。如

  • 高斯核平滑器
  • 内核平均平滑
  • 局部线性回归平滑器

优秀文章:https//en.wikipedia.org/wiki/Kernel_smoother

在此处输入图片说明

iOS是否在GPU框架之一中内置了类似功能?

计算机经常不断地执行此类操作是很普遍的,尤其是在图形子系统中。

如何在iOS上的GPU(可能是Core音频或Compute堆栈)中执行此操作?(当然,使用Swift手动操作很容易。)

Fat*_*tie 5

对于任何在这里进行搜索的人来说,一种解决问题的方法(基本上是“在数组点之间获取平滑的值”)几乎是一个解决方案,那就是精确地使用Apple自己的系统,Apple在iOS中的每个地方都使用该系统(每个动画,淡入淡出等)。

幸运的是,这里有来自Apple的出色的初学者文章:

https://developer.apple.com/documentation/accelerate/vdsp/linear_interpolation_functions/use_linear_interpolation_to_construct_new_data_points

在此处输入图片说明

希望它能对某人有所帮助!


有点相关,总是有机会让人们想起真正令人惊讶的“每个iOS /机器人工程师的最好的朋友”:

在此处输入图片说明

https://cubic-bezier.com/#.17,.67,.81,1.2

使用方法:https//stackoverflow.com/a/40363603/294884