Questions tagged [vdsp]

vDSP is the (vector) digital signal processing portion of Apple’s Accelerate framework.

vDSP is the (vector) digital signal processing portion of Apple’s Accelerate framework, part of OS X and iOS. It provides a variety of vector and array functions for signal processing and other applications. vDSP uses hardware features such as SIMD (Single Instruction Multiple Data) to provide high performance.

121 questions
2
votes
1 answer

vDSP FFT2d Swift wrong imaginary part on the result

I'm using vDSP from Accelerate framework to perform a fft2d operation in a 2d array that comes from a mesh grid. The problem is that I get an array of 0 in the imaginary part that don't match with the same operation in python using pylab.fft2. If I…
Daniel Rogi
  • 163
  • 7
2
votes
1 answer

constUnsafePointer unresolved identifier in Swift FFT

I have been looking at examples of FFTs in Swift, and they all seem to have ConstUnsafePointer when using vDSP_ctozD as in the example below: import Foundation import Accelerate internal func spectrumForValues(signal: [Double]) -> [Double] { //…
MKW
  • 23
  • 2
2
votes
2 answers

how to correctly pad 2D array for FFT with iOS Accelerate framework

I am using iOS Accelerate framework for finding FFT of a 2D array. The code below works correctly only for power of 2 images. We have to pad input arrays with zeros for non power of 2 images. But I am not able to do the padding correctly. Currently…
kiranpradeep
  • 10,859
  • 4
  • 50
  • 82
2
votes
0 answers

When does Apple's Accelerate Framework / vDSP gather memory from the GPU back to the CPU?

I am using Apple's Accelerate Framework, and namely vDSP, in order to perform several subsequent matrix & vector operations. When does the CPU gather/copy the memory from the GPU? Does it happen after every vDSP function call? If not, is there a way…
Hatchmaster J
  • 543
  • 1
  • 6
  • 15
2
votes
1 answer

Creating a Metal buffer from vDSP DSPSplitComplex in Swift

I am trying to pass Apple vDSP's DSPSplitComplex struct to Apple Metal's newBufferWithBytesNoCopy in Swift to create a Metal buffer object: // Create vDSP Split Complex data type var iData1Real = [Float](count: Int(lenIData1), repeatedValue:…
JustDoIt
  • 409
  • 4
  • 14
2
votes
1 answer

Frequency Range from FFT using vDSP

I have an array of values as input which can be plotted as follows… Using vDSP_zvmagsD I get an array that I can plot as follows… How do I get the frequency range that I need to label the x-axis?
Onato
  • 9,916
  • 5
  • 46
  • 54
2
votes
1 answer

vDSP equivalent for Linux

I have had good experiences with Apple's vDSP primitives under OS X and iOS. http://developer.apple.com/library/mac/#documentation/Accelerate/Reference/vDSPRef/Reference/reference.html Now I am trying to port some code that relies on vDSP to Linux…
Ben Englert
  • 583
  • 5
  • 17
2
votes
1 answer

how to check if vDSP function runs scalar or SIMD on neon

Im currently using some functions from the vDSP framework, especially the vDSP_conv and I'm wondering if there is any way to check if the function invokes scalar mode or is processed SIMD on the neon processor. The documentation of the function…
Maximilian Körner
  • 846
  • 11
  • 31
2
votes
3 answers

eliminate known audio from recorded sound to estimate background sound level via deconvolution

i have 2 signals, one containing audio data which is played on speakers. second one contains mic data recording the speakers simultaneously. what ive done so far: align signals in time domain via correlation. apply fft on overlapping part of both…
Maximilian Körner
  • 846
  • 11
  • 31
2
votes
1 answer

apple accelerate framework -- constrain magnitude without losing absolute value

I'd like to use apple's accelerate for efficient clipping of an audio signal. If the signal is greater than 1 or less than -1, I'd like to make it equal to 1 or -1. vDSP_vmaxmg looks like it's almost what i'm looking for, but not quite. The…
morgancodes
  • 25,055
  • 38
  • 135
  • 187
2
votes
5 answers

Why does order of array declaration affect performance so much?

First, in tuning a frequency analysis function using the Accelerate framework, the absolute system time has consistently been 225ms per iteration. Then last night I changed the order of which two of the arrays were declared and suddenly it went…
Adam Jones
  • 775
  • 6
  • 23
2
votes
1 answer

iOS audio acceleration

Is anybody using OpenGLES2.0 shaders (GLSL) successfully for audio synthesis? I already use vDSP to accelerate audio in my iOS app, which provides a simple vector instruction set from C code. The main problem with vDSP is that you have to write…
Rob
  • 1,387
  • 1
  • 13
  • 18
1
vote
2 answers

Using vecLib/vDSP to create a sine tone generator with an envelope

I want to create a sine tone generator with the Accelerate framework. I'd like my generator to have an attack/release setting (i.e., an amplitude envelope). I understand how to create a vector full of sine values. What I don't know is how to apply…
Dany Joumaa
  • 2,030
  • 6
  • 30
  • 45
1
vote
1 answer

vDSP and Discrete Cosine Transform

I am new to FFT, DCT and the like. Recently I was looking into the documentation for the vDSP library from Apple and was unable to find a DCT implementation. I was wondering if anyone knows of a way to calculate the DCT using one of the FFT…
damnabit
  • 61
  • 4
1
vote
2 answers

Using std::complex with iPhone's vDSP functions

I've been working on some vDSP code and I have come up against an annoying problem. My code is cross platform and hence uses std::complex to store its complex values. Now I assumed that I would be able to set up an FFT as follows: DSPSplitComplex…
Goz
  • 61,365
  • 24
  • 124
  • 204
1 2
3
8 9