0

I am working on a voice pitch identification problem in iOS, For analysis purpose i was using python it gave me appropriate results.... But when I tried to recreate the same thing in iOS using accelerate framework it is giving incorrect or weird results. Can somebody please help me on this.

I want to perform autocorrelation using FFT convolution, which happens very well in python using scipy.signal.fftconvolve. but when I am trying to do the same using vDSP_conv it is giving incorrect results.

It will be a great help if somebody with experience or knowledge on this can guide me on this or explain how fftconvolve works. Thanks in advance.

Amanpreet
  • 1,301
  • 3
  • 12
  • 29
Ashif Khan
  • 9
  • 1
  • 4

1 Answers1

0

I would need to see your code to fully answer this question but based on the Accelerate documentation for vDSP_conv, are you sure you're passing in parameters correctly? vDSP_conv will perform correlation if IF is positive, and convolution if IF is negative. You also need to be careful about pointing correctly to the vector you're trying to perform the convolution on. When I've brought translated Python code into Swift/ObjC and used the Accelerate framework I've needed to try out the Accelerate functions on simple small vectors to start out to make sure I understand how the functions are working.

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

jpetrichsr
  • 247
  • 2
  • 11