聲波通信原理及源代碼

 目前聲波通信已經在iphone和android中廣泛的應用起來了,涉及到數據和文件傳輸,以及支付等衆多領域。比如iphone中的chirp,android中的茄子快傳,支付寶的聲波支付,小米快傳等。這些傳輸技術大多都是使用聲波作爲握手信號,然後使用wifi或其他信道傳輸數據。比如茄子快傳可能的實現爲,接收方先建立wifi熱點,然後將熱點名稱通過聲波發送出去,發送方在收到聲波後解碼出wifi熱點名稱,然後自動鏈接熱點並傳輸文件,整個過程不需要人工干預。這些程序的核心技術和難點在於聲波通信,下面講解聲波通信原理。

        聲波通信的原理其實比較簡單,主要是用單頻率聲音信號對數據進行編碼,然後播放這些單頻率聲音,接收方在收到聲音後,識別出頻率,然後根據頻率解碼出數據。比如:我們可以將1500HZ的正弦波對應數字1,1600HZ的正弦波對應數字2,1700HZ的正弦波對應數字3。那麼數字串3123就對應4段正弦波,規定每段正弦波持續100ms,則3123對應400毫秒的聲音段。接收方錄製聲音,對收到的聲音進行解析,識別出1700HZ,1500HZ,1600HZ,1700HZ四段正弦波頻率,然後查找碼本,解碼出的數字就是3123。

        說了這麼多,大家可能還會覺得比較抽象,沒關係,大家可以下載聲波通信的源代碼自己理解,csdn下載地址:點擊打開鏈接


http://download.csdn.net/detail/jcgu/7503955




Android手機之間通過聲音傳輸信息方法——聲波通信(含工程代碼)

分類: 語音識別 516人閱讀 評論(0) 收藏 舉報

大家可能都用過支付寶的聲波支付,即兩個終端同時打開該功能,一個終端作爲發送端send,一個終端作爲接收端get,send將本終端上發出的請求信息按照約定規則的算法進行聲音編碼,並播放出來,get端接收到send發來的聲音數據,按照約定規則進行解碼,即獲得了相應的信息。

原理如上,其實很簡單,就是用單頻率聲音信號對數據進行編碼,然後播放這些單頻率聲音,接收方在收到聲音後,識別出頻率,然後根據頻率解碼出數據。

最簡單的方法就是把0-9賦予特定的頻率,將需要傳輸的數據轉成十進制的數,分別賦予特定的頻率,然後發出聲音。

get端則接收該聲音,進行解碼,得到相應的真實數據即可。

在實際應用中,需要對所傳輸的數據按照需求設計合理的數據格式,並統一到接收端,必要的時候需要加入加密算法。

在應用中實現需要用到以下幾個部分

send:數據組合、編碼(加密)、發聲

get:接收聲音、解碼(解密)、數據拆分

有一個工程大家可以參考,我傳到了csnd下載中,直接可以運行聲波通信源代碼

http://download.csdn.net/detail/zpf8861/7538859
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章