苹果加速框架 - 在不损失绝对价值的情况下约束幅度

时间:2012-09-04 13:54:39

标签: ios accelerate-framework vdsp

我想使用apple的加速来有效削减音频信号。如果信号大于1或小于-1,我想使它等于1或-1。 vDSP_vmaxmg看起来几乎就是我正在寻找的东西,但并不完全。文档说这样做:

输出矢量C的每个元素是来自输入矢量A和B的相应值的大小。

所以看起来vDSP_vmaxmg的输出总是输入的绝对值,总是正的。如果我想保留信号输出的绝对值,但是限制幅度,加速框架能帮助我吗?

1 个答案:

答案 0 :(得分:4)

您想要vDSP_vclip( )

#include <Accelerate/Accelerate.h>

...

float min = -1.0f;
float max =  1.0f;
vDSP_vclip(inputBuffer, inputStride, &min, &max,
           outputBuffer, outputStride, length);