Objective-C峰值检测加速框架

我是个math大师,所以我想问问熟悉数字信号处理的人,什么是检测实时峰值的最好方法。 我每秒得到大约30帧/值,而且我试图实现检测峰值的斜率algorithm,它工作正常,约80%的情况下,但它真的不够好:(。

从我search到的应该使用快速傅立叶变换,但我不知道如何开始使用它,也许我错过了这种情况下如何使用FFT的一般想法。

在iOS中,我们有这个惊人的加速框架,应该帮助我做FFT的东西,但只要我没有得到一般的想法对我来说几乎是无用的。

任何人都可以通过指向正确的方向来启发我:-)?

非常感谢,新年快乐!

所以你有一个每秒生成一个包含30个样本的浮点数组。 你想知道每秒钟的峰值是多less? 还是永远? 要使用加速计算向量中的最大值,可以使用vDSP_maxv函数。

或者你是否试图检测每秒给定阈值以上的所有峰? 在这种情况下,您可以生成一个vector,其中包含的阈值长度与search峰的vector长度相同。 然后,您可以使用vDSP_vmax函数查找高于此阈值的所有值。

如果这还不够好,还有许多更复杂的技术来寻找时间序列的高峰,这里讨论一些简单的技巧:

时间序列中的峰值检测

我可能会尝试像计算梯度和寻找与vDSP_nzcros 0交叉。