问题标签 [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.
swift - Swift 中的 DFT 结果与 MATLAB 中的不同
输入文件“sinusoid.txt”位于以下链接 https://dpaste.de/M1VD
输入文件数据由频率为 50 和 120 的两个正弦波组成。Matlab 代码生成以下链接中给出的正确输出:
当Matlab的结果被缩放并取大小时,它正确地表明频率为50的幅度为0.7,频率为120的幅度为1。
与 Matlab 输出相比,Swift 代码输出完全不同且无法识别,无论应用了何种比例因子以及是否应用了实数到复数或复数到复数的转换:
任何想法为什么会这样?
swift - 使 for 循环中的 DCT 更快
我需要对多个信号(同一音频信号的时间片)运行 DCT。
我当前的代码如下所示:
但这需要很长时间。因此,对于 10 秒的音频样本,它需要 60 多秒。
有没有办法快速对多个信号进行 DCT?(我已经为这个计算组成了一个附加到另一个样本的数组)。
希望你能帮忙,
最好的,
费拉斯 A.
macos - vDSP fft 计算良好实践
为了使用 Accelerate 框架计算 FFT,我看到很多人使用(我猜的旧方法)fft_zrip
而不是 Apple 在 vDSP 文档中推荐的方法DSP_DFT_Execute
。
有什么理由为什么DSP_DFT_Execute
这么少用吗?
ios - 如何使用 vDSP_vswmax 获取滑动窗口中的最大值?
我尝试并尝试获得最大值,但我不能,数组很大,如下所示:
testArr 是 [422848] 个包含浮点数的样本。我可以得到小阵列的最大值,但是当它变大时我就遇到了麻烦。
ios - 如何实现复数的FFT/IFFT
我见过许多用实数实现 FFT / IFFT 的 vDSP 示例,但我还没有看到任何用复数实现 FFT / IFFT 的事件。你能指出我应该走的方向吗?提前谢谢你。
swift - 忽略来自 vDSP 的输出参数
当使用 vDSP 执行一些快速计算时,我通常不关心输出参数之一。假设我正在查找数组最大值的索引:
理想情况下,我想m
完全摆脱,以便只vDSP_maxvi
填充i
。就像是:
但当然这不起作用(“nil 与预期的参数类型不兼容 'UnsafeMutablePointer<Float>'”)。是否有某种参数我可以发送给这些类型的方法,上面写着“忽略此参数”?谢谢阅读。
python - 如何使用加速框架将 scipy.signal.fftconvolve 移植到 swift 中?
我正在处理 iOS 中的音高识别问题,出于分析目的,我使用python它给了我适当的结果....但是当我尝试在iOS中使用accelerate framework
它重新创建相同的东西时,它给出了不正确或奇怪的结果。有人可以帮我解决这个问题。
我想执行autocorrelation
using ,这在python usingFFT convolution
中发生得很好。但是当我尝试使用它做同样的事情时,它会给出不正确的结果。scipy.signal.fftconvolve
vDSP_conv
如果有这方面经验或知识的人可以指导我或解释 fftconvolve 的工作原理,那将是一个很大的帮助。提前致谢。
ios - 使用 vDSP 比较两个阵列
我需要使用 vDSP 对两个数组进行比较操作。我没有看到任何直接功能可以做到这一点。
使用现有 vDSP 功能的任何解决方法也将有所帮助。
我以前使用过很多 MMX、SSE 和 SSE2 Intrinsics,并且有很多功能可以做到这一点。但是在这里找不到类似的功能。
swift - 使用 Swift Accelerate vDSP_ctoz 的分段错误
我正在尝试使用Swift Accelerate 库将交错DSPComplex
向量转换为向量。下面代码的最后一行产生错误DSPSplitComplex
vDSP_ctoz
Segmentation fault: 11
我不明白vDSP_ctoz
当我分配了大向量并且只尝试处理少量元素时,为什么会尝试访问越界内存。向量的大小为 2048,N
(要处理的元素数量)的参数为vDSP_ctoz
1。
我也尝试N
在调用时使用不同的步幅和值vDSP_ctoz
,但无济于事。