android蓝牙防丢失,Android 蓝牙防丢实现(一)
今天看見(jiàn)朋友分享的一個(gè)項(xiàng)目:TrackR bravo
一個(gè)聲稱是同類產(chǎn)品中最輕薄小巧的藍(lán)牙物品防丟器,金屬材質(zhì)的外殼,厚度為3.5mm,直徑34mm,僅有一元硬幣大小。可以系在鑰匙串、錢包、手機(jī)、平板電腦等容易丟失的物品上。你甚至可以將它掛在狗狗的脖子上或者自行車上,當(dāng)你找不到時(shí),可以通過(guò)手機(jī)App定位物品的具體位置,還能顯示物件與你相隔的距離。很適合經(jīng)常丟失東西的健忘人士使用,還是一個(gè)不錯(cuò)的防盜器。
摘要 藍(lán)牙防丟,原理比較簡(jiǎn)單,實(shí)現(xiàn)不是那么簡(jiǎn)單。在預(yù)定的間隔時(shí)間內(nèi)不斷的掃描周圍的藍(lán)牙設(shè)備,讀取對(duì)應(yīng)設(shè)備的信號(hào)強(qiáng)度值存儲(chǔ)下來(lái)SSID【X1,X2...,Xn-1,Xn】統(tǒng)計(jì)分析,去除臟值,然后求加權(quán)算術(shù)平均數(shù)。根據(jù)距離和信號(hào)強(qiáng)度值的對(duì)應(yīng)關(guān)系判斷設(shè)備之間的距離。
一,概念說(shuō)明
求平均一般有兩種:簡(jiǎn)單算術(shù)平均數(shù)arithematic mean和加權(quán)平均數(shù)weighted mean。簡(jiǎn)單算術(shù)平均計(jì)算簡(jiǎn)單沒(méi)有考慮到波動(dòng)和強(qiáng)度指標(biāo);一般的在工程領(lǐng)域使用加權(quán)平均比較多,加權(quán)平均數(shù)的公式定義如下:
其中:?----代表算術(shù)平均數(shù),x 代表各單位標(biāo)志值(變量值),f 代表各組單位數(shù)(項(xiàng)數(shù))。
運(yùn)用條件:統(tǒng)計(jì)資料分組時(shí)我們不難得出如下結(jié)論:平均數(shù)水平高低受兩個(gè)因素的影響(當(dāng)然數(shù)據(jù)統(tǒng)計(jì)分析都是要在比較大規(guī)模的數(shù)據(jù)基礎(chǔ)上進(jìn)行,否則意義不大):
(1)受各組變量值( x )大小的影響
(2)受各組權(quán)數(shù)(f)大小的影響。(絕對(duì)權(quán)數(shù)表現(xiàn)為次數(shù)、頻數(shù),相對(duì)權(quán)數(shù)表現(xiàn)為頻率)。
二,計(jì)算步驟
(1)采集數(shù)據(jù),采集固定間隔時(shí)間內(nèi)的設(shè)備的信號(hào)強(qiáng)度值數(shù)值SSID【X1,X2...,Xn-1,Xn】;
(2)去除臟值,去除數(shù)組中的臟值;
(3)求出信號(hào)強(qiáng)度值數(shù)值SSID【X1,X2...,Xn-1,Xn】對(duì)應(yīng)的權(quán)數(shù)分布【F1,F2, ... Fn-1,Fn】
( 4 ) 處理異常情況(比如某個(gè)設(shè)備采集到的SSID數(shù)組長(zhǎng)度太少,距離越界后反饋確認(rèn)機(jī)制)
三,步驟詳解
去除臟值Digest,采集固定間隔時(shí)間內(nèi)的設(shè)備的信號(hào)強(qiáng)度值數(shù)值SSID【X1,X2...,Xn-1,Xn】后難免會(huì)有一些臟值擾亂最終結(jié)果。
首先要確定臟值的判斷標(biāo)準(zhǔn),在這里臟值的判斷標(biāo)準(zhǔn)是:如果SSID數(shù)組中的一個(gè)值偏離SSID數(shù)組的簡(jiǎn)單平均數(shù)arithematic?mean
大于DeviateFlag(這個(gè)標(biāo)記可以根據(jù)程序的實(shí)際情況調(diào)整,在這里取值20%),那么我們就判斷這個(gè)值是臟值。
求權(quán)數(shù)分布,不同的SSID數(shù)值對(duì)應(yīng)的權(quán)數(shù)在這里和時(shí)間有關(guān),在這里時(shí)間越后,權(quán)重會(huì)越高;假設(shè)權(quán)值分布為F【F1,F2, ... ,Fn-1,Fn】。那么F1+F2+ ... +Fn-1+Fn=1=100/100;這里要定義一個(gè)值權(quán)重補(bǔ)償因子WCF(Weight?Compensation Flag)=50/100,簡(jiǎn)寫WCF(補(bǔ)償值有點(diǎn)大哦,感覺(jué)這個(gè)數(shù)組也應(yīng)和SSID的數(shù)組長(zhǎng)度N有關(guān),后期優(yōu)化);那么權(quán)重補(bǔ)償遞減因子WCD(Decreasing)就是:WCD=WCF/N/2;(N>2? 有效)
那么Fn的分布就是:
【1-D1/N,1-D2/n, ... 1-D(n/2)/n, ... , 1+D2/n, 1+D1/N】。-----------------------------------------------------------------------------------------------------
|權(quán)重補(bǔ)償因子:WCF
那么首先要求Dn【D1,D2,... D(n/2), ... , .....】的分布;--|
| 權(quán)重補(bǔ)償遞減因子:WCD
if(WCF-WCF*2*i/N>0&&i
處理Dn的長(zhǎng)度和Fn的長(zhǎng)度(其實(shí)是SSID的長(zhǎng)度),求出Fn的分布后;
那么weighted mean=SSID對(duì)應(yīng)的分布*Fn對(duì)應(yīng)分布的累加和
附錄,參考文檔
http://wiki.mbalib.com/wiki/平均數(shù)
http://www.stat.nuk.edu.tw/prost/content2/statics_4.htm
http://wiki.mbalib.com/wiki/算術(shù)平均數(shù)
總結(jié)
以上是生活随笔為你收集整理的android蓝牙防丢失,Android 蓝牙防丢实现(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 稳压电路
- 下一篇: AndroidStudio无线传输文件到