姚宏偉 吳震東


摘 要:本系統主要使用一種基于聲波通信的技術實現手機認證。傳統的簽到方式主要是人工登記,目前的簽到主要使用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).