天天看點

類似支付寶聲波支付、蛐蛐聲波傳輸檔案是什麼原理?

目前聲波通信已經在iphone和android中廣泛的應用起來了,涉及到資料和檔案傳輸,以及支付等衆多領域。比如iphone中的chirp,android中的茄子快傳,支付寶的聲波支付,小米快傳等。這些傳輸技術大多都是使用聲波作為握手信号,然後使用wifi或其他信道傳輸資料。比如茄子快傳可能的實作為,接收方先建立wifi熱點,然後将熱點名稱通過聲波發送出去,發送方在收到聲波後解碼出wifi熱點名稱,然後自動連結熱點并傳輸檔案,整個過程不需要人工幹預。這些程式的核心技術和難點在于聲波通信,下面講解聲波通信原理。

類似支付寶聲波支付、蛐蛐聲波傳輸檔案是什麼原理?

聲波傳輸是利用聲音實作檔案的快速傳輸的一套技術解決方案:采用跨平台的技術,實作任何能夠發送聲波與接收聲波的智能裝置之間的資料傳輸。該技術方案需要在聯網環境下使用。目前已經提供支援以下平台的應用Demo:iOS、Android、HTML5。

聲波傳輸如何工作?

聲波傳輸技術由兩部分組成:音頻協定與網絡協定。音頻協定将待傳資料編碼為一系列標明頻率的音調;網絡協定則将資料以鍵值形式存入伺服器,其中鍵為與資料唯一對應的10個字元。

音頻協定

音頻協定的原理很簡單,易于實作。建立一個含有32個字元([0-9,a-v])的表,并将每個字元映射到頻率表。頻率表是根據樂理,通過伴音的計算生成。

0 = 1760hz

1 = 1864hz

v = 10.5khz

一個完整的聲波包包含20個音(即20個字元),每87.2毫秒發一個音 。前兩位為資訊頭,采用“hj”,用以通知接收端開始接收。中間10位為有效的資訊位,是有效的傳輸資訊,即Key值經過映射後的頻率資訊。最後8位為RS(Reed-Solomon)校驗位,通過RS校驗算法,對中間10位進行計算,生成8位的校驗資訊。。如下圖:

類似支付寶聲波支付、蛐蛐聲波傳輸檔案是什麼原理?

校驗主要用來處理由于噪聲幹擾造成的資訊接收錯誤。通過RS校驗,可以糾正25%的錯誤資訊。

發送端(編碼器)

發送端裝置隻需能夠發送1.7khz到10.5khz的正弦聲波即可。為了将發送出的聲波變得更好聽,可以對聲音進行一些美化處理,比如在我們的例子中,采用了橢圓形窗對聲波進行了音量上的優化。

類似支付寶聲波支付、蛐蛐聲波傳輸檔案是什麼原理?

接收端(解碼器)

接收端需要記錄聲音,并将其進行解碼以及容錯處理。其對算法的要求相對較高,降噪及容錯處理對能否得到正确的解碼資訊是至關重要的。是以接收端需要一定的數字運算能力,對裝置的硬體配置有一定的要求。對于算法的細節,我們會逐漸的公開并開源。

網絡協定

音頻協定的最大局限性,在于其較低的傳輸效率。

為了解決大量資料的傳輸問題,我們提供RESTful open Api,這樣發送裝置可以将照片上傳到雲端,并擷取雲端傳回的Key,将Key通過聲波發送出去。接收端通過收到的Key從雲端擷取資料。

傳輸模型

傳輸機制如下圖所示:

類似支付寶聲波支付、蛐蛐聲波傳輸檔案是什麼原理?

傳輸的内容通常為資料内容的Key(Hash值),傳輸實作步驟如下:

1. 在聲音傳遞之前,将待傳資料上傳到雲端;

2. 雲端生成一個與檔案唯一對應的Key(Hash值)傳回給發送端;

3. 發送端用聲音将Key發出;

4. 接收端接收到這個Key之後,再從雲端把這個資料下載下傳下來。

通過這樣的機制,就能夠實作音頻傳輸各種檔案和資訊。

原文出處:聲波傳輸技術簡介

繼續閱讀