姚宏偉 吳震東
摘 要:本系統(tǒng)主要使用一種基于聲波通信的技術(shù)實現(xiàn)手機認證。傳統(tǒng)的簽到方式主要是人工登記,目前的簽到主要使用RFID技術(shù)、指紋識別。系統(tǒng)包括用于簽到的手機app、簽到接收端app,簽到服務(wù)器。用于簽到的手機,安裝有簽到系統(tǒng)軟件。文章對近場的通信現(xiàn)狀、系統(tǒng)原理和關(guān)鍵技術(shù)進行了分析。
關(guān)鍵詞:聲波認證;手機簽到系統(tǒng)
中圖分類號:TP311 文獻標識碼:A 文章編號:1006-8937(2015)12-0012-02
本系統(tǒng)主要使用一種基于聲波通信的技術(shù)實現(xiàn)手機認證。傳統(tǒng)的簽到方式主要是人工登記,目前的簽到方式主要使用RFID技術(shù)、指紋識別。
系統(tǒng)包括用于簽到的手機app、簽到接收端app,簽到服務(wù)器。用于簽到的手機,安裝有簽到系統(tǒng)軟件,具體包括本機信息存儲模塊、錄音模塊、發(fā)聲子系統(tǒng)和接收簽到子系統(tǒng)。簽到終端和簽到手機相同,安裝有簽到系統(tǒng)軟件,該系統(tǒng)軟件具體包括本機信息存儲模塊、錄音模塊、發(fā)聲子系統(tǒng)和接收簽到子系統(tǒng)。簽到服務(wù)器內(nèi)置有將用戶標識和位置信息關(guān)聯(lián)的程序,該程序具體包括簽到信息接收模塊、信息檢索模塊、簽到數(shù)據(jù)庫。
1 近場通信現(xiàn)狀
NFC技術(shù)已經(jīng)存在很多年,相對成熟,但是,仍然未能大規(guī)模在手機上應(yīng)用,支持近場通信需要更換設(shè)備所導(dǎo)致的高成本,一直是推廣近場通信的阻力。今天,幾乎所有售出的智能手機將采用該技術(shù)兼容。而相比NFC,超聲波方案更以低成本和兼容性顯示了突出的優(yōu)勢,目前市面上幾乎所有的iPhone,android和wphone手機無需升級改造均可以支持超聲波通信。
印度安全公司SlickLogin研發(fā)了一種使用電腦揚聲器產(chǎn)生高頻聲音,通過手機的麥克風接收并解碼的加密方式。2014年,該公司被google收購。除谷歌外,微軟研究院也在2013年8月,展示了類似的聲波技術(shù),主要用于移動傳輸文件功能。4年前,shopkick在大型超市實現(xiàn)了室內(nèi)定位,后被證實正是應(yīng)用了超聲波技術(shù)。2年前Facebook收購的Tagtile也同樣利用了超聲波技術(shù)實現(xiàn)royalty的管理系統(tǒng)。
2 系統(tǒng)原理
人能聽到的聲音在大約20~20 kHz范圍內(nèi),此范圍外的任何頻率人類聽覺系統(tǒng)難以察覺?,F(xiàn)有移動設(shè)備一般能記錄和再現(xiàn)的聲音峰值頻率達到22 kHz。此限制是由這些設(shè)備的最大可能輸出采樣率44.1 kHz推得,實際可記錄范圍比峰值頻率略低。
采樣率表示了每秒對原始信號采樣的次數(shù),我們常見到的音頻文件采樣率多為44.1 kHz,這意味著什么呢?假設(shè)我們有2段正弦波信號,分別為20 Hz和20 kHz,長度均為1 s,以對應(yīng)我們能聽到的最低頻和最高頻,分別對這兩段信號進行40 kHz的采樣,我們可以得到的結(jié)果是:20 Hz的信號每次振動被采樣了40 K/20=2 000次,而20 kHz的信號每次振動只有2次采樣。顯然,在相同的采樣率下,記錄低頻的信息遠比高頻的詳細。
本系統(tǒng)采用采樣率為44.1 kHz,采樣大小為16 bit、雙聲道的PCM編碼,數(shù)據(jù)速率為44.1 k×16×2=1 411.2 kbps。
聲波簽到系統(tǒng)運行框圖如圖1所示。
運行步驟為:
①簽到終端持續(xù)發(fā)送編碼的聲波(code)。
②當簽到端機靠近簽到終端,手機端收到聲波,對聲波譯碼,將譯碼后碼字發(fā)送給簽到服務(wù)器認證。
③簽到服務(wù)器收到認證信息,檢測簽到終端節(jié)點(node)是否存在,如果存在,則向后臺數(shù)據(jù)庫寫入簽到數(shù)據(jù)、返回確認,完成簽到。
3 關(guān)鍵技術(shù)
為了減小數(shù)據(jù)處理過程中的延遲現(xiàn)象,采取了實時音頻數(shù)據(jù)采集和數(shù)據(jù)處理技術(shù),而不是像某些類似SDK中使用的技術(shù)那樣,先錄音得到一段音頻文件,然后再進行數(shù)據(jù)處理。具體到Android平臺上,使用AudioTrack模塊來搭建PCM音頻數(shù)據(jù)的采集管道,在管道的最后一個節(jié)點上,對得到的PCM數(shù)據(jù)再進行進一步的處理。為了進一步降低延遲,使用手機的DSP硬件來進行快速傅里葉變換,具體到Android系統(tǒng)上,就是使Native相關(guān)內(nèi)置函數(shù)進行音頻信號處理。
基于標準的2FSK,假如約定用1.6 kHz的音頻信號表示二進制的0,用1.7 kHz的音頻信號表示二進制的1,同時約定每一個bit持續(xù)的發(fā)送時間為100 ms,假設(shè)要發(fā)送一個8 bit的二進制數(shù)據(jù)11 001 010(忽略同步和校驗部分的bit),對于發(fā)送端來說,代碼邏輯相對簡單,只需要讓特定頻率的信號發(fā)送特定的時間就行了。但是對于接收端來說,代碼就較困難。雖然使用2FSK,但是并沒有專用的硬件來完成調(diào)制解調(diào)過程,所以要完全用代碼來模擬整個過程。這里面涉及到傅里葉變換、濾波等大量的數(shù)字信號處理內(nèi)容,經(jīng)上述處理完畢后,音頻信號轉(zhuǎn)化為二進制的0和1序列,進入系統(tǒng)通信協(xié)議棧繼續(xù)處理。
舉個例子,對于十進制數(shù)據(jù)12 345 678,轉(zhuǎn)換成頻率值后,可能就會是這樣的一組值(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對應(yīng)的頻率值都會發(fā)生變化,那么接收端就可以忽略每個bit持續(xù)的時間,只需要檢測出每一次頻率值發(fā)生變化就行了,每一次變化后得到的數(shù)值,就可以對應(yīng)到當前的bit位的值。使用這種調(diào)制解調(diào)的思路,接收端的代碼處理相對容易。
4 結(jié) 語
我們對聲波檢查采樣,提取其中的頻率。在一個波周期,簽到終端發(fā)送一系列相同頻率的正弦波,并且相對穩(wěn)定誤差較小,波周期與波周期的間隔起伏明顯。
系統(tǒng)簽到端收到聲源信息的結(jié)果如圖2所示。從兩個手機截圖可以看出,左側(cè)手機發(fā)送的信息,被右側(cè)手機識別了,識別后即可進行簽到驗證。
參考文獻:
[1] 王洋洋.基于聲波通信技術(shù)的ATM創(chuàng)新應(yīng)用[J].中國金融電腦,2014,(4).
[2] 鄭子龍.基于聲波通信的無線計算器設(shè)計[J].實驗室科學,2010,(6).
[3] 朱寶泉.隨鉆數(shù)據(jù)聲波傳輸系統(tǒng)算法研究[J].科學技術(shù)與工程,2012,(31).