1

私はここでは数学の第一人者ではないので、デジタル信号処理に詳しい人に聞きたいのですが、リアルタイムのピークを検出する最良の方法は何ですか. 1 秒あたり約 30 フレーム/値を取得し、ピークを検出するための傾斜アルゴリズムを実装しようとしましたが、約 80% のケースで問題なく動作しましたが、実際には十分ではありません :(.

私が検索したものから、高速フーリエ変換を使用する必要がありますが、それを開始する方法がわかりません。おそらく、この場合に FFT を使用する方法の一般的なアイデアが欠けています。

iOS には、FFT を実行するのに役立つこの驚くべき Accelerate フレームワークがありますが、一般的なアイデアが得られない限り、私にはほとんど役に立ちません。

誰かが私を正しい方向に向けることによって、どういうわけか私を啓発することができます:-)?

明けましておめでとうございます。

4

1 に答える 1

2

したがって、30個のサンプルを含む毎秒生成されるカメラライト値のfloat配列があります。1秒あたりのピーク値を知りたいですか?または今まで?加速を使用してベクトルの最大値を計算するには、vDSP_maxv関数を使用できます。

または、1秒あたりの特定のしきい値を超えるすべてのピークを検出しようとしていますか?その場合、ピークを検索するためのベクトルと同じ長さのしきい値を含むベクトルを生成できます。次に、この関数を使用して、vDSP_vmaxこのしきい値を超えるすべての値を見つけることができます。

これが十分でない場合は、時系列のピークを見つけるためのより高度な手法が多数あります。ここでは、いくつかの簡単な手法について説明します。

時系列でのピーク検出

おそらく、勾配を計算して、で0の交差点を探すようなことを試してみますvDSP_nzcros

于 2013-01-02T17:59:13.183 に答える