• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      nRF51822與傳感器融合的定位算法

      2018-07-19 12:53:50姚瑞玲
      計算機工程與設(shè)計 2018年7期
      關(guān)鍵詞:信號強度測距藍牙

      王 超, 姚瑞玲

      (1.重慶商務(wù)職業(yè)學(xué)院 出版?zhèn)髅较?,重慶 401331;2.四川工商職業(yè)技術(shù)學(xué)院 輕工工程系,四川 都江堰 611830)

      0 引 言

      從本質(zhì)上講室內(nèi)定位系統(tǒng)[1-3]的方法分為超寬帶、ZigBee、wifi、藍牙等,基于藍牙的室內(nèi)定位由于其功耗低,成本低的特性成為定位方法中的主流[4,5]?;谒{牙的室內(nèi)定位方法主要分為測距與非測距兩大類,其中基于非測距的定位方法無需依靠特定硬件來獲取節(jié)點距離信息,本文在綜合考慮部署成本、系統(tǒng)穩(wěn)定以及定位精度的基礎(chǔ)上最終選取nRF51822低功耗藍牙芯片作為定位終端[6],基于nRF51822的定位算法中普遍存在著終端姿態(tài),人體遮擋等因素造成的定位點跳變問題,文獻[7]中提出了基于藍牙低功耗終端的定位算法,其算法替代了近場通信(NFC)技術(shù),在接收機與發(fā)射機之間幾厘米處的距離可以精確識別物體,但隨著距離增加,nRF51822定位終端RSSI擾動曲線變得無序,導(dǎo)致最終定位精度明顯下降。文獻[8]提出了一種基于iBeacon的室內(nèi)定位系統(tǒng),其依靠nRF51822芯片廣播的鄰近度來解算物體位置,對于距離導(dǎo)致信號波動造成的定位誤差問題,采取了改變AP布局、增加AP節(jié)點的方式,在一定程度上解決了定位點跳變問題,但算法每次需校準iBeacon單元程序來計算nRF51822芯片的廣播范圍,極大地增大了算法復(fù)雜度,提升了系統(tǒng)造價。該算法針對nRF51822定位中RSSI值易受物體遮擋、陰影衰落擾動造成定位點跳變的問題,引入LSM303DLHC傳感器來補償其造成的誤差,最后通過歐式距離加權(quán)KNN算法得到定位坐標點[9],首先仿真實驗結(jié)果表明了該算法的有效性,并與文獻[7]、文獻[8]中提及的算法進行了對比,最終結(jié)果表明,該算法抗RSSI擾動能力強,定位精度較高,開發(fā)出的系統(tǒng)具有較高的拓展空間與推廣價值。

      1 數(shù)學(xué)模型

      1.1 藍牙系統(tǒng)模型

      一套完整的藍牙系統(tǒng)是由廣播端Broadcaster與閱讀器Reader組成(如圖1所示),本系統(tǒng)中采用nRF51822作為定位終端,其主要功能是向外發(fā)送廣播。采用cc2541作為定位AP,當(dāng)定位終端進入到Reader覆蓋區(qū)域時,可閱讀到Broadcaster向外發(fā)出的廣播信息,其中包含定位終端MAC地址、信號強度RSSI等信息,藍牙AP通過485集線器將接收到的數(shù)據(jù)傳送至服務(wù)器。

      圖1 藍牙系統(tǒng)模型

      1.2 RSSI測距模型

      RSSI測距模型描述了信號強度與傳播距離的關(guān)系,其滿足Shadowing傳播模型[10]

      (1)

      在本算法的應(yīng)用中采用簡化后的Shadowing模型

      (2)

      式(1),式(2)中d0是參考距離,通常取值為1m,d為實際距離,p(d)和p(d0)分別是距離為d和d0時路徑損耗值,是遣蔽因子,路徑損耗值為初始發(fā)射信號與接收信號強度之差

      (3)

      式中:p(0)為初始發(fā)射信號強度,Rssi(d)和Rssi(d0)分別是距離為d和d0處的接收信號強度值。本算法中取d0=1m,A=-Rssi(d0), 從而得到實際應(yīng)用的RSSI測距公式

      Rssi(d)=-(10nlgd+A)

      (4)

      式中:A為距離信號發(fā)射源1m處接收到的信號強度平均值的模,n為信號傳輸常數(shù),與信號傳播環(huán)境相關(guān)。

      1.3 方向角測距模型

      定位終端重力加速度在載體坐標系下的分量即為加速度計的三軸數(shù)值,當(dāng)定位終端水平放置時載體坐標系的初始姿態(tài)與參考坐標系重合,此時加速度計三軸分量(數(shù)據(jù)經(jīng)標準歸一化處理)為

      G[0,0,0]=[0 0 1]T

      (5)

      當(dāng)定位終端處于不同姿態(tài)時,其三軸分量為

      G[γ,θ,ψ]=[GxGyGz]T

      (6)

      利用方向余弦矩陣

      可得

      G(γ,θ,ψ)=T(γ,θ,ψ)G(0,0,0)

      (7)

      俯仰角和翻滾角分別為

      (8)

      地磁場矢量H可分解為水平分量Hh,垂直分量Hv,Hh總是指向地磁的北極,Hh在兩軸上的分量分別為Hx和Hy,由此可得水平放置時的方向角

      (9)

      2 系統(tǒng)設(shè)計與算法實現(xiàn)

      本文提出的基于nRF51822與LSM303DLHC傳感器融合的KNN定位算法分為系統(tǒng)設(shè)計與算法實現(xiàn)兩個模塊,系統(tǒng)設(shè)計中詳細地描述了定位終端nRF51822的廣播、通信協(xié)議設(shè)計、cc2541藍牙AP電路設(shè)計和數(shù)據(jù)通信機制,算法實現(xiàn)模塊則闡述了LSM303DLHC傳感器融合算法、指紋庫生成算法、KNN歐氏距離加權(quán)算法。

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

      (1)nRF51822定位終端設(shè)計

      定位終端采用nRF51822,在低功耗模式下靈敏度可達-92.5 dB RX,可使用+4 dBm的輸出功率,低于10 mA的峰值電流,使得一粒紐扣電池即可工作數(shù)月,定位終端設(shè)計中,加載協(xié)議棧SDK10,修改其私有廣播數(shù)據(jù)(總長13 Byte)信息對接藍牙AP,其字段值包括幀同步頭、數(shù)據(jù)起始標志位、三軸加速度信息、方向角信息、電量信息、校驗和等字段,nRF51822芯片如圖2所示。

      圖2 nRF51822芯片

      (2)cc2541藍牙AP設(shè)計

      藍牙電子標簽具有成本低、功耗低、易部署安裝,體積小、輕便等特點。系統(tǒng)中使用的藍牙標簽為CC2541,工作頻率2.4 GHz~2.5 GHz ISM微波段,通信協(xié)議BLE4.0,發(fā)射功率-23 dBm~+4 dBm,識別距離0~50 m(2 dBi全向天線),將藍牙AP與6口集線器相連,外接12 V電源,可勘測定位終端的私有廣播信息以及掃描回調(diào)信息,其中包含幀同步頭、定位終端MAC地址、RSSI、三軸加速度、方向角、電量、校驗和等信息,并將這些信息進行打包,打上AP自身的MAC地址透傳至以太網(wǎng)網(wǎng)關(guān)即可。設(shè)計電路中I2C接口增加了STK3310環(huán)境光傳感器、巴倫電路之后增加了電阻衰減網(wǎng)絡(luò),以方便進行射頻信號的衰減,配合定位算法。

      2.2 算法實現(xiàn)

      本章節(jié)詳細介紹了算法實現(xiàn),其中包含LSM303DLHC傳感器方向角的計算,指紋庫生成算法以及歐式距離加權(quán)KNN算法,其中歐式距離KNN算法具體流程如圖3所示。

      圖3 歐氏距離加權(quán)KNN算法流程

      (1)LSM303DLHC傳感器融合算法

      在實際的定位過程中,定位終端不可能一直保持水平狀態(tài),則必須計算其俯仰角以及翻滾角,設(shè)當(dāng)前定位終端的俯仰角為θ,翻滾角為γ,方向角為ψ,磁強傳感器三軸分量數(shù)值M(γ,θ,ψ)=[MxMyMz]T, 水平放置時磁強傳感器三軸數(shù)值M(0,0,ψ)=[MhxMhyMhz]T, 根據(jù)定位終端姿態(tài)與水平放置時的關(guān)系可得

      (10)

      式中:Rγ、Rθ——翻滾角取γ、俯仰角取θ時的旋轉(zhuǎn)轉(zhuǎn)化矩陣

      (11)

      將式Rλ、Rθ帶入式(11)中可得

      (12)

      將其帶入式(10)可得出

      (13)

      (2)KNN歐氏距離加權(quán)算法

      為了消除信號傳播,傳感器遮擋、信號跳變等因素帶來的影響,在信號強度處理階段將RSS信號強度劃分為若干簇,對篩選出的指紋庫中的坐標集合做歐氏距離加權(quán)聚類,得到最終坐標。假設(shè)定位終端上傳的實時向量M=(Rs1,Rs2,Rs3,…,Rsn), 其中Rsi為第i個AP勘測到的定位終端強度RSSI值,設(shè)實時向量M中最強的RSSI值為MaxRm,其對應(yīng)第m個藍牙AP,次強RSSI為SMaxRn,其對應(yīng)第n個藍牙AP,此時將實時向量與指紋庫F=(Rs1,Rs2,Rs3…Rsn) 進行比對,取出指紋庫中滿足式(14)的指紋集合∪F,為指紋庫F中滿足式(14)的集合條目,指紋庫匹配仿真程序設(shè)計如圖4所示

      (14)

      計算實時向量M與∪F的歐氏距離,歐氏距離越小則

      實時向量與指紋的匹配度越高,歐式距離計算公式為

      (15)

      那么該坐標的權(quán)值系數(shù)

      (16)

      為保證結(jié)果的精確性,算法中將權(quán)值做歸一化處理,即n個待選坐標的權(quán)值系數(shù)集合滿足式(17),歐式距離權(quán)值計算程序設(shè)計如圖5所示

      w1+w2+…wn=1

      (17)

      圖4 指紋庫匹配仿真程序設(shè)計

      圖5 歐式距離權(quán)值仿真程序設(shè)計

      為了保證歐式距離的統(tǒng)一性,將實時向量M的維數(shù)與指紋庫中匹配的指紋進行了維數(shù)匹配操作(指紋庫F的維數(shù)與藍牙AP的個數(shù)相同),若第k個AP未勘測到定位終端的RSSI(此處排除AP損壞的情況),則將其RSSI值賦值為-100 dBm,指紋庫匹配仿真程序設(shè)計如圖6所示。

      離線勘測階段實現(xiàn):

      (1)接口回調(diào)Url

      圖6 指紋庫匹配仿真程序設(shè)計

      數(shù)據(jù)庫中將標簽號BtId與對應(yīng)地圖的Url進行映射綁定,采集終端將勘測到的藍牙信號上傳至服務(wù)器,服務(wù)器通過接口回調(diào)與藍牙信號對應(yīng)的地圖Url。

      (2)Json數(shù)據(jù)通信

      點擊地圖上任一點出現(xiàn)界面如圖7所示:在地圖上點擊采集終端相應(yīng)的位置可自動獲取其坐標,根據(jù)融合至nRF51822上的LSM303DLHC傳感器可實時獲取手環(huán)當(dāng)前的偏北角,將偏北角分為4個象限,分別對應(yīng)東西南北,點擊保存坐標按鈕,即可將信息打包成Json數(shù)據(jù)上傳至數(shù)據(jù)庫中。

      (3)生成定位指紋庫

      該算法的指紋庫生成為參考點與信號強度綁定的過程,離線階段指紋庫的生成直接決定著后續(xù)定位精度,其基本步驟如下:

      1)配置以太網(wǎng)網(wǎng)關(guān)的IP與Port,即可勘測到采集終端(nRF51822)的廣播數(shù)據(jù)信息,APP鏈接數(shù)據(jù)庫將接收到的藍牙標簽號+對應(yīng)的信號強度+MAC地址+APP自動獲取坐標打包上傳推送到數(shù)據(jù)庫。

      2)當(dāng)數(shù)據(jù)量達到指定閾值時停止信號采集操作,待指紋采集完成后,對數(shù)據(jù)進行濾波,將指紋按照坐標、方向進行聚類,形成最終指紋庫。

      以下為該算法中指紋庫樣表的生成過程:

      (1)采集指紋人員佩戴采集終端(采集終端與定位終端廣播標志位不同),打開采集APP,后臺數(shù)據(jù)庫中將AP基站的MAC地址與地圖Url進行了綁定,會自動展示到APP界面中,如圖7所示。

      圖7 指紋采集頁面

      (2)采集人員根據(jù)地圖標注有序點擊地圖相應(yīng)的位置,會彈出與實際位置對應(yīng)的坐標點(如圖7所示),采集終端會將獲取LSM303DLHC實時方向,采集人員需將其參數(shù)輸入到APP中,點擊開始采集,則APP將不同AP接收到的nRF51822信息(包含MAC、RSSI、Orientation)上傳至數(shù)據(jù)庫中,當(dāng)數(shù)據(jù)量到達200時會自動停止采集,并以toast的形式提示采集人員,采集人員更改終端朝向,重復(fù)該操作,當(dāng)E、W、S、N這4個方向采集完成時,即完成該點的指紋采集。

      下面選取了(0.8,0.8),(1.6,0.8),(2.4,1.6),(3.2,0.8),(4.0,4.0)5個坐標點的指紋庫生成,將步驟(2)中采集到的信號強度值的過濾,聚類平均得到表1中的指紋庫樣表,Rmn為第n個AP基站的Mac地址縮寫,Asn為n個AP基站收到的采集終端RSSI強度值。

      表1 指紋庫樣表

      最后將實時向量與對應(yīng)的指紋庫坐標集合加權(quán)聚類形成最終坐標點

      (18)

      式中:n代表與該實時向量匹配的指紋庫坐標個數(shù),算法匹配中,將實時采集的指紋庫數(shù)據(jù)信息輸入到仿真系統(tǒng)中,不同AP勘測到的定位終端RSSI數(shù)據(jù)信息作為實時定位向量,經(jīng)過歐氏距離加權(quán)KNN算法可得出最終坐標,完整算法仿真設(shè)計如圖8所示。

      圖8 系統(tǒng)整體架構(gòu)設(shè)計

      3 實驗結(jié)果及分析

      為了驗證文中算法的有效性,首先在MatlabR2014a中進行仿真實驗,并與文獻[6]、文獻[7]中提及的算法進行了對比實驗,將系統(tǒng)在某棟建筑中進行了實地部署,具體運行環(huán)境及實驗結(jié)果分析如下:

      定位終端配置信息:SDK10.0.0;編譯軟件:Keil5.12。

      硬件平臺:nRF51822最小系統(tǒng);藍牙AP編譯軟件為IAR8.10.3;CPU:Intel?Xeon?E5-2600 v3/v4 系列處理器;8G DDR4;1TB,2.5寸SAS/SATA/SSD硬盤;通信服務(wù)器系統(tǒng):centOs6.5;地圖服務(wù)器系統(tǒng):Ubuntu 14.0.2。

      表2中給出了RSSI測距與本算法解算出的位置點,由于篇幅關(guān)系,表中僅列出了5個具有代表性的位置坐標,圖9中直觀地顯示了RSSI測距、利用文中算法估算出10個不同位置點與實際位置的誤差,通過誤差線的距離(虛線表示RSSI測距估算出的位置與實際位置的誤差距離,實線則表示本文算法解算出的位置與實際位置的誤差距離)可直觀看出,文中算法解算出的位置精度明顯優(yōu)于RSSI測距估算出的位置精度,通過大量的實驗可得出本算法的平均誤差為0.593 m,明顯優(yōu)于同等條件下RSSI測距估算出的位置,通過與文獻[6]、文獻[7]的對比發(fā)現(xiàn),基于ZigBee的定位平均誤差為2.952 m,其不僅誤差較大,而且現(xiàn)階段大廠商還未集成ZigBee的接收器,造成了其應(yīng)用的局限性,文獻[7]中基于wifi的是內(nèi)定位,通過指紋采集,匹配算法。

      表2 誤差分析

      圖9 實驗誤差對比

      將文中算法移植到平臺上后,在某棟建筑中進行了實地部署與搭建,結(jié)果顯示,通過文中定位算法所獲得的位置信息具有較好的穩(wěn)定性和實時性,平均定位誤差小于0.5 m。其運行Demo如圖10所示。

      圖10 定位Demo展示界面2

      4 結(jié)束語

      本文提出了一種基于nRF51822與LSM303DLHC傳感器融合的KNN算法,設(shè)計階段使用低功耗nRF51822芯片作為定位終端,融合了集加速度計和磁力計于一體的LSM303DLHC傳感器,采用cc2541芯片作為AP基站,勘測定位終端廣播數(shù)據(jù)中的RSSI、MAC等信息,并通過rs-485集線器上傳至服務(wù)器;定位階段根據(jù)航向角模型計算定位終端相對于坐標系的方向角,并以此來補償RSSI因多徑、遮擋帶來的誤差;最后通過歐氏距離加權(quán)KNN算法得到最終坐標。實驗結(jié)果表明,該算法可以有效地提升定位精度、穩(wěn)定性和實時性,開發(fā)出的系統(tǒng)具有較高的推廣價值。

      猜你喜歡
      信號強度測距藍牙
      光學(xué)相干斷層成像不同掃描信號強度對視盤RNFL厚度分析的影響
      藍牙音箱的直線之美
      類星體的精準測距
      科學(xué)(2020年3期)2020-01-06 04:02:51
      簡單、易用,可玩性強Q AcousticsBT3藍牙音箱
      適合自己的才是最好的 德生(TECSUN) BT-50藍牙耳機放大器
      室內(nèi)定位信號強度—距離關(guān)系模型構(gòu)建與分析
      淺談超聲波測距
      電子制作(2017年7期)2017-06-05 09:36:13
      緊急:藍牙指尖陀螺自燃!安全隱患頻出
      玩具世界(2017年8期)2017-02-06 03:01:38
      WiFi信號強度空間分辨率的研究分析
      測繪通報(2016年9期)2016-12-15 01:56:16
      基于改進接收信號強度指示的四面體模型井下定位研究
      計算機工程(2015年8期)2015-07-03 12:19:45
      壶关县| 海阳市| 华池县| 镇江市| 礼泉县| 黎平县| 秦皇岛市| 三台县| 民乐县| 正宁县| 从化市| 万宁市| 德昌县| 浙江省| 中牟县| 莲花县| 甘孜县| 阿瓦提县| 娄烦县| 渝北区| 辉县市| 岳西县| 肥城市| 临颍县| 大连市| 呼伦贝尔市| 安乡县| 大洼县| 阿鲁科尔沁旗| 新建县| 菏泽市| 邢台市| 陵水| 大厂| 博湖县| 昂仁县| 洛南县| 昔阳县| 柯坪县| 常德市| 长阳|