Как использовать vDSP_vswmax, чтобы получить максимальное значение в скользящем окне?

Я пытался и пытался получить максимумы, но я не могу, массив большой, как это:

  var testBuff = [Float](repeating: 0.0,
                           count: Int(testArr.count))
    var maxSamplesBuffer = [Float](repeating: 0.0,
                                   count: testArr.count)

vDSP_vabs(testArr, 1, &testBuff, 1, vDSP_Length(testArr.count));//get absolute value array


    vDSP_vswmax(testBuff, 1, &maxSamplesBuffer, 1, vDSP_Length(20) , vDSP_Length(30))//Returns: self[i] = max(a[i ..< i+windowLength])

testArr - это [422848] выборок, содержащих поплавки. Я могу получить максимумы для маленьких массивов, но когда они становятся большими, у меня возникают проблемы.

0 ответов

Другие вопросы по тегам