[英]Using the iOS Accelerate Framework for Data Smoothing
有没有人有任何关于使用 Accelerate Framework for Data Smoothing 的指示......? 我希望根据加速度计的输入来平滑数据。 我目前对传入的加速度计数据点进行一些基本过滤,然后将数据传递给一个函数,然后该函数基于此执行一些计算。 然后我想对处理过的数据做一些进一步的数据平滑。
我目前有一个原型,它使用 Python 库对结果数据执行 Savitzky-Golay 过滤器。 然后我在我的应用程序中使用它的输出。 我的原型可以很好地计算数据,但是我想在 Objective-C / Swift 中做到这一点。 出于性能原因,我还想使用 Accelerate Framework。 到目前为止,我还没有看到任何关于如何使用 Accelerate Framework 进行数据平滑的指示,因此我的问题是。
如果有人有任何指示或文档,请告诉我。
谢谢,
J
您可能会使用 vDSP_conv Apple Docu与 Savitzky-Golay 过滤器进行卷积。 你不需要Framework来创建内核,所以使用这个函数应该就足够了。
您可以在此处找到有关如何使用该功能的示例代码(您可能需要苹果开发人员凭据才能查看该代码) Apple 示例代码
我在我的项目中也有同样的需求。 我有两个包含来自线性编码器的时间和位置的Double
数组。 位置受到干扰,所以我想平滑它们。
我做了一个导入:
import Accelerate
然后使用函数vDSP.convolve()
:
var myTimes: [Double] = //populate with your data (aka x axis)
var myLengths: [Double] = //populate with your data (aka y axis)
let convTimes = vDSP.convolve(myTimes, withKernel: [0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1])
let convLengths = vDSP.convolve(myLengths, withKernel: [0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1])
就是这样,在 Swift 5 中。
原来的:
光滑的:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.