我目前正在创建一个应用程序,它使用高频声音向其他设备发出信号。
(transmitter):一种设备将产生一个约20千赫的短爆发声。
(接收机):另一个设备将在距离发射机(大约10米左右)很小的距离收听这个频率的声音,该设备接收来自麦克风的音频数据。
背景噪音将相当大,从0-10 The左右(大约人类的语音范围),并将产生一小群人。
我需要接收装置能探测到20 the的声音,与噪音分离,
知道它是什么时候收到的。
对适当的算法、库、甚至更好的C或
如果能探测到这种高频的声音,我们将不胜感激。
发布于 2011-03-04 19:59:05
20 kHz可能正在推动它,因为(a)大多数声卡在18-20 kHz时都有低通(抗放气)过滤器,(b)大多数扬声器和麦克风在20 kHz时的响应往往很差。您可能想考虑考虑15 kHz吗?
实际的检测部分应该很容易--只需在音调频率上实现一个窄带通滤波器,校正输出和低通滤波器(例如10 Hz)。
发布于 2011-03-04 19:59:04
您可能需要查看FFT (快速傅立叶变换)。此算法将允许您分析波形并将其转换为频谱以供进一步分析。
发布于 2011-03-04 20:31:49
如果这是为Mac或iOS,我会开始研究核心音频的音频单元。
这是苹果的核心音频概述。
2一些用于Mac的AudioUnits
3或用于iOS AudioUnit托管
https://stackoverflow.com/questions/5198531
复制相似问题