问题标签 [accelerate-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
496 浏览

ios - 函数“vDSP_vfltu16”(在 vDSP 中)实际上是做什么的?

它是 iOS 中 vDSP 中的一个功能。参考说这个功能

但实际上创造了什么?例如,我有一系列存储语音样本的 16 位整数。当我调用这个函数时,我实际上得到了什么?

0 投票
2 回答
2047 浏览

c++ - 使用 vDSP_deq22(双二阶 IIR 滤波器)进行滤波器后的噪声/失真

我正在为Novocaine开发一个 DSP 类(obj-c++) ,但我的过滤器似乎只会对信号造成噪声/失真。

我在这里发布了我的完整代码和系数:https ://gist.github.com/2702844 但它基本上归结为:

有关完整代码/上下文,请参阅要点。

系数:

(全部除以a0

由于我假设系数的顺序为:({ b0/a0, b1/a0, b2/a0, a1/a0, a2/a0 }请参阅:IIR 用于峰值 EQ 的系数,如何将它们传递给 vDSP_deq22?

是什么导致失真/噪音(过滤器不起作用)?

0 投票
3 回答
5407 浏览

c - 使用 CBLAS/LAPACK 在 C 中进行对称矩阵求逆

我正在用 C 语言编写一个需要矩阵和向量乘法的算法。我有一个矩阵Q (W x W),它是通过将向量J (1 x W) 的转置与自身相乘并添加单位矩阵I来创建的,使用标量a进行缩放。

Q = [(J^T) * J + aI]。

然后我必须将Q 的倒数向量 G相乘以得到向量M

M = (Q^(-1)) * G。

我正在使用cblasclapack来开发我的算法。当矩阵Q使用随机数(浮点类型)填充并使用例程sgetrf_sgetri_进行反转时,计算的逆是正确的。

但是当矩阵 Q 是对称的时,当你乘以 (J^T) x J 时,计算的逆是错误的!.

在从 C 调用lapack例程时,我知道数组的行优先(在 C 中)和列优先(在 FORTRAN 中)格式,但是对于对称矩阵,这应该不是问题,因为 A^T = A.

我在下面附上了矩阵求逆的 C 函数代码。

我相信有更好的方法来解决这个问题。谁能帮我这个?

使用 cblas 的解决方案会很棒......

谢谢。

0 投票
2 回答
1737 浏览

ios - AVAudioRecorder 通过将 FFT 加速到频率 - 执行

我的主要目标:找到通过 AVAudioRecorder 引入的噪音的频率。我遵循了这个:

http://www.ehow.com/how_12224909_detect-blow-mic-xcode.html

我已经阅读了许多关于 SO 的问题,询问如何检测频率。大多数答案说:“使用 FFT!” 然后提问者说:“哦,太好了!”。

我的问题是,你如何从这里得到:

不知何故神奇地使用 FFT...(我将使用加速.h),

并以“频率= 450.3”结束?

如果有人可以向我展示我将使用的实际代码

  1. 将来自 AVAudioRecorder 的声音插入 Accelerate 和
  2. 如何将结果转化为频率...

那将不胜感激。

提前致谢。

0 投票
3 回答
5045 浏览

iphone - iPhone 加速框架 FFT 与 Matlab FFT

我没有太多的数学背景,但我正在从事的项目的一部分需要单个向量的 FFT。matlab 函数 fft(x) 可以准确地满足我的需要,但是在尝试设置 Accelerate Framework fft 函数后,我得到的结果完全不准确。如果有人对 Accelerate Framework fft 有更多的专业知识/经验,我真的可以使用一些帮助来找出我做错了什么。我的 fft 设置基于我在 google 上找到的一个示例,但没有教程或任何产生不同结果的东西。

EDIT1:根据迄今为止的答案改变了一些东西。它似乎在进行计算,但它不会以任何接近 matlab 的方式输出它们

这是 matlab 的 fft 文档:http: //www.mathworks.com/help/techdoc/ref/fft.html

** 注意:出于示例目的,两个示例中的 x 数组将为 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}

Matlab代码:

Matlab输出:

苹果加速框架:http: //developer.apple.com/library/mac/#documentation/Accelerate/Reference/vDSPRef/Reference/reference.html#//apple_ref/doc/uid/TP40009464

目标C代码:

目标 C 输出:

ffx 现在包含:

0 投票
2 回答
525 浏览

macos - 使用 veclib 在 OS X 上进行频率分析

我正在寻找任何关于 os x 的频率分析示例。我知道我应该计算音频样本的 FFT。我有来自苹果网站的用于执行 ffts 的代码示例:

http://developer.apple.com/library/mac/#featuredarticles/AccelerateFrameworkData/_index.html

但是,我正在寻找任何示例来解释实部和虚部如何转换为频率和幅度分量。我有一个非常简单的音调,我想计算它的频率。

0 投票
1 回答
3829 浏览

iphone - 使用 Apple Accelerate Framework 中的 vDSP_conv 执行自相关

我需要执行数组(向量)的自相关,但我无法找到正确的方法。我相信我需要来自 Accelerate Framework 的方法“vDSP_conv”,但我不知道如何成功设置它。最让我失望的是需要 2 个输入。也许我有错误的功能,但我找不到对单个向量进行操作的功能。

文档可以在这里找到

从网站复制

vDSP_conv

对两个向量执行相关或卷积;单精度。

无效vDSP_conv(常量浮动__vDSP_signal[],vDSP_Stride __vDSP_signalStride,常量浮动__vDSP_filter[],vDSP_Stride __vDSP_strideFilter,浮动__vDSP_result[],vDSP_Stride __vDSP_strideResult,vDSP_Length __vDSP_lenResult,vDSP_Length __vDSP_lenFilter);

参数

__vDSP_signal

__vDSP_signalStride

__vDSP_filter

__vDSP_strideFilter

__vDSP_result

__vDSP_strideResult

__vDSP_lenResult

__vDSP_lenFilter

例如,假设您有一个float x = [1.0, 2.0, 3.0, 4.0, 5.0]. 我将如何看待它的自相关?

输出应该类似于float y = [5.0, 14.0, 26.0, 40.0, 55.0, 40.0, 26.0, 14.0, 5.0] //generated using Matlab's xcorr(x) function

0 投票
1 回答
1638 浏览

iphone - 如何使用 Accelerate 框架从矩阵中找到特征值和特征向量?

我有一个用 C 语言编写的函数来计算特征值和特征向量,但它需要大量的 CPU 时间,因为我多次调用这个函数作为另一个算法的一部分。根据 Apple 的说法,Accelerate 框架可用于使用 BLAS 和 LAPACK 非常快速地从矩阵中找到特征值。

由于我是 Accelerate 框架的新手,所以我应该使用哪些函数来查找方阵的特征值和特征向量?

0 投票
2 回答
3619 浏览

iphone - 使用 CPU 在 iOS 上最快的 YUV420P 到 RGBA 转换

任何人都可以推荐一个非常快速的 API,最好是 NEON 优化,以便在运行时使用 CPU在 iPhone 上进行 YUV 到 RGB 转换?可悲的是,加速框架的 vImage 没有提供任何合适的东西,并且使用 vDSP,转换为浮点数和返回似乎不是最理想的,几乎与自己编写 NEON 一样多。

我知道如何通过着色器为此使用 GPU,事实上,我已经这样做了,以显示我的主视频平面。不幸的是,我还需要在运行时创建和保存显示子区域的 RGBA 纹理。这个问题的大部分好答案都涉及着色器,但我不想使用 GPU 来完成额外的工作,因为:

(1) 虽然我可以使用 RenderTextures 和我的 YUV 着色器来转换和缓存区域,但我不想给应用程序添加更多的同步/复杂性。(我已经将纹理从 CVTextureCache 传递到 Unity3D ......在很多情况下,我已经在 Unity3D 后面从 OpenGL 切换状态并且不想再进行调试......)

(2) 更实际的是,我正在编写一个游戏,并且没有任何可用的 GPU(因为游戏通常没有 - 在过去几年中,我已经提供了更多关于如何从 GPU 中获取东西的演示,而不是如何把东西放在上面……)

(3) 在 iPad 上,我有一个备用核心坐在那里无所事事。

虽然有许多库可以将 YUV 转换为 RGBA,但我希望节省编写自己的 NEON 版本的时间。现在我正在使用 OpenCV 的实现,如下所示:

这是正确的,但结束的日子很慢。

如果有人以前看过其他实现(CoreImage?FFMpeg?)并且可以推荐一个,我将非常感激。

谢谢,亚历克斯。

0 投票
1 回答
4979 浏览

osx-lion - 如何使用加速框架执行矩阵逆运算?

我想找到矩阵的逆矩阵。

我知道这涉及到第一个 LU 因式分解,然后是求逆步骤,但我无法通过搜索苹果的 10.7 文档找到所需的函数!

这似乎是一篇有用的帖子Symmetric Matrix Inversion in C using CBLAS/LAPACK,指出应该使用sgetrf_and函数。sgetri_但是搜索这些术语我在 Xcode 文档中一无所获。

有人有这个矩阵运算的样板代码吗?