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