我遇到了一个名为Zoosh的android应用,该应用使用超声频率进行短距离通信。
我给人的印象是,Android或大多数手机无法产生超声波频率。
有人可以告诉我这件事是如何工作的,以及如何实现这样的事情。
就我而言,我认为我们需要为每个用户产生一个唯一的频率,该频率可以从另一部手机的麦克风读取。然后在另一部电话上,我们可以使用离散傅立叶变换来获得指定范围内的最大频率。
(顺便说一句,我想制作类似tagtile.com的东西,但要用两部手机,不需要额外的硬件)
任何帮助都会很棒。
谢谢
最佳答案
您将无法收到高于采样率1/2的任何频率,它们只会折回(混叠)。为了消除这种混叠现象,通常在A2D采样器之前安装一个滤波器,以将高于1/2采样频率的频率截止。
当然,所使用的频率实际上可能不是超声波的,只是在频率能力的最高端且体积很小,并且设备彼此靠近。
在接近超声波的频率下使用DFFT,并且采样率接近该频率的2倍,您将获得相当宽的频率范围。最好只对数据使用脉冲编码调制之类的东西。
每个用户的区分可以通过对包含用户标识的数据进行前置处理来完成。
或考虑使用蓝牙,GameKit提供了一个不错的API,可用于短距离的对等通信。蓝牙版本4.0提供了非常快速的连接,尽管它仅在最新的设备上可用。
注意:应用于声音的术语“超声波”是指高于可听声音频率的任何事物,并且名义上包括超过20,000 Hz的任何事物。