基于声波认证的手机签到系统

2015-05-30 10:48姚宏伟吴震东
企业技术开发·下旬刊 2015年4期
关键词:接收端声波音频

姚宏伟 吴震东

摘 要:本系统主要使用一种基于声波通信的技术实现手机认证。传统的签到方式主要是人工登记,目前的签到主要使用RFID技术、指纹识别。系统包括用于签到的手机app、签到接收端app,签到服务器。用于签到的手机,安装有签到系统软件。文章对近场的通信现状、系统原理和关键技术进行了分析。

关键词:声波认证;手机签到系统

中图分类号:TP311 文献标识码:A 文章编号:1006-8937(2015)12-0012-02

本系统主要使用一种基于声波通信的技术实现手机认证。传统的签到方式主要是人工登记,目前的签到方式主要使用RFID技术、指纹识别。

系统包括用于签到的手机app、签到接收端app,签到服务器。用于签到的手机,安装有签到系统软件,具体包括本机信息存储模块、录音模块、发声子系统和接收签到子系统。签到终端和签到手机相同,安装有签到系统软件,该系统软件具体包括本机信息存储模块、录音模块、发声子系统和接收签到子系统。签到服务器内置有将用户标识和位置信息关联的程序,该程序具体包括签到信息接收模块、信息检索模块、签到数据库。

1 近场通信现状

NFC技术已经存在很多年,相对成熟,但是,仍然未能大规模在手机上应用,支持近场通信需要更换设备所导致的高成本,一直是推广近场通信的阻力。今天,几乎所有售出的智能手机将采用该技术兼容。而相比NFC,超声波方案更以低成本和兼容性显示了突出的优势,目前市面上几乎所有的iPhone,android和wphone手机无需升级改造均可以支持超声波通信。

印度安全公司SlickLogin研发了一种使用电脑扬声器产生高频声音,通过手机的麦克风接收并解码的加密方式。2014年,该公司被google收购。除谷歌外,微软研究院也在2013年8月,展示了类似的声波技术,主要用于移动传输文件功能。4年前,shopkick在大型超市实现了室内定位,后被证实正是应用了超声波技术。2年前Facebook收购的Tagtile也同样利用了超声波技术实现royalty的管理系统。

2 系统原理

人能听到的声音在大约20~20 kHz范围内,此范围外的任何频率人类听觉系统难以察觉。现有移动设备一般能记录和再现的声音峰值频率达到22 kHz。此限制是由这些设备的最大可能输出采样率44.1 kHz推得,实际可记录范围比峰值频率略低。

采样率表示了每秒对原始信号采样的次数,我们常见到的音频文件采样率多为44.1 kHz,这意味着什么呢?假设我们有2段正弦波信号,分别为20 Hz和20 kHz,长度均为1 s,以对应我们能听到的最低频和最高频,分别对这两段信号进行40 kHz的采样,我们可以得到的结果是:20 Hz的信号每次振动被采样了40 K/20=2 000次,而20 kHz的信号每次振动只有2次采样。显然,在相同的采样率下,记录低频的信息远比高频的详细。

本系统采用采样率为44.1 kHz,采样大小为16 bit、双声道的PCM编码,数据速率为44.1 k×16×2=1 411.2 kbps。

声波签到系统运行框图如图1所示。

运行步骤为:

①签到终端持续发送编码的声波(code)。

②当签到端机靠近签到终端,手机端收到声波,对声波译码,将译码后码字发送给签到服务器认证。

③签到服务器收到认证信息,检测签到终端节点(node)是否存在,如果存在,则向后台数据库写入签到数据、返回确认,完成签到。

3 关键技术

为了减小数据处理过程中的延迟现象,采取了实时音频数据采集和数据处理技术,而不是像某些类似SDK中使用的技术那样,先录音得到一段音频文件,然后再进行数据处理。具体到Android平台上,使用AudioTrack模块来搭建PCM音频数据的采集管道,在管道的最后一个节点上,对得到的PCM数据再进行进一步的处理。为了进一步降低延迟,使用手机的DSP硬件来进行快速傅里叶变换,具体到Android系统上,就是使Native相关内置函数进行音频信号处理。

基于标准的2FSK,假如约定用1.6 kHz的音频信号表示二进制的0,用1.7 kHz的音频信号表示二进制的1,同时约定每一个bit持续的发送时间为100 ms,假设要发送一个8 bit的二进制数据11 001 010(忽略同步和校验部分的bit),对于发送端来说,代码逻辑相对简单,只需要让特定频率的信号发送特定的时间就行了。但是对于接收端来说,代码就较困难。虽然使用2FSK,但是并没有专用的硬件来完成调制解调过程,所以要完全用代码来模拟整个过程。这里面涉及到傅里叶变换、滤波等大量的数字信号处理内容,经上述处理完毕后,音频信号转化为二进制的0和1序列,进入系统通信协议栈继续处理。

举个例子,对于十进制数据12 345 678,转换成频率值后,可能就会是这样的一组值(1.7 kHz,1.8 kHz,1.9 kHz,2.0 kHz,2.1 kHz,2.2 kHz,2.4 kHz,2.5 kHz),因为每一个bit对应的频率值都会发生变化,那么接收端就可以忽略每个bit持续的时间,只需要检测出每一次频率值发生变化就行了,每一次变化后得到的数值,就可以对应到当前的bit位的值。使用这种调制解调的思路,接收端的代码处理相对容易。

4 结 语

我们对声波检查采样,提取其中的频率。在一个波周期,签到终端发送一系列相同频率的正弦波,并且相对稳定误差较小,波周期与波周期的间隔起伏明显。

系统签到端收到声源信息的结果如图2所示。从两个手机截图可以看出,左侧手机发送的信息,被右侧手机识别了,识别后即可进行签到验证。

参考文献:

[1] 王洋洋.基于声波通信技术的ATM创新应用[J].中国金融电脑,2014,(4).

[2] 郑子龙.基于声波通信的无线计算器设计[J].实验室科学,2010,(6).

[3] 朱宝泉.随钻数据声波传输系统算法研究[J].科学技术与工程,2012,(31).

猜你喜欢
接收端声波音频
基于扰动观察法的光通信接收端优化策略
顶管接收端脱壳及混凝土浇筑关键技术
一种设置在密闭结构中的无线电能传输系统
基于多接收线圈的无线电能传输系统优化研究
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
基于Daubechies(dbN)的飞行器音频特征提取
爱的声波 将爱留在她身边
声波杀手
音频分析仪中低失真音频信号的发生方法
自适应BPSK在井下钻柱声波传输中的应用