3

我的老板希望我开发一个应用程序,使用 iPhone 识别人类听不到的 20-24 Hz 的声音频率。(iPhone 频率响应:20 Hz 至 20 kHz)

这可能吗?如果是的话,有人可以给我一些建议吗?从哪儿开始?

4

2 回答 2

6

在开始处理此问题之前,您需要确保 iPhone 硬件在物理上能够检测到如此低的频率。大多数麦克风在低频下的灵敏度非常差,而消费类模拟输入级通常具有高通滤波器,可将低于 ~ 30 Hz 的频率衰减。您需要尝试使用 iPhone 上现有的音频捕获应用程序捕获一些包含感兴趣信号的测试声音,并查看是否记录了低频分量。如果不是,那么您的应用程序将无法启动。

于 2012-07-23T07:47:33.337 回答
1

您正在寻找的是快速傅立叶变换。这是用于将基于时间的信号转换为基于频率的信号的主要算法。

似乎 Accelerate 框架有一些 FFT 支持,所以我开始看一下,已经有几篇关于它的帖子。

Apple 有一些示例 openCL 代码可以在 Mac 上执行此操作,但 AFAIK openCL 尚未在 iOS 上。

您还想检查麦克风的频率响应(我认为有一些应用程序可以通过麦克风进行示波器显示,这会有所帮助)。

你的基本方法是从麦克风中取出一大块声音。过滤它,然后可能会降低它的频率,这取决于你需要用它做什么。

于 2012-07-23T07:58:11.313 回答