论文部分内容阅读
摘 要:本系统主要使用一种基于声波通信的技术实现手机认证。传统的签到方式主要是人工登记,目前的签到主要使用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).
关键词:声波认证;手机签到系统
中图分类号: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).