2017-06-02 8 views
0

私はそれが私に適切な結果が得られた分析目的のために、私はのpythonを使用した、iOS版で音声ピッチ識別に問題が働いている....しかし、私はiOSので同じことを再作成しようとしたときaccelerate frameworkを使用して間違った結果や奇妙な結果が出ています。誰か助けてもらえますか?加速フレームワークを使用してscipy.signal.fftconvolveをswiftに移植するにはどうすればよいですか?

私はscipy.signal.fftconvolveを使用してのpythonに非常によく起こるFFT convolutionを、使用してautocorrelationを実行したいです。しかし、私がvDSP_convを使って同じことをしようとしているとき、それは間違った結果を与えています。

これについての経験や知識を持っている人が私にこのことを指導したり、fftconvolveの仕組みを説明したりすることができれば、大きな助けとなります。 ありがとうございます。

答えて

0

この質問に完全に回答するにはコードを参照する必要がありますが、vDSP_convのAccelerateのドキュメントに基づいて、パラメータを正しく渡していますか? vDSP_convは、IFが正の場合は相関を実行し、IFが負の場合はコンボリューションを実行します。また、コンボリューションを実行しようとしているベクトルを正しく指すように注意する必要があります。私がPythonコードをSwift/ObjCに持ってきて、Accelerateフレームワークを使用したとき、私は関数がどのように機能しているかを理解するために、簡単な小さなベクトルでAccelerate関数を試す必要がありました。

https://developer.apple.com/documentation/accelerate/1450516-vdsp_conv?language=objc