莫建麟
(阿壩師范學(xué)院,四川 阿壩州 623002)
定位是物聯(lián)網(wǎng)(Internet of Things, IoT) 的多數(shù)應(yīng)用應(yīng)用的基礎(chǔ)。盡管全球定位系統(tǒng)(Global Positioning System, GPS)是解決多數(shù)定位問(wèn)題的常用策略[1],但是利用GPS獲取IoT內(nèi)設(shè)備位置并不是最有效的方式。一方面,GPS成本高、功耗大;另一方面,GPS系統(tǒng)的室內(nèi)定位性能差。
遠(yuǎn)距離無(wú)線電(Long Range Radio, LoRa)是由Semtech公司創(chuàng)建的低功耗局域網(wǎng)無(wú)線標(biāo)準(zhǔn)。它以功耗低、傳輸距離遠(yuǎn)而著稱。目前,LoRa廣泛應(yīng)用于室外無(wú)線傳輸,覆蓋范圍可達(dá)到30 km~50 km。采用啁啾擴(kuò)頻調(diào)制(Spread Spectrum Modulation, CSS),LoRa實(shí)現(xiàn)了長(zhǎng)距離、低功耗通信[2]。
長(zhǎng)距離、低功耗的特性,使LoRa廣泛在室外和室內(nèi)IoT場(chǎng)景中廣泛使用。此外,基于LoRa通信不僅可以用于數(shù)據(jù)傳輸,也可無(wú)需增加額外設(shè)備環(huán)境下計(jì)算節(jié)點(diǎn)位置。以GHz為工作頻段,LoRa信號(hào)具有高的墻體穿透性,且對(duì)多徑衰落也具有魯棒性[3]。
目前的一些研究成果已證實(shí),LoRa技術(shù)能夠應(yīng)用于定位系統(tǒng)[4],但是仍缺失有效的實(shí)驗(yàn)數(shù)據(jù)。研究人員對(duì)LoRa通信中基于到達(dá)時(shí)間(Time of Arrival, ToA)、到達(dá)時(shí)間差(Time Difference of Arrival, TDoA)、到達(dá)角度(Angle of Arrival, AoA)定位進(jìn)行了一些研究工作。
然而,基于AoA定位算法要求天線陣列,而基于ToA/TDoA定位算法依賴于準(zhǔn)確時(shí)鐘,并且基于TDoA定位算法要求節(jié)點(diǎn)間同步。相比之下,基于接收信號(hào)強(qiáng)度指標(biāo)(Received Signal Strength Indicator, RSSI)的定位算法實(shí)施簡(jiǎn)單,無(wú)需額外設(shè)備。
目前,針對(duì)LoRa通信中基于RSSI定位的研究工作較少。文獻(xiàn)[5]針對(duì)室外噪聲環(huán)境中的LoRa場(chǎng)景,分析了基于RSSI定位算法。而文獻(xiàn)[6]針對(duì)LoRa室內(nèi)應(yīng)用,提出基于RSSI測(cè)距估計(jì)。此外,文獻(xiàn)[7]的研究表明,在室內(nèi)環(huán)境,LoRa能夠提供可接收的定位誤差。但是在室外環(huán)境,定位誤差達(dá)到幾百米。
因此,需設(shè)計(jì)合適的算法,提高基于LoRa系統(tǒng)內(nèi)基于RSSI定位算法的精度。濾波技術(shù),如粒子群、貝葉斯和Kalman濾波,常用于定位系統(tǒng)。通過(guò)濾除噪聲環(huán)境內(nèi)的噪聲數(shù)據(jù),提高定位精度。
為此,針對(duì)LoRa通信的室內(nèi)和室外環(huán)境,提出基于維納濾波的RSSI定位算法(Wiener Filter-based RSSI Localization, WFRL)。WFRL算法利用維納濾波降低測(cè)距誤差,提高定位精度。
LoRa技術(shù)通過(guò)改變物理層參數(shù)實(shí)現(xiàn)調(diào)制分集。這些參數(shù)包括:頻度寬度B、擴(kuò)頻因子S和編碼率Rc。其中,擴(kuò)頻因子S=log2Nc,Nc表示每個(gè)符號(hào)內(nèi)的碼片數(shù)[8]。
而調(diào)頻率等于頻度寬度B,因此一個(gè)符號(hào)的時(shí)長(zhǎng)T等于2S/B。此外,LoRa物理層包含了一個(gè)轉(zhuǎn)發(fā)錯(cuò)誤校正碼,它的編碼率Rc等于4/(4+n),其中n∈1,2,3,4。由于一個(gè)符號(hào)包含S個(gè)信息比特位,信息速率Rb:
(1)
不同擴(kuò)頻因子S和編碼率Rc,可形成10種物理層模式,如表1所示。WFRL算法就是充分利用模式的多樣性,即在不同模式下,獲取RSSI的測(cè)量值[9]。將這些RSSI值作為維納濾波的輸入,通過(guò)維納濾波濾除噪聲數(shù)據(jù)。表1中Sensitivity表示對(duì)信號(hào)的靈敏度。
先依據(jù)Friis傳輸?shù)仁浇SSI值與距離d間關(guān)系,如式(2)所示,其中d是指接收端與發(fā)送端間距離。
P=-(10αlgd-A)
(2)
其中A表示當(dāng)接收端與發(fā)送端距離為1m時(shí),接收端所接收的功率,單位為dBm。而P為接收端所接收的功率。α為路徑衰落指數(shù)。
圖1 信號(hào)傳輸模型
依據(jù)式(2),估計(jì)距離d:
(3)
從式(3)可知,參數(shù)A和α對(duì)測(cè)距精度有影響。并且,不同的環(huán)境,它們的值并不相同。為此,WFRL算法利用LoRa不同模式下的RSSI值,訓(xùn)練這兩個(gè)參數(shù),進(jìn)而獲取LoRa信道特性[10]。最后,依據(jù)LoRa信道特性,并結(jié)合RSSI的均值測(cè)距,再利用定位算法估計(jì)節(jié)點(diǎn)位置。
(4)
依表1可知,LoRa有10種不同的模式。為此,可利用LoRa不同模式下RSSI的均值估計(jì)距離。即利用所測(cè)量的RSSI值的權(quán)重平均估計(jì)距離[11],進(jìn)而提高測(cè)距精度。令Nm表示使用的LoRa模式數(shù),且Nm≤10。
(5)
對(duì)式(5)進(jìn)行數(shù)學(xué)變換:
(6)
引用權(quán)重矢量w=[ω1,ω2,…,ωNm],其反映了在LoRa不同模式下的權(quán)重系數(shù)。接下來(lái),分析如何計(jì)算權(quán)重矢量w。
先建立距離對(duì)數(shù)的均方誤差等式:
(7)
將式(6)代入式(7),再建立偏微分方程,如式(8)所示:
(8)
再利用霍夫方程(wiener-Hopf equation)求解式(8),可得:
(9)
其中RP={rP(k)}為自相關(guān)矩陣。其中rP(k)=E{Pj(i)P(i)},且k=j-。
而rd={rd(k)}為互相關(guān)矢量,其定義如式(10)所示:
rd(k)=E{[A0-lgd(i)]Pk(i)}
(10)
其中j,=1,2,…Nm。
利用三角質(zhì)心定位算法估計(jì)節(jié)點(diǎn)位置。圖2顯示了三角質(zhì)心定位原理。先獲取到三個(gè)錨節(jié)點(diǎn)的距離,三個(gè)錨節(jié)點(diǎn)(A、B、C)再以距離值建立三個(gè)圓。圓的交點(diǎn)(Xa,Xb,Xc)形成三角形,三角形的質(zhì)心位置就是節(jié)點(diǎn)的位置。
圖2 三角質(zhì)心定位算法
考慮如圖3所示的定位系統(tǒng),系統(tǒng)內(nèi)有多個(gè)錨節(jié)點(diǎn),這些節(jié)點(diǎn)已知自己位置。實(shí)際上,這些錨節(jié)點(diǎn)就是LoRa發(fā)射器,它們發(fā)射信號(hào)。而未知節(jié)點(diǎn)通過(guò)接收信號(hào),估計(jì)與錨節(jié)點(diǎn)間距離。理論上,在二維平面內(nèi),未知節(jié)點(diǎn)只需獲取與三個(gè)錨節(jié)點(diǎn)距離,就能估計(jì)自己的位置。
圖3 定位模型
錨節(jié)點(diǎn)先以不同模式傳輸信號(hào),未知節(jié)點(diǎn)利用(6)估計(jì)距離,獲取了距離信息后,再利用三角質(zhì)心算法估計(jì)位置。
3.1.1場(chǎng)景建立
本節(jié)分析室內(nèi)和室外兩個(gè)場(chǎng)景下的信道特性,如圖4所示。對(duì)于室內(nèi)信道,考慮長(zhǎng)為37 m的走廊,且走廊邊上有幾個(gè)房間。并考慮LOS和NLOS這兩個(gè)信道環(huán)境。(1)LOS信道:將發(fā)射器和接收器均放在走廊里;(2)NLOS信道:將發(fā)射器放在走廊邊上的房間里,接收器放在走廊。最初,發(fā)射器離接收器為5m,再以5m為一步長(zhǎng),將它們距離的拉長(zhǎng)至35m。同時(shí)測(cè)量每種LoRa模式下的100個(gè)RSSI值,用于訓(xùn)練室內(nèi)的LoRa信道特性。
圖4 室內(nèi)和室外環(huán)境
在街道上測(cè)量LoRA信道特性??紤]330 m的街道,并將節(jié)點(diǎn)架在2 m上方。與室內(nèi)環(huán)境一樣,固定接收器,移動(dòng)發(fā)射器。兩個(gè)設(shè)備距離從20 m~330 m,步長(zhǎng)為20 m。并采集不同距離下100個(gè)RSSI值,用于訓(xùn)練室外的LoRa信道特性。室外環(huán)境只考慮LOS情況。
3.1.2LoRa信道數(shù)據(jù)分析
表2顯示了兩個(gè)室內(nèi)和室外環(huán)境下的RSSI值。選擇了LoRa模式1、模式5和模式10三個(gè)通信模式下的參數(shù)A和α值。
表2 不同LoRa模下的A和α值
從表2可知,LoRa模式對(duì)參數(shù)A和α值較大影響,且存在小幅度范圍內(nèi)的波動(dòng)。此外,同在室內(nèi)環(huán)境下,NLOS信道下的衰落指數(shù)α大于LOS信道的衰落指數(shù)。這符合事實(shí)。
圖5 RSSI值隨距離變化曲線
將所收集的RSSI值進(jìn)行擬合,形成RSSI值(dBm)與距離間的關(guān)系曲線,如圖5所示。從圖可知,室內(nèi)長(zhǎng)距離的RSSI值逼近于室外短距離的RSSI值。這就將室外和室內(nèi)的信道特性擬合成一條曲線。此外,由于指數(shù)特性,距離越長(zhǎng), RSSI曲線越平。
為了更好地分析維納濾波處理RSSI性能,選擇文獻(xiàn)[12]的RSSI算法(標(biāo)記為RSSI-A)作為參照。對(duì)比分析WFRL算法和RSSI-A的測(cè)距誤差性能和定位誤差性能。
表3顯示了RSSI-A和WFRL算法對(duì)室內(nèi)環(huán)境的測(cè)距誤差。其中RSSI-A-1表示只利用LoRa模式1采集的RSSIs值方法;WFRL-1表只利用LoRa模式1采集的RSSIs值的維納濾波方法;而RSSI-A-average、WFRL-average表示10個(gè)模式下的平均值。
表3 測(cè)距誤差(單位m)
表3顯示了基于平均RSSI和最大RSSI數(shù)據(jù)下的測(cè)距性能。相比于RSSI-A算法,WFRL算法的測(cè)距誤差得到有效控制。例如,在只利用LoRa模式1環(huán)境下,WFRL算法的測(cè)距誤差為5.3 m,而RSSI-A算法的測(cè)距誤差達(dá)到14 m。此外,相比于10種模式下的平均值,僅通過(guò)模式1獲取RSSI值更有利于測(cè)距精度的提高。
圖6顯示了RSSI-A算法和WFRL算法的平均定位誤差。從圖可知,相比于RSSI-A算法,提出的WFRL算法在平均定位誤差得到有效控制,這歸功于測(cè)距精度的提高。這些數(shù)據(jù)表明,利用維納濾波能夠有效地濾除RSSI噪聲數(shù)據(jù)。
圖6 平均定位誤差
針對(duì)LoRa系統(tǒng)的定位問(wèn)題,提出了基于維納濾波的RSSI定位算法WFRL。WFRL算法通過(guò)維納濾波處理來(lái)自LoRa不同模式的RSSI值,進(jìn)而提高了測(cè)距和定位精度。并通過(guò)實(shí)驗(yàn)測(cè)量了LoRa通信的室內(nèi)和室外的信道特性,用數(shù)據(jù)證實(shí):在LoRa系統(tǒng)內(nèi),基于RSSI測(cè)距能夠獲取可接收的定位精度。而利用維納濾波可進(jìn)一步提高定位精度。