问题标签 [vdsp]

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 投票
2 回答
739 浏览

swift - Swift 中的 DFT 结果与 MATLAB 中的不同

输入文件“sinusoid.txt”位于以下链接 https://dpaste.de/M1VD

输入文件数据由频率为 50 和 120 的两个正弦波组成。Matlab 代码生成以下链接中给出的正确输出:

https://dpaste.de/2mdK

当Matlab的结果被缩放并取大小时,它正确地表明频率为50的幅度为0.7,频率为120的幅度为1。

与 Matlab 输出相比,Swift 代码输出完全不同且无法识别,无论应用了何种比例因子以及是否应用了实数到复数或复数到复数的转换:

https://dpaste.de/MUwB

任何想法为什么会这样?

0 投票
0 回答
196 浏览

swift - 使 for 循环中的 DCT 更快

我需要对多个信号(同一音频信号的时间片)运行 DCT。

我当前的代码如下所示:

但这需要很长时间。因此,对于 10 秒的音频样本,它需要 60 多秒。

有没有办法快速对多个信号进行 DCT?(我已经为这个计算组成了一个附加到另一个样本的数组)。

希望你能帮忙,

最好的,

费拉斯 A.

0 投票
2 回答
180 浏览

macos - vDSP fft 计算良好实践

为了使用 Accelerate 框架计算 FFT,我看到很多人使用(我猜的旧方法)fft_zrip而不是 Apple 在 vDSP 文档中推荐的方法​DSP_DFT_Execute

有什么理由为什么​DSP_DFT_Execute这么少用吗?

0 投票
1 回答
1987 浏览

objective-c - 使用 vDSP 实现 FFT

我有关于当前非常嘈杂的用户手指发红的数据,所以我想通过 FFT 运行它以减少噪音。此图左侧的数据与我目前的数据相似。我已经熟悉了有关 vDSP 的 Apple 文档,但似乎没有关于如何使用 Apple 的 vDSP 和 Accelerate 框架实现快速傅里叶变换的清晰或简明指南。我怎样才能做到这一点?

我已经提到过这个问题,这是一个类似的主题,但已经过时并且不涉及 vDSP。

0 投票
0 回答
190 浏览

ios - 如何使用 vDSP_vswmax 获取滑动窗口中的最大值?

我尝试并尝试获得最大值,但我不能,数组很大,如下所示:

testArr 是 [422848] 个包含浮点数的样本。我可以得到小阵列的最大值,但是当它变大时我就遇到了麻烦。

0 投票
1 回答
234 浏览

ios - 如何实现复数的FFT/IFFT

我见过许多用实数实现 FFT / IFFT 的 vDSP 示例,但我还没有看到任何用复数实现 FFT / IFFT 的事件。你能指出我应该走的方向吗?提前谢谢你。

0 投票
1 回答
66 浏览

swift - 忽略来自 vDSP 的输出参数

当使用 vDSP 执行一些快速计算时,我通常不关心输出参数之一。假设我正在查找数组最大值的索引:

理想情况下,我想m完全摆脱,以便只vDSP_maxvi填充i。就像是:

但当然这不起作用(“nil 与预期的参数类型不兼容 'UnsafeMutablePointer<Float>'”)。是否有某种参数我可以发送给这些类型的方法,上面写着“忽略此参数”?谢谢阅读。

0 投票
1 回答
195 浏览

python - 如何使用加速框架将 scipy.signal.fftconvolve 移植到 swift 中?

我正在处理 iOS 中的音高识别问题,出于分析目的,我使用python它给了我适当的结果....但是当我尝试在iOS中使用accelerate framework它重新创建相同的东西时,它给出了不正确或奇怪的结果。有人可以帮我解决这个问题。

我想执行autocorrelationusing ,这在python usingFFT convolution中发生得很好。但是当我尝试使用它做同样的事情时,它会给出不正确的结果。scipy.signal.fftconvolvevDSP_conv

如果有这方面经验或知识的人可以指导我或解释 fftconvolve 的工作原理,那将是一个很大的帮助。提前致谢。

0 投票
0 回答
281 浏览

ios - 使用 vDSP 比较两个阵列

我需要使用 vDSP 对两个数组进行比较操作。我没有看到任何直接功能可以做到这一点。

使用现有 vDSP 功能的任何解决方法也将有所帮助。

我以前使用过很多 MMX、SSE 和 SSE2 Intrinsics,并且有很多功能可以做到这一点。但是在这里找不到类似的功能。

0 投票
1 回答
317 浏览

swift - 使用 Swift Accelerate vDSP_ctoz 的分段错误

我正在尝试使用Swift Accelerate 库将交错DSPComplex向量转换为向量。下面代码的最后一行产生错误DSPSplitComplexvDSP_ctozSegmentation fault: 11

我不明白vDSP_ctoz当我分配了大向量并且只尝试处理少量元素时,为什么会尝试访问越界内存。向量的大小为 2048,N(要处理的元素数量)的参数为vDSP_ctoz1。

我也尝试N在调用时使用不同的步幅和值vDSP_ctoz,但无济于事。