国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android手機的聲波通信系統(tǒng)

2017-04-08 13:06向潤昭石楠王巖
電腦知識與技術(shù) 2017年5期

向潤昭 石楠 王巖

摘要:Wi-Fi、藍(lán)牙、IC卡等近距離通信手段需要額外的硬件支持,隨著通信技術(shù)的發(fā)展,智能手機成為人們隨身攜帶的必備通信工具。本文設(shè)計并實現(xiàn)一種基于Android手機的聲波通信系統(tǒng),該系統(tǒng)利用聲波作為傳輸媒介,安全性好、可靠性高。實驗結(jié)果表明該系統(tǒng)可靠性高,數(shù)據(jù)傳輸出錯率低。

關(guān)鍵詞:安卓開發(fā);近距離通信;聲波提??;快速傅里葉變換,;RS碼

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)05-0043-03

Abstract:The means of close communication such as Wi-Fi, Bluetooth, IC card etc. need extra hardware support. With the development of communication technology, smart mobile phones have become indispensable communication tools which are carried with themselves in peoples everyday life. This paper designs and realizes an acoustic communication system based on Android mobile phone. Acoustic waves are used as transmission media, which has good security and high reliability. The experimental results indicate that our system holds high reliability and low error rate during the process of data transmission.

Key words:Android development; close communication; sonic extraction; Fast Fourier Transform; Reed-solomon codes

1 概述

隨著通信技術(shù)的快速發(fā)展和智能手機的普及,近距離無線通信已廣泛應(yīng)用于日常生活中。目前,近距離無線通信的主要技術(shù)有藍(lán)牙(Bluetooth)[4]、無線局域網(wǎng)(Wireless Fidelity,Wi-Fi)[5]、IC卡等。藍(lán)牙、Wi-Fi、IC卡都需要額外的硬件支持,且無線電波的開放性與共享性,存在著安全隱患。藍(lán)牙、Wi-Fi通信時必須事先建立連接,傳輸存在時間延遲。

聲波通信利用聲音信號短距離傳輸數(shù)據(jù),具有安全性好、可靠性高、成本低等優(yōu)點。聲波通信廣泛應(yīng)用于聲紋防盜系統(tǒng)[1]、手機聲波支付、智能小區(qū)認(rèn)證[2]、石油的勘探[3]等領(lǐng)域,成為手機應(yīng)用的研究熱點之一。

本文基于Android手機平臺,設(shè)計并實現(xiàn)了一種手機聲波通信系統(tǒng)。該系統(tǒng)由發(fā)送端和接收端組成。發(fā)送端對數(shù)據(jù)進(jìn)行編碼,并查找對應(yīng)頻率,產(chǎn)生該頻率的橢球波聲波信號,并通過揚聲器輸出。接收端接收聲波信號后,通過快速傅里葉變換(FFT)提取聲波信號中的基頻,根據(jù)基頻查找編碼表,譯碼后獲取數(shù)據(jù)。該系統(tǒng)可以傳輸數(shù)字、英文和中文等數(shù)據(jù)。

2 系統(tǒng)組成及通信過程

2.1 系統(tǒng)組成

系統(tǒng)主要由發(fā)送端和接收端組成。

發(fā)送端對數(shù)據(jù)進(jìn)行數(shù)據(jù)編碼、CRC&RS編碼、去重復(fù),隨后產(chǎn)生離散的橢球波聲波信號,并通過聲波信道傳輸。

接收端接收聲波信號,通過FFT提取聲波信號中的基頻,根據(jù)基頻查找編碼表,使用RS&CRC校驗以保證傳輸正確可靠。最后通過譯碼獲取數(shù)據(jù)。

2.2 系統(tǒng)通信過程

系統(tǒng)的通信過程如圖2所示。

數(shù)據(jù)編碼:將漢字、英文字母、數(shù)字0-9編碼成位流,每4位表示一個碼字。

CRC&RS編碼:為了防止數(shù)據(jù)在傳輸過程中出錯,本系統(tǒng)同時采用CRC檢錯碼和RS糾錯碼。首先生成CRC檢錯碼,進(jìn)而產(chǎn)生RS糾錯碼。

去重復(fù):為了便于發(fā)送端對聲波的同步,對連續(xù)重復(fù)的碼字用不同的頻率替代,保證發(fā)送端任意兩個相鄰的橢球波的頻率不同。

產(chǎn)生聲波:根據(jù)橢球波函數(shù),產(chǎn)生離散的聲波數(shù)據(jù)并發(fā)送。

聲波接收:接收端根據(jù)采樣頻率對聲波信號進(jìn)行持續(xù)采樣、量化,并存入緩沖區(qū)。

聲波同步:定位數(shù)據(jù)聲波信號的開始位置。

基頻提取:對接收端采樣的數(shù)據(jù)進(jìn)行連續(xù)的FFT,從每個橢球波中提取基頻,根據(jù)編碼表,將基頻轉(zhuǎn)換成碼字。

RS&CRC校驗:校驗流程和編碼流程相反,即先對碼字進(jìn)行RS糾錯,再進(jìn)行CRC檢錯,保證數(shù)據(jù)聲波的正確性。

數(shù)據(jù)譯碼:根據(jù)編碼規(guī)則,通過譯碼獲取數(shù)據(jù)。

3 系統(tǒng)設(shè)計

3.1 起始頻率選擇

起始頻率的選擇關(guān)系到聲波通信系統(tǒng)的數(shù)據(jù)傳輸,因此,起始頻率的選擇需要考慮環(huán)境噪聲和手機的采樣率。根據(jù)手機對采樣率的限制,本系統(tǒng)選用44.1 KHz作為采樣率。由奈奎斯特的采樣定理可知,2*fmax < 44.1 kHz,手機的最高傳輸頻率為22 kHz。同時考慮到環(huán)境噪聲會對聲波信號產(chǎn)生干擾,文獻(xiàn)[5]中給出生活環(huán)境中的噪聲范圍31.5Hz- 8kHz。因此,8~22 kHz可以作為聲波信號的傳輸頻段。由于本系統(tǒng)是雙向通信系統(tǒng),發(fā)送端-接收端與接收端-發(fā)送端的傳輸頻段不能重疊,最終本文選取噪聲范圍內(nèi)的14 kHz作為聲波的起始頻率。

3.2 數(shù)據(jù)編碼

對要傳輸?shù)臄?shù)據(jù)(0-9數(shù)字、字母、漢字)進(jìn)行編碼,每個碼字4位,數(shù)字用1個碼字表示,字母用2個碼字表示,漢字用4個碼字表示。選取聲波信號的頻率范圍為14000~16850 Hz,每隔150 Hz為一個頻率點,共20個頻率點,其中16個頻率點用于表示數(shù)據(jù),2個用于起始和結(jié)束標(biāo)志,2個用于重復(fù)碼字?jǐn)?shù)據(jù),編碼表如表1所。

3.3 橢球波設(shè)計

根據(jù)橢圓球面波的抗干擾性和能量聚集性[6, 7],設(shè)計一個橢圓球面波函數(shù),函數(shù)如式(1)所示。

在本系統(tǒng)中,規(guī)定每個橢圓球面波播放的時間T為59ms;采樣頻率H為44.1kHz;量化精度B取16bit;播放音量V取[(0,1]]。

3.4 數(shù)據(jù)幀設(shè)計

數(shù)據(jù)幀是傳輸聲波信號的數(shù)據(jù)單位。數(shù)據(jù)幀的格式如圖4所示。

定義:將起始標(biāo)志或間隔標(biāo)志開始,RS碼結(jié)尾的一系列碼字稱為碼字單元。

(1) 起始標(biāo)志:4位,對應(yīng)頻率F1,表示一幀的開始。

(2) 信息:4-52位,對應(yīng)頻率F2-F17,表示傳輸數(shù)據(jù)。

(3) RS碼[8]:8位,RS碼用于對碼字單元進(jìn)行糾錯,如果發(fā)現(xiàn)碼字單元有錯,則通過末尾的8位RS碼對數(shù)據(jù)進(jìn)行糾錯。本系統(tǒng)使用RS(15,13)。

(4) 間隔標(biāo)志:既表示前一個碼字單元的結(jié)束,也表示下一個碼字單元的開始,

(5) CRC碼[9]:16位,對一幀中所有碼字單元中的信息檢錯。本系統(tǒng)將采用CRC-CCITT標(biāo)準(zhǔn)。

(6) 結(jié)束標(biāo)志:4位,表示一幀的結(jié)束。

4 系統(tǒng)實現(xiàn)

開發(fā)環(huán)境:android-ndk-r9d-windows-x86_64、adt-bundle-windows-x86_64、Java-1.8.0_11、一臺Intel? Core? i5-4590 CPU @ 3.3GHz的PC機、OpenSLES庫文件。

運行環(huán)境:兩部Android手機。

系統(tǒng)界面層采用Java語言實現(xiàn),對于運行效率較高的底層采用C語言實現(xiàn)。Android開發(fā)中,Java語言通過JNI(Java Native Interface)與C語言通信。

4.1 產(chǎn)生聲波

產(chǎn)生聲波信號的流程如圖5所示。

每次取出一個碼字,通過編碼表查詢碼字對應(yīng)頻率,通過調(diào)用sonic_generation函數(shù)計算每個離散點的聲波數(shù)據(jù)信號,并對離散數(shù)據(jù)采用PCM編碼[10],將編碼后的數(shù)據(jù)通過聲波信道傳輸,重復(fù)該過程,直到所有碼字處理完。

產(chǎn)生聲波所需參數(shù)及取值:單個橢球波播放時長T(59 ms)、聲波音量V(0~1.0)、量化精度B(16 bit)、采樣頻率H(44.1 kHz)。

4.2 接收聲波

接收端設(shè)置采樣頻率T(44.1 kHz),并進(jìn)行采樣。初始時,接收端對聲波信號進(jìn)行連續(xù)的FFT,得到14000~16850 Hz范圍內(nèi)噪聲能量的平均值E,以該能量的2倍作為判斷聲波信號的閾值。將后續(xù)進(jìn)行的FFT的平均能量與E進(jìn)行比較,一旦后繼連續(xù)3個FFT中14000 Hz頻率點(起始標(biāo)志)的能量大于閾值時,則認(rèn)為聲波信號到達(dá)。通過FFT提取聲波信號中的基頻,并根據(jù)編碼表查找(表1)對應(yīng)基頻的碼字,隨后對碼字進(jìn)行恢復(fù)重復(fù)碼字。RS&CRC校驗先調(diào)用RS糾錯函數(shù)對恢復(fù)后的碼字糾錯,然后使用CRC檢錯函數(shù)對一幀中的所有信息檢錯,若校驗錯誤正確則報錯,否則獲取數(shù)據(jù)。接收聲波流程如圖6所示。

5 系統(tǒng)測試

使用eclipse-adt開發(fā)工具將發(fā)送端與接收端程序分別安裝在兩部android智能手機上。

(1) 點擊安裝在發(fā)送端手機上的聲波發(fā)送端程序,輸入要傳輸?shù)臄?shù)據(jù),點擊發(fā)送按鈕。

(2) 點擊安裝在接收端手機上的聲波接收端程序,點擊開啟按鈕即可接收聲波信號。

實驗在合肥工業(yè)大學(xué)科技樓辦公室進(jìn)行,式(2)中聲波音量V取0.5、量化精度B取16;式(1)中的單個橢球波時長T取59 ms、采樣頻率H取44.1 kHz、離散點k為0~260、橢球波頻率F的取值如表1。

實驗選取2組測試數(shù)據(jù):18756013048(手機號碼)、合肥工業(yè)大學(xué),每組測試100次,實驗距離:10cm。圖7為部分測試圖。

(a) (b)

(c) (d)

圖 7 測試結(jié)果

測試結(jié)果顯示,聲波發(fā)送端在第30次發(fā)送手機號碼時,聲波接端識別次數(shù)為30;聲波發(fā)送端在第88次發(fā)送中文時,聲波接端識別次數(shù)為88。最終實驗表明,該系統(tǒng)在辦公室環(huán)境下的識別率為100%。

6 結(jié)束語

本文設(shè)計并實現(xiàn)的基于Android手機的聲波通信系統(tǒng),該系統(tǒng)能夠發(fā)送、接收中文、英文字母和數(shù)字(0-9)。系統(tǒng)測試結(jié)果表明,該系統(tǒng)各模塊都工作正常,能夠完成對數(shù)據(jù)的正確傳輸,且聲波的識別率能夠達(dá)到100%。

參考文獻(xiàn):

[1] 茅劍, 林奇. 基于聲紋識別的嵌入式防盜系統(tǒng)[J]. 計算機與現(xiàn)代化, 2009(11):163-165.

[2] 李青, 鄧月明, 王赟, 等. 基于聲紋識別的智能小區(qū)認(rèn)證系統(tǒng)設(shè)計[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用, 2011(4):36-38.

[3] 吳興能, 肖承文, 張承森, 等. 常規(guī)數(shù)字聲波質(zhì)量可靠性識別與應(yīng)用[J]. 國外測井技術(shù), 2013(3):49-53.

[4] 宋明中, 侯思祖, 高振峰. 藍(lán)牙通信安全技術(shù)[J]. 電力科學(xué)與工程, 2003(3):79-82.

[5] 張玉山, 劉純利. 無線通信系統(tǒng)的關(guān)鍵安全研究[J]. 赤峰學(xué)院學(xué)報:自然科學(xué)版, 2012(16):66-67.

[6] 鐘佩琳, 王紅星, 趙志勇. 帶通橢圓球面波函數(shù)能量聚集性分析[J]. 海軍航空工程學(xué)院學(xué)報, 2009(6):681-684.

[7] Slepian B D, Pollak H O. Prolate spherical wave functions, Fourier analysis and uncertainty-I: Bell Syst. Tech. J, 2010[C].

[8] Reed I S, Solomon G. Polynomial Codes Over Certain Finite Fields[J]. Journal of the Society for Industrial & Applied Mathematics, 1960,8(2):300-304.

[9] 王根義. CRC校驗碼算法的研究與實現(xiàn)[J]. 電子設(shè)計工程, 2012(09):38-40.

[10] 郭慧. 基于PCM編碼的模擬信號數(shù)字化實現(xiàn)[J]. 微型機與應(yīng)用, 2017(2):70-71.

当阳市| 河北省| 旌德县| 巴彦淖尔市| 土默特右旗| 兴化市| 峨山| 蒙阴县| 灵丘县| 绥德县| 香河县| 福鼎市| 佛坪县| 永和县| 翼城县| 沂水县| 文化| 关岭| 宕昌县| 滦平县| 常熟市| 苏尼特右旗| 崇义县| 沈阳市| 仙游县| 乌拉特后旗| 正定县| 伊通| 阳春市| 商城县| 洪洞县| 凉城县| 河源市| 渭南市| 南宫市| 封开县| 深泽县| 淮安市| 太湖县| 平邑县| 望城县|