Objective-C的峰值检测加速框架 [英] Objective-C Peak Detection Accelerate Framework

查看:311
本文介绍了Objective-C的峰值检测加速框架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是一个没有数学大师在这里,所以我要问任何人都熟悉数字信号处理,什么是检测实时峰的最佳途径。我得到约30帧/值一秒钟,我一直试图实现的斜率检测算法的山峰,它的工作好,约80%的情况下,但它真的不够好:(。

I am a no math guru here, so I want to ask anyone familiar with Digital Signal Processing, what is the best way of detecting real time peaks. I get about 30 frames/values a second and I've tried to implement the slope algorithm for detecting peaks, it worked OK, about 80% of the cases, but its really not good enough :(.

从我寻找应该使用快速傅立叶变换,但我不知道如何开始使用它,也许我错过了我应该怎么使用FFT在这种情况下,总体思路。

From what I've searched one should use the Fast Fourier Transform, but I have no idea how to get started with it, perhaps I'm missing the general idea of how I should use FFT in this case.

在iOS的,我们有这个惊人的加速框架,应该帮我做了FFT的东西,但只要我不明白的总体思路的pretty的多少对我没用。

In iOS we have this amazing Accelerate framework that should help me do the FFT stuff but as long as I dont get the general idea its pretty much useless to me.

谁能开导我莫名其妙地指向我朝着正确的方向:-)?

Can anyone enlighten me somehow by pointing me in the right direction :-) ?

感谢了很多,新年快乐!

Thanks a lot, and Happy New Year !

推荐答案

所以,你有摄像头指示灯值的浮动阵列产生每秒包含30个样本。你想知道什么是每秒峰值?还是永远​​?要使用加速您可以使用 vDSP_maxv 函数计算出最大价值的载体。

So you have a float array of camera light values generated every second that contains 30 samples. You want to know what is the peak value per second? Or ever? To calculate the maximum value in a vector using accelerate you can use the vDSP_maxv function.

或者,你想检测所有的山峰上面每秒一个给定的门槛?在这种情况下,可以生成包含阈值,是相同的长度,以搜寻峰的向量的向量。然后,你可以使用 vDSP_vmax 功能找到超过此阈值的所有值。

Or are you trying to detect all of the peaks above a given threshold per second? In that case you can generate a vector containing the threshold value that is the same length as the vector to search peaks. Then you can use the vDSP_vmax function to find all values above this threshold.

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

If this is not good enough, there are many more sophisticated techniques for finding peaks in time series, some simple ones are discussed here:

峰值检测时间序列

我可能会尝试一些像计算的梯度和 vDSP_nzcros 寻找0交叉点。

I would probably try something like calculating the gradient and looking for 0 crossings with vDSP_nzcros.

这篇关于Objective-C的峰值检测加速框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆