• 
    

    
    

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

      ?

      基于“北斗2號”導(dǎo)航系統(tǒng)的短報文數(shù)據(jù)傳輸方法

      2024-02-19 18:02:57吳晨剛
      航海 2024年1期
      關(guān)鍵詞:數(shù)據(jù)傳輸北斗

      吳晨剛

      摘 要:北斗衛(wèi)星導(dǎo)航系統(tǒng)提供的短報文服務(wù)在應(yīng)急通信領(lǐng)域發(fā)揮著十分重要的作用,針對現(xiàn)有“北斗2號”導(dǎo)航系統(tǒng)短報文服務(wù)無反饋機(jī)制,無重傳機(jī)制和數(shù)據(jù)長度短等問題,提出一種基于北斗短報文通信的數(shù)據(jù)傳輸方法。通過在某國有大型航運公司的實際生產(chǎn)應(yīng)用,將“北斗2號”短報文的數(shù)據(jù)長度增加到原來的16倍左右,取得了良好的通信效果,為北斗短報文通信在航運領(lǐng)域生產(chǎn)應(yīng)用提供了一種解決方案。

      關(guān)鍵詞:北斗;短報文;數(shù)據(jù)傳輸

      中圖分類號:TP311.5

      文獻(xiàn)標(biāo)識碼:A

      0 引 言

      北斗衛(wèi)星導(dǎo)航系統(tǒng)是中國著眼于國家安全和經(jīng)濟(jì)社會發(fā)展需要,自主建設(shè)、獨立運行的衛(wèi)星導(dǎo)航系統(tǒng),是為全球用戶提供全天候、全天時、高精度的定位、導(dǎo)航和授時服務(wù)的國家重要空間基礎(chǔ)設(shè)施[1]。

      在一些傳統(tǒng)通訊無法保證通訊的區(qū)域,北斗短報文可以做到穩(wěn)定持續(xù)地傳輸數(shù)據(jù),因此也被廣泛應(yīng)用于各行各業(yè)的生產(chǎn)活動中。

      但是,北斗短報文在航運領(lǐng)域?qū)嶋H應(yīng)用中存在如下不足之處:

      北斗短報文通信存在數(shù)據(jù)部分損壞或者全部丟失的情況[2],而且目前“北斗2號”短報文協(xié)議不同于傳統(tǒng)網(wǎng)絡(luò)傳輸,無反饋機(jī)制和重傳機(jī)制,使得發(fā)送方無法獲知數(shù)據(jù)的接收狀態(tài),在實際應(yīng)用中用戶體驗一般。

      北斗短報文通信存在數(shù)據(jù)長度限制。目前,“北斗2號”短報文通信的單次長度限制為40漢字左右,在實際應(yīng)用中存在發(fā)送短報文數(shù)據(jù)過長時用戶不方便的問題。

      北斗系統(tǒng)對發(fā)送頻率存在限制,以及通信雙方發(fā)送頻率不一致的情況。目前在某航運公司使用“北斗2號”短報文通信時,岸端發(fā)送頻率為 1次/ min,船端發(fā)送頻率為1次/5 min 。同時,還存在接收方數(shù)量不一致的情況。在航運領(lǐng)域,岸端的接收方是多艘船舶,而船端的接收方通常是岸端,船舶之間的通信頻率較少,對于岸端而言,存在對不同船舶的消息進(jìn)行優(yōu)先級調(diào)度問題。傳統(tǒng)網(wǎng)絡(luò)模式的消息反饋、重傳數(shù)據(jù)方法,無法很好地在這種發(fā)送頻率存在限制,通信雙方頻率不一致,以及接收方數(shù)量不一致的場景下進(jìn)行使用,存在通信雙方等待時間過長,后續(xù)消息阻塞等問題。

      因此,對于短報文傳輸方法的設(shè)計實現(xiàn)與傳統(tǒng)網(wǎng)絡(luò)傳輸存在較大的區(qū)別。

      1 方法總體介紹

      本文提出的一種基于北斗短報文通信的數(shù)據(jù)傳輸方法包括發(fā)送數(shù)據(jù)模塊,接收數(shù)據(jù)模塊,調(diào)度模塊。

      傳輸方法將會使用到如下名詞定義。

      1.1? 消息隊列[3]

      分為待發(fā)送消息隊列,回執(zhí)消息隊列,接收消息隊列,拆包消息隊列,發(fā)送消息隊列。

      另外,還有一個消息池,用于記錄所有的發(fā)送和接收的消息。

      1.2? 發(fā)送周期

      按照完整消息為一個單位,1次正常傳輸時間,加上n次重傳傳輸時間為一個完整的發(fā)送周期。其中重傳時,發(fā)送方會根據(jù)接收方消息回執(zhí)的反饋,僅重傳未發(fā)送成功的消息數(shù)據(jù)包。

      其中,重傳傳輸時間等于正常傳輸時間。盡管發(fā)送方僅重傳未發(fā)送成功的消息數(shù)據(jù)包,會造成重傳傳輸時間小于正常傳輸時間,但是不考慮這種情況的原因是:北斗通信信道資源較為緊張,需要發(fā)送方和接收方多次信息交互確認(rèn)才能完成雙方的周期同步變更。

      1.3? 定時器

      對于發(fā)送方而言,定時器觸發(fā)后會進(jìn)行消息重傳和更新消息狀態(tài)。

      對于接收方而言,定時器觸發(fā)后會進(jìn)行消息回執(zhí)和更新消息狀態(tài)。

      發(fā)送方重發(fā)時刻計算公式如下:

      TF1=T+?T+(N-1)*H1+W1+H2+W2;

      TFi=TFi-1+(N-1)*H1+W1+H2+W2;

      式中,TF1為第1次重發(fā)時刻,TFi為第i次重發(fā)時刻,TFi-1為第i-1次重發(fā)時刻i∈[2,n];n為設(shè)定次數(shù);T為當(dāng)前時刻;?T為發(fā)送信息在首發(fā)時的時間間隔;N為外發(fā)數(shù)據(jù)中子數(shù)據(jù)的總數(shù);H1為發(fā)送頻率,H2為接收方的發(fā)送頻率,W1為在發(fā)送方發(fā)射時段產(chǎn)生的誤差修正常數(shù),W2為在接收方發(fā)射時段產(chǎn)生的誤差修正常數(shù);

      接收方重接時刻計算公式如下:

      TJ1=T3+(N-S)*H1+W1;

      TJi=TJi-1+(N-1)*H1+W1+H2+W2;

      式中,TJ1為第1次重接時刻,TJi為第i次重接時刻,TJi-1為第i-1次重接時刻,i∈[2,n];T3為首次接收到已收信息中子數(shù)據(jù)的時刻;N為已收信息中子數(shù)據(jù)的總數(shù);S為首次接收到的已收信息中子數(shù)據(jù)對應(yīng)的序號。

      1.4? 消息狀態(tài)

      分為待發(fā)送,發(fā)送中,發(fā)送成功,發(fā)送失敗,預(yù)接收,接收中,接收成功,接收失敗。

      1.5? 消息時間

      分為創(chuàng)建時間,等待時間和入隊時間。

      對于接收消息而言,三個時間相等。

      對于發(fā)送消息而言,創(chuàng)建時間是最初消息進(jìn)入系統(tǒng)的時間;等待時間首次發(fā)送時等于創(chuàng)建時間,在消息發(fā)送周期失敗后,如需重新發(fā)送時,等待時間變?yōu)楫?dāng)前時間;入隊時間是守護(hù)線程調(diào)度該消息從待發(fā)送狀態(tài)變?yōu)榘l(fā)送中狀態(tài)時的時間。消息回執(zhí)的時間等于對應(yīng)接收消息的時間。

      1.6? 消息頭部[4]

      包括版本號,日期,序號,當(dāng)前包號,總包號,消息類型。消息類型包括消息回執(zhí),消息,預(yù)操作消息。其中通過日期和序號可以準(zhǔn)確定位一條消息。消息頭部和所占字節(jié)數(shù)如圖1所示。

      1.7消息回執(zhí)

      內(nèi)容為OK或者未完成的數(shù)據(jù)包號數(shù)組。

      1.8? 預(yù)操作

      由于通過北斗系統(tǒng)進(jìn)行數(shù)據(jù)發(fā)送時,無法做到和傳統(tǒng)網(wǎng)絡(luò)一樣持續(xù)發(fā)送,須按照指定時間間隔進(jìn)行數(shù)據(jù)發(fā)送,并且存在發(fā)送方和接收方發(fā)送頻率相差較大的情況。

      當(dāng)按照每條消息為一個單元進(jìn)行發(fā)送時,接收方的回執(zhí)時間延遲將會導(dǎo)致發(fā)送方存在信道空閑的情況,所以引入預(yù)操作行為。通過優(yōu)先級進(jìn)行調(diào)度,對后續(xù)信息進(jìn)行預(yù)發(fā)送或預(yù)回執(zhí),以充分利用發(fā)送信道。

      1.9? 重復(fù)回執(zhí)

      由于通過北斗系統(tǒng)進(jìn)行數(shù)據(jù)發(fā)送時,無法保證接收方一定會收到數(shù)據(jù),因此在信道空閑時,會對接收成功的消息,進(jìn)行重復(fù)回執(zhí)發(fā)送,確保接收方可以收到消息回執(zhí),以充分利用發(fā)送信道。

      1.10? 消息優(yōu)先級

      目前消息分為緊急消息,回執(zhí)消息,一般消息,不緊急消息,預(yù)操作消息。

      緊急消息的優(yōu)先級大于一般消息,一般消息優(yōu)先級大于不緊急消息,不緊急消息優(yōu)先級等于預(yù)操作消息。

      回執(zhí)消息優(yōu)先級較為特殊,當(dāng)存在緊急消息時,其優(yōu)先級等于緊急消息,否則等于一般消息。

      預(yù)操作包含預(yù)發(fā)送,預(yù)回執(zhí)和重復(fù)回執(zhí),操作次數(shù)小的優(yōu)先級高。在操作次數(shù)相同時,預(yù)發(fā)送和預(yù)回執(zhí)優(yōu)先級相同,預(yù)發(fā)送和預(yù)回執(zhí)優(yōu)先級高于重復(fù)回執(zhí)。

      優(yōu)先級一樣時,等待時間早的優(yōu)先級更高。發(fā)送消息和消息回執(zhí)的等待時間完全相同時,消息回執(zhí)優(yōu)先級更高。

      2 發(fā)送數(shù)據(jù)模塊

      發(fā)送數(shù)據(jù)模塊用來接收外部發(fā)送短報文數(shù)據(jù)和本方法發(fā)送的回執(zhí)消息。

      當(dāng)模塊接收到發(fā)送請求后,會對數(shù)據(jù)進(jìn)行北斗協(xié)議的特殊字符進(jìn)行轉(zhuǎn)義處理。

      對于回執(zhí)消息,在回執(zhí)消息隊列中保留最新的回執(zhí)消息。

      對于正常消息,在待發(fā)送消息隊列和消息池增加該消息。如果消息長度超過單次最大長度減去自定義消息頭部的長度時,則進(jìn)行數(shù)據(jù)拆包處理后放入拆包消息隊列,否則直接放入拆包消息隊列。

      發(fā)送數(shù)據(jù)模塊流程如圖2所示:

      3 接收數(shù)據(jù)模塊

      接收數(shù)據(jù)模塊會根據(jù)是否存在消息頭部,判斷是否為原始短報文消息。

      對于自定義短報文,主要分為回執(zhí)消息和正常消息。

      如果是回執(zhí)消息,則根據(jù)消息內(nèi)容,從拆包消息隊列和發(fā)送消息隊列中刪除已發(fā)送的消息。如果回執(zhí)消息提示已完成發(fā)送,則更新待發(fā)送消息隊列狀態(tài),并觸發(fā)定時器。

      如果是正常消息,當(dāng)首次接收時,在接收消息隊列和消息池增加該消息,并計算發(fā)送周期,設(shè)定定時器觸發(fā)時間。每當(dāng)接收消息時,都會放入拆包消息隊列,根據(jù)隊列中該消息的總個數(shù)和消息頭部的總包號判斷是否已完成接收。如果已完成接收,則會觸發(fā)定時器。

      接收數(shù)據(jù)流程如圖3所示。

      4 調(diào)度模塊

      4.1 定時器守護(hù)線程

      定時器觸發(fā)分為立即觸發(fā)和間隔觸發(fā)。立即觸發(fā)操作由方法的模塊觸發(fā),間隔觸發(fā)由方法根據(jù)定時器觸發(fā)時間判斷是否觸發(fā)。

      4.1.1接收消息隊列

      立即觸發(fā)情況:

      (1)消息狀態(tài)為接收成功。從拆包消息隊列中獲取該消息的所有消息包合并為一條完整的消息,然后進(jìn)行特殊字符轉(zhuǎn)義,得到原始消息內(nèi)容,更新消息池中狀態(tài)為接收成功,發(fā)送消息回執(zhí)。

      (2)消息狀態(tài)為接收失敗。更新消息池狀態(tài)為接收失敗。

      間隔觸發(fā)情況:

      (3)消息狀態(tài)為接收中。如果在發(fā)送周期中,則發(fā)送消息回執(zhí),設(shè)定定時器觸發(fā)時間。如果已超出發(fā)送周期,更新接收消息隊列狀態(tài)為接收失敗并立即觸發(fā)定時器。

      (4)消息狀態(tài)為預(yù)接收:刪除消息池、接收消息隊列和拆包消息隊列的該消息數(shù)據(jù)。

      4.1.2待發(fā)送消息隊列

      立即觸發(fā)情況:消息狀態(tài)為發(fā)送成功或發(fā)送失敗。更新消息池中狀態(tài)為發(fā)送成功或發(fā)送失敗。

      間隔觸發(fā)情況:消息狀態(tài)為發(fā)送中。如果在發(fā)送周期中,將拆包消息隊列中該消息寫入發(fā)送消息隊列,設(shè)定定時器觸發(fā)時間。如果已超出發(fā)送周期,更新待發(fā)送消息隊列狀態(tài)為發(fā)送失敗,并立即觸發(fā)定時器。

      4.2 調(diào)度消息守護(hù)線程

      當(dāng)發(fā)現(xiàn)發(fā)送消息隊列無數(shù)據(jù),且接近信道下次允許發(fā)送時才會執(zhí)行如下調(diào)度操作,如圖4所示。

      檢查待發(fā)送消息隊列是否存在發(fā)送中的消息

      (1)如果不存在:

      從待發(fā)送消息隊列和回執(zhí)消息隊列獲取一條高優(yōu)先級消息。如果是待發(fā)送消息,則更新消息池狀態(tài)為發(fā)送中,計算發(fā)送周期和設(shè)定定時器觸發(fā)時間;更新待發(fā)送消息隊列狀態(tài)為發(fā)送中;將拆包消息隊列中該消息放入發(fā)送消息隊列。否則將回執(zhí)消息放入發(fā)送消息隊列后刪除。

      如果均不存在,則從接收消息隊列獲取一條高優(yōu)先級且未達(dá)到重復(fù)操作上限的消息進(jìn)行預(yù)回執(zhí)或重復(fù)回執(zhí)操作。

      (2)如果存在:

      從待發(fā)送消息隊列和回執(zhí)消息隊列獲取一條高優(yōu)先級且未達(dá)到預(yù)操作上限的消息。如果是待發(fā)送消息,從拆包消息隊列中獲取一個數(shù)據(jù)包放入發(fā)送消息隊列,并在預(yù)發(fā)送所有數(shù)據(jù)包后更新預(yù)操作次數(shù)。否則將回執(zhí)消息放入發(fā)送消息隊列后刪除。

      如果不存在回執(zhí)消息,則從待發(fā)送消息隊列和接收消息隊列獲取一條高優(yōu)先級消息進(jìn)行預(yù)發(fā)送或預(yù)回執(zhí)操作。

      4.3 發(fā)送消息守護(hù)線程

      如果當(dāng)前時間大于上次發(fā)送時間加發(fā)送頻率,則從發(fā)送消息隊列根據(jù)入隊時間,獲取最早的一條消息進(jìn)行發(fā)送。

      5 實驗測試

      搭建測試環(huán)境,模擬岸端給6條船舶依次發(fā)送如下報文,其中重傳的次數(shù)設(shè)置為2,重復(fù)回執(zhí)的次數(shù)設(shè)置為5。

      丟包率模擬:在航運領(lǐng)域,短報文收發(fā)經(jīng)常出現(xiàn)船舶的行駛過程中,丟包發(fā)生具有隨機(jī)性,因此丟包率采用了隨機(jī)數(shù)進(jìn)行模擬丟包。每次發(fā)送時,從100以內(nèi)選取一個隨機(jī)數(shù),如果隨機(jī)數(shù)小于設(shè)定的loss指標(biāo),則認(rèn)為丟包。

      發(fā)送頻率:目前岸端設(shè)備發(fā)送頻率為1次/ min,船端設(shè)備發(fā)送頻率為1次/5 min,目前船端發(fā)送的設(shè)計是預(yù)留定位發(fā)送信道,因此每10 min 發(fā)送短報文1次。本次實驗按照岸端發(fā)送頻率1次 /min,船端設(shè)備設(shè)定為2 min 和5 min 各1次,即短報文發(fā)送頻率為4 min 和10 min 各1次。

      測試報文如圖5所示:

      實驗結(jié)果如下表所示:

      從實驗結(jié)果中,我們可以得出,隨著loss指標(biāo)不斷增加,當(dāng)loss等于60時,10 min 一次發(fā)送短報文的情況,仍然可以實現(xiàn)較高的數(shù)據(jù)包達(dá)到率,證明本傳輸方法的有效性,降低了丟包率。

      6 結(jié)束語

      本文所提供的基于北斗短報文通信的數(shù)據(jù)傳輸方法已在某航運企業(yè)實際生產(chǎn)應(yīng)用,取得了良好的通信效果,將北斗2號短報文的數(shù)據(jù)長度增加到原來的16倍左右,同時增加通信的反饋功能和重傳功能,并且充分利用了北斗的通信信道。

      北斗衛(wèi)星導(dǎo)航系統(tǒng)作為國家戰(zhàn)略,成為生產(chǎn)生活中不可或缺的一部分。其強大的定位精準(zhǔn)性、廣泛的覆蓋面以及安全性的保障為我國在各行各業(yè)提供了強大的支持和保障。

      隨著北斗短報文通信容量的不斷增強,本方法會幫助北斗短報文在航運領(lǐng)域提供更好的服務(wù)[5]。

      參考文獻(xiàn)

      [1] 陳忠貴,武向軍.北斗三號衛(wèi)星系統(tǒng)總體設(shè)計[J].南京航空航天大學(xué)學(xué)報,2020(6):835-845.

      [2] 肖春暉,梁都朝.北斗短報文在海上安全信息播發(fā)中的應(yīng)用[J].珠江水運,2017,(23): 79-80.

      [3] 王亮,徐開來,馬良荔.基于會話、隊列控制的北斗短報文傳輸協(xié)議設(shè)計[J].艦船電子工程,2018,(3): 12-16.

      [4] 李晨浩,寧蓓,楊淙喜等.北斗短報文服務(wù)系統(tǒng)與終端接口設(shè)計[J].船電技術(shù),2023,(2): 9-13.

      [5] 毛建峰,季克淮,王玉強等.基于北斗三代數(shù)據(jù)傳輸?shù)暮胶1U蠎?yīng)用研究[J].珠江水運,2022,(20): 60-62.

      猜你喜歡
      數(shù)據(jù)傳輸北斗
      北斗和它的N種變身
      軍事文摘(2023年20期)2023-10-31 08:42:08
      北斗時鐘盤
      “北斗”離我們有多遠(yuǎn)
      基于Ad Hoc的微震監(jiān)測數(shù)據(jù)傳輸系統(tǒng)設(shè)計
      網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)總體架構(gòu)設(shè)計
      短波中低速數(shù)據(jù)傳輸技術(shù)
      首個北斗全球“厘米級”定位系統(tǒng)開建
      太空探索(2016年12期)2016-07-18 11:13:43
      北斗全家福
      太空探索(2016年7期)2016-07-10 12:10:15
      第23顆北斗導(dǎo)航衛(wèi)星發(fā)射成功
      太空探索(2016年7期)2016-07-10 12:10:15
      基于ZigBee 的井下探測小助手設(shè)計
      聊城市| 陇川县| 弋阳县| 永和县| 西乡县| 哈巴河县| 新疆| 建水县| 长宁县| 武邑县| 民县| 盐山县| 涟源市| 咸阳市| 海盐县| 神木县| 宜昌市| 元氏县| 开化县| 霍林郭勒市| 陵川县| 射阳县| 嘉黎县| 综艺| 宣武区| 葫芦岛市| 永定县| 保靖县| 崇信县| 佳木斯市| 湘潭县| 开远市| 连云港市| 安溪县| 射阳县| 左贡县| 武平县| 汶川县| 西吉县| 长海县| 锦州市|