?

基于馬爾科夫鏈的LoRaWAN網絡節點性能分析

2018-10-17 06:43何通能任慶鑫陳德富
傳感技術學報 2018年9期
關鍵詞:發送數據前導網關

何通能,任慶鑫,陳德富

(浙江工業大學信息工程學院,杭州 310023)

1 LoRaWAN中A類節點

如圖1所示,LoRaWAN網絡架構中包含了節點、網關、服務站和應用者4個部分。網關和節點之間采用單跳星型網絡拓撲,節點之間交換數據必須通過網關。根據與網關之間的通訊方式的不同,LoRaWAN節點可以分為A、B、C 3種類型。LoRaWAN中的A類節點使用電池供電,是目前使用最多的節點類型,因此本文只對A類節點的網絡進行數據發送功耗和延時的分析。

圖1 LoRaWAN網絡架構

圖2給出A類的終端節點設備每次發送數據的通信時序。節點發送上行數據后會打開兩個持續時間很短的接收窗口來接收來自網關的下行數據,LoRa節點通過這種方式實現雙向通信。由于只有在發送上行數據后的一小段時間內接收服務器發送來的下行數據,所有A類節點是LoRaWAN網絡中功耗最低的節點[16]。

圖2 A類節點發送數據時序

LoRaWAN中的數據類型可以分為兩種:一種是接受者準確接收數據之后,必須回復確認消息,當沒有收到確認消息,則發送者必須進行數據重傳;另一種是發送者發送數據之后不需要接受者發送確認回復。為了保證節點能夠保證數據準確到達網關,所有節點發送到網關的數據,網關必須發送數據準確接收回復。數據傳輸過程如圖2所示,第1接收窗口在發送完成后第RD1秒(±20 ms)開啟,在第1個接收窗口時期的下行傳輸使用的頻率、數據速率、信道與節點上行傳輸時使用的頻率、數據速率、信道相同。第2個接收窗口使用固定的頻率、數據速率和信道,該信道不會受到節點上行數據的影響,節點在第1個接收窗口沒有收到數據接收確認回復的情況下,經過第RD2秒(±20 ms)開啟它。這兩個接收窗口持續時間為1s。

2 馬爾科夫模型建立

在這一部分,首先提出網絡的相關的設定;然后根據LoRaWAN協議中A類節點設備發送數據的時序建立性馬爾科夫模型;最后,根據網絡中節點個數、信道數、頻段數等參數計算出馬爾科夫鏈中各狀態的概率。

2.1 假設

網絡假設如下:①網絡中只有一個網關,并且沒有未入網節點發送入網請求的干擾,只研究已入網節點發送數據的延時和功耗。②當節點在同時接收到多個前導碼的時候,節點就認為接收信息是錯誤信息。③節點使用的數據速率為DR0,這樣可以保證數據傳輸距離最遠,鏈路質量最好。④節點只有收到網關發送過來的確認消息,才停止數據重傳。否則節點會重傳數據。

2.2 馬爾科夫模型

圖3描述了A類設備節點進行一次成功數據發送的過程。根據數據成功發送的過程具體描述建立的馬爾科夫鏈。

圖3 LoRaWAN網絡A類節點數據發送的馬爾科夫鏈

節點發送數據之后進入接收前導碼1(Recv 1)。在接收前導碼1下,節點將有可能進入兩種狀態:第1種是如果節點在接收窗口1沒有檢測到前導碼,會在節點發送數據之后的第RD2秒打開接收前導碼2(Recv 2);如果檢測到前導碼,節點將進入核對前導碼1狀態(Preamb 1)。節點進入核對前導碼1狀態(Preamb 1)后,會有可能進入3種狀態:第1種情況,當節點檢測前導碼發現前導碼錯誤,會在節點發送數據之后的第RD2秒打開接收前導碼2(Recv 2);第2種情況,由于前導碼過長,會使得在接收窗口1和接收窗口2的時間內沒有接收完,將會直接進入等待狀態,在下一個數據發送周期開啟數據重傳過程;第3種情況,前導接收正確,此時節點會進入有效數據接收核對狀態1(Check 1)。當進入有效數據接收核對狀態1(Check 1)后,節點下一步會有3種可能的狀態:第1種情況,數據接收錯誤,節點會在發送數據的第RD2秒進入接收前導碼2(Recv 2);第2種情況,有效數據包太長,會使得節點在接收窗口1和接收窗口2的時間內沒有接收完,這是節點將會直接進入等待狀態(Wait),在下一個數據發送周期開啟數據重傳過程;第3種情況,接收數據正確,節點進入發送成功狀態(Finish),不需打開接收前導碼2(Recv 2)。

在上面描述符合打開接收前導碼2(Recv 2)的情況下,節點在發送數據之后的第RD2秒打開接收前導碼2(Recv 2),當進入接收前導碼2(Recv 2),節點下一步會有兩種可能狀態:第1種情況是在接收窗口2的期間內沒有接收到前導碼,此時節點將會進入等待狀態(Wait),在下一個數據發送周期開啟數據重傳過程;第2種情況是檢測到前導碼,此時節點將進入核對前導碼2狀態(Preamb 2)。當節點進入核對前導碼2狀態(Preamb 2),節點下一步會有兩種可能狀態:第1種情況是由于前導碼接收錯誤或者前導碼傳輸時間大于接收窗口2的持續時間,節點進入等待狀態(Wait),在下一個數據發送周期開啟數據重傳過程;第2種情況前導碼正確,節點將進入有效數據接收核對狀態2(Check 2)。當進入有效數據接收核對狀態2(Check 2)后,節點下一步會有兩種可能狀態:第1種情況由于有效數據接收錯誤,或者網關回復數據包過長導致接收窗口2的持續時間沒有接收完成,這樣使得節點進入等待態(Wait),開啟下一次重傳;第2種情況節點正確接收網關的回復,此時節點進入發送成功狀態(Finish),不再開啟重傳。

設本網絡的相關參數如下:nA表示入網絡的節點數目;nSB表示頻段數目;nC表示每個頻段的信道數;α表示鏈路質量(α∈[0,1]);γ表示網關具體在哪個接收窗口回復數據,當γ=1表示網關在節點第1接收窗口發送確認回復,γ=0表示在網關在節點的第二接收窗口發送確認回復;δ表示入網節點的發送數據占空比(δ=1%),即數據發送所需的時間與數據發送周期之比,LoRaWAN協議規定A類節點在一個頻段內發送數據的占空比不能超過1%,這樣能夠保證一個節點的電池能夠使用10年以上;τAδnSB代表的是網絡中的數據流量,其中τA∈[0,1]代表的是網絡的飽和度,當τA=1時代表網絡飽和。由此得到如下概率。

一個入網節點在一個數據發送周期內不占用給定信道發送數據的概率qA為:

(1)

則一個入網節點在數據發送周期內占用給定的信道上發送數據的概率為:

1-qA

(2)

由于節點發送完數據,一定會打開接收窗口,所以從發送數據狀態(Senddata)到進入接收前導碼1(Recv 1)概率ps,r1為:

ps,r1=1

(3)

若網關和所有入網節點不占用給定信道發送數據,則節點將檢測不到前導碼(無論網關還是節點發送數據時,前導碼是一樣的)。故節點在第1個接收窗口沒有檢測到前導碼(即從Recv 2進入Recv 2)的概率pr1,r2可以表示為:

pr1,r2=(1-αγqAnA)qAnA

(4)

式中:αγqAnA表示網關在第1個接收窗口在給定信道發送數據的概率,qAnA表示入網節點在給定信道沒有發送數據給網關的概率。

節點接收前導碼1到核對前導碼1(從Recv 1到Preamb 1狀態)的概率pr1,p1為:

pr1,p1=1-pr1,r2

(5)

pp1,w代表節點從核對前導碼1到達等待狀態的概率。由于兩個接收窗口之間的時間間隔為1 s,即使使用擴頻因子SF12的情況下發送前導碼的消延時間最長為401.41 ms。因此,節點不可能因為接收前導碼超時從核對前導碼1狀態(Preamb 1)進入等待狀態(Wait),所以pp1,w為:

pp1,w=0

(6)

設P(x=1)代表節點接收到一個前導碼的概率。前導碼由兩種情況組成:網關發出數據確認包攜帶的前導碼和入網節點向網關發送數據的前導碼。則P(x=1)可以表示為:

P(x=1)=αγqAnAqAnA+

(1-αγqAnA)qAnA-1(1-qA)nA

(7)

式中:αγqAnAqAnA表示網關發出數據確認包的概率;(1-αγqAnA)qAnA-1(1-qA)nA表示入網節點向網關發送數據的概率。則節點接收到一個正確的前導碼,進而進入有效數據接收核對狀態1的概率pp1,c1可以表示為:

pp1,c1=P(x=1|x≥1)=P(x=1)/P(x≥1)

=P(x=1)/pr1,p1

(8)

節點進入第2次接收流程的概率pp1,r2可以表示為:

pp1,r2=1-pp1,w-pp1,c1

(9)

pc1,f表示節點從數據核對狀態1轉移到發送成功的概率為:

pc1,f=αγqAnAqAnAα

(10)

式中:αγqAnAqAnA表示網關發送數據準確接收回復,α表示網絡中的鏈路質量。

pc1,r2表示由于網絡的鏈路質量原因節點接收數據確認回復的過程中產生丟包,由此節點從數據核對狀態1進入接收前導碼2狀態的轉移概率。經過計算,當設置采用數據傳輸速率為DR0,擴頻因子SF12時,數據接收確認回復需要的時間為991.23 ms,持續時間沒有超出兩個窗口之間的接收間隔;而對于本節點如果接收到其他節點發送到網關的數據時,由于設置每次傳輸的字節數比較大,所以發送時間都會超過1 s,使得本節點沒有時間打開接收前導碼2,所以得到pc1,r2和pc1,w為:

pc1,r2=αγqAnAqAnA(1-α)

(11)

pc1,w=1-pc1,r2-pc1,f

(12)

pr2,p2表示節點在接收前導碼2到核對前導碼2(從Recv 2到Preamb 2狀態)的轉移概率。根據LoRaWAN協議,網關在第二接收窗口發送數據所使用的信道是固定的且不會有其他節點不得占用,因此pr2,p2僅僅取決于網關準確接收到該節點發送過來的數據(概率為:αqAnA)且網關在第二接收進行回復(概率為:1-γ)。所以pr2,p2可以表示為:

pr2,p2=α(1-γ)qAnA

(13)

則前導碼傳輸過程中出錯的概率可以表示為:

pr2,w=1-pr2,p2

(14)

pp2,c2表示節點核對前導碼2狀態進入有效數據接收核對狀態2的概率。由于只允許網關發送,因此不可能接收到帶有入網請求或是節點發送數據的前導碼,可以得到:

pp2,c2=1

(15)

只有網關在第2個接收窗口的固定信道上發送數據,而且網關只對準確接收的數據進行回復。由此得到pc2,f(有效數據接收核對狀態2進入發送成功狀態的概率)和pc2,w(有效數據接收核對狀態2進入等待態的概率)如下:

pp2,w=0

(16)

pc2,f=α

(17)

pc2,w=1-α

(18)

pw,s表示入網節點因為沒有收到網關回復從等待態到發送數據態的概率:

pw,s=1

(19)

根據上面的描述可以得到節點數據的發送是一個吸收馬爾科夫過程。在這個模型中含有一個吸收態發送成功態(Finish);8個非吸收態,分別是:發送數據(Senddata),接收前導碼1(Recv 1),核對前導碼1(Preamb 1),有效數據接收核對狀態1(Check 1),接收前導碼2(Recv 2),核對前導碼2(Preamb 2),有效數據接收核對狀態2(Check 2),等待態(Wait)。由此得到吸收馬爾科夫鏈的轉移矩陣P和其標準形式P′如下:

(20)

(21)

式中:I是一個1×1的單位矩陣,0是1×8的零矩陣,R是8×1的非零矩陣,Q是一個8×8的矩陣。吸收鏈達到吸收態的概率為1,也就是最終進入發送成功狀態(即當n→∞時,Qn→0)。在吸收鏈的標準形式P′中,矩陣I-Q具有可逆矩陣N,且N=(I-Q)-1=I+Q+Q2+…。在矩陣N中Ni,j表示從非吸收狀態i轉移到非吸收狀態j平均轉移次數。由此可以得到從一個非吸收態到達吸收態過程中所要經過各非吸收態的概率為V=CsN;這里Cs取1s表示一個行向量,向量的第1項為1,其他項為0,代表初始狀態為節點發送數據,那么V中的每一項代表從數據發送狀態(Senddata)到達數據成功發送狀態(Finish)經過各吸收狀態的概率。根據上面描述數據發送過程中的延時為VD,其中D表示一個列向量,每一項表示相應非吸收狀態的延時時間。Ds表示開始數據到第1個接收窗口打開的時間;Dr1表示第1個接收窗口接收前導碼的時間;第1個接收窗口核對前導碼的發送時間Dp1=0,在這里由于前導碼的核對很短的時間,可近似為0;Dc1表示接收數據幀減去前導碼接收的時間加上在第2個接收窗口打開之前的時間;Dr2表示第2個接收窗口接收前導碼的時間;同理第2個接收窗口核對前導碼時間Dp2等于0;Dc2表示第2個接收窗口接收數據幀減去前導碼接收的時間;Dw表示由于占空比的限制的空閑時間;Df=0,表示數據成功發送,當節點收到網關回復的接收數據確認消息之后,就不在進行此數據包發送。數據發送過程中的能耗VE,E的每一項表示相應非吸收狀態的能耗。

3 性能評估

3.1 參數設置

本文的驗證測試時,節點采用SX1278芯片的相關參數展開的,這個芯片是Semtech公司專門為LoRaWAN節點進行通信設計的射頻芯片。網關采用的是SX1301芯片,該芯片是Semtech專門為LoRaWAN網關進行通信設計的射頻芯片,含有8(IF0~IF7通道)個可單獨控的制LoRa調制解調信道,每個信道的帶寬固定為125 kHz,每個信道可以設置中心頻率,可以同時進行8個LoRaWAN節點數據,能夠進行多信道、多頻段通信。在LoRaWAN協議中,應該將網關的所有LoRa信道打開,即網絡中信道總數不變。通過查詢SX1278數據手冊得到:芯片的發射電流87 mA(+17 dBm),接收電流10.8 mA,空閑電流0.2 μA;電壓為3.3 V[17]。

根據上面的分析得到兩個列向量D和E。其中D中的每一項表示節點發送數據過程經過的非吸收態對應的時間,E中的每一項對應在非吸收態的功耗;非吸收態依次為:發送數據(Senddata),接收前導碼1(Recv 1),核對前導碼1(Preamb 1),有效數據接收核對狀態1(Check 1),接收前導碼 2(Recv 2),核對前導碼2(Preamb 2),有效數據接收核對狀態2(Check 2),等待態(Wait)。在這里假設節點發送數據負載為30 byte,即FRMPayload為30 byte;使用隱式報頭;且不需要傳送MAC命令,即FOpts為0 byte。假設網關發送的數據沒有FRMPayload,只是對數據接收進行一次簡單的確認回復。由此根據協議得到上行數據為46 byte,下行數據為12 byte。在LoRaWAN協議中,本文設置第1個接收窗口打開時間為發送數據5 s后打開,由此得到各段的延時如下:

D=(6.873 0.40 0 0.60 0.40 0 0.384 38.016)T

(22)

E=(0.538 0.014 0 0.014 0.014 0 0.014 2.50-5)T

(23)

3.2 性能測試

入網節點發送數據占空比δ表示在一個頻段內,節點數據發送時間與數據發送周期之比。LoRaWAN協議規定占空比δ不能超過1%。為了增加節點發送數據的時間,盡可能的減少網絡延時,本文所有仿真實驗均采用LoRaWAN協議中允許占空比的最大。本文討論只含有一個網關的LoRaWAN網絡,采用的SX1301芯片能夠提供8個獨立控制LoRa信道,為了盡可能降低節點發送數據的延時和功耗,將網關的8個LoRa信道全部打開。

圖4和圖5顯示了鏈路質量α和確認回復γ對節點成功發送一組數據的延時和功耗的影響。鏈路質量α用數據傳輸的丟包率來衡量,對于城市環境來說,由于密集建筑物和復雜的電磁環境相應的鏈路質量會差;對于空曠的農村或者牧場等環境,不確定的干擾因素少,鏈路質量好。γ表示網關在第幾個接收窗口發送數據接收確認回復:γ=1表示網關在第1個接收窗口發送數據接收確認回復;γ=0表示網關在第2個接收窗口發送數據接收確認回復。設置頻段內信道數nC=8,頻段數nSB=1。

圖4 鏈路質量和確認回復時間對節點數據傳送延時影響

圖5 鏈路質量和確認回復時間對節點數據傳送能耗影響

從圖4和圖5中可以看出,當網絡中節點數目固定時,若γ=0,則網關在第2個接收窗口(固定的并且只有網關使用該信道)發送數據接收確認回復,因而確認包不會被任何節點干擾,導致網絡數據傳輸成功率更高,因而節點延時和能耗明顯比γ=1時更小;隨著節點數目的增加(20個、40個和60個節點),γ=1的網絡延時和能耗的增幅比γ=0的網絡更加明顯。這主要是由于網關在節點的第1個接收窗口回復確認消息會受到節點的干擾,當節點數量增多干擾越大。還可以發現鏈路質量相對較差(0.9~0.92)時,γ=0 且60個節點的網絡中,節點發送數據的延時和功耗比γ=1且20個節點的網絡少。

圖6和圖7表示節點數nA和頻段數nSB對節點成功發送數據的延時和功耗的影響。在中國地區有兩個頻段可以部署LoRaWAN網絡,網關的8個LoRa信道全部打開,則當只有一個頻段(nSB=1)時,則頻段內信道數nC=8;當兩個頻段(nSB=2)時,則每個頻段信道數nC=4,這樣的目的是為了處在不同頻段的節點有相同的信道資源。從前面的分析可知,當網關在第二窗口確認回復時節點性能更好,因此這里設置γ=0。

圖6 節點數和頻段數對節點數據傳送延時影響

圖7 節點數和頻段數對節點數據傳送能耗影響

從圖6和圖7中可以看出當鏈路質量相同時,在2個頻段的網絡中,節點發送數據的延時和功耗要相對較大。這是由于改變頻段數增加,網關只能提供8個信道,每個頻段的信道數減少,數據發生沖突的概率增加,因此延時和功耗就會增加。通過上圖還可以看出,節點數量的增加,節點之間數據碰撞的機會增加,相應地延時和功耗增加。

4 結束語

本文通過馬爾科夫鏈建立模型,然后進行MATLAB進行仿真,得到網絡中總節點數目、網關發送數據接收確認回復的時間、頻段數等參數對LoRaWAN網絡中節點發送數據延時與能耗的影響。通過仿真計算出節點發送數據的延時和功耗,這對于衡量網絡的實時性以及節點電池使用壽命具有很強的參考性;通過圖4和圖5可以看出,在實際進行LoRaWAN網絡部署時,應該設置將網關回復確認消息的時間設置在節點的第2個接收窗口;通過圖6和圖7可以看出,為了減少節點發送數據的延時和能耗,盡量將網關的8個信道,設置在一個頻段內,這樣可以減少節點發送數據時的信道沖突,可以部署在CN470~CN510頻段的80~87或者88~95信道。本文只考慮了網絡中單個網關的情況,并且網絡中節點只有A類設備,然而在實際應用中網絡中會有多個網關并且有多重節點設備,針對以上條件對數據發送延時和功耗的影響將是本文以后研究的重點。

猜你喜歡
發送數據前導網關
基于“三思而行”的數學章前導學課設計——以《數的開方》(導學課)為例
信號系統網關設備的優化
一種車載自組織網絡的媒體接入控制協議
帶標記方式的CRDSA++協議性能分析*
一種S模式ADS-B前導脈沖檢測方法
使用IPSec安全傳輸數據
基于主控同步的CAN總線多點實時數據采集技術
第四代移動通信隨機接入前導方案優化
LTE Small Cell網關及虛擬網關技術研究
應對氣候變化需要打通“網關”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合