使用 vDSP 的 iPhone4s、iPhone 5 每秒最大 FFT 数
Posted
技术标签:
【中文标题】使用 vDSP 的 iPhone4s、iPhone 5 每秒最大 FFT 数【英文标题】:iPhone4s, iPhone 5 max FFTs per second using vDSP 【发布时间】:2012-11-12 08:34:47 【问题描述】:我和我的团队正计划为 ios 构建一个外部配件,用于采样 256KHZ 的超声波。这很多,我想知道 iOS vDSP 是否可以以 256,000 个样本/秒的速度进行从时域到频域的转换,或者我们需要为 FFT 提供基于硬件的解决方案。
来自 Apple 的示例项目(例如 aurioTouch)非常有用,但我找不到比专业音频采样频率更多的采样率。我需要帮助确定以下内容:
-
vDSP FFT 能否处理 256,000 个样本/秒?如果没有,除了在硬件中进行转换之外,还有其他创造性的方法可以做到这一点吗?
我发现与此相关的最接近的讨论是
How many FFTs per second can I do on my smartphone? (for performing voice recognition)
【问题讨论】:
您需要指定 os 的 FFT 大小。 FFT 为 O(n log n),因此 n 可以对整体吞吐量产生显着影响。此外,您应该指定是否计划重叠 FFT。 感谢您的回复。目前,我们不确定 n 的最佳值是多少。 n 将是 256 帧。是的,计划是重叠 FFT。 几千个 256 元素的 FFT 是相当微不足道的计算量。现代智能手机是真正的计算机,可以轻松处理。 【参考方案1】:256 kHz 数据速率比普通 44100 音频快不到 6 倍。并且使用 vDSP/Accelerate 框架的实时音频数据的浮点 FFT 仅在最近的 iOS 设备上使用 1 个 CPU 的 1% 或更少。
【讨论】:
【参考方案2】:FFT 计算时间将是可用时间的一小部分。
资料来源:我编写了 vDSP FFT。
【讨论】:
【参考方案3】:为什么不看看设备如何处理上采样信号,从 aurioTouch 开始。
如果您需要更快,您应该测量基于整数的 FFT 实现的速度。
【讨论】:
我们从未考虑过基于整数的 FFT。感谢您的建议,将考虑它。 由于 NEON 指令,最近的 iOS 设备可以像缩放整数一样快或更快地执行浮点 FFT。以上是关于使用 vDSP 的 iPhone4s、iPhone 5 每秒最大 FFT 数的主要内容,如果未能解决你的问题,请参考以下文章