本發(fā)明公開了一種基于無(wú)人機(jī)寬帶數(shù)據(jù)鏈下行鏈路的傳輸控制方法,特別是在無(wú)人機(jī)下行鏈路傳輸大量數(shù)據(jù)包時(shí)缺少對(duì)發(fā)送速率的調(diào)整導(dǎo)致丟包率增加、時(shí)延現(xiàn)象嚴(yán)重的應(yīng)用場(chǎng)景的一種基于無(wú)人機(jī)寬帶數(shù)據(jù)鏈下行鏈路的傳輸控制方法。
背景技術(shù):
隨著科技的發(fā)展,無(wú)人機(jī)在國(guó)內(nèi)的使用越來(lái)越頻繁,可用的領(lǐng)域也越來(lái)越廣泛,可用來(lái)航拍,攝影,監(jiān)控,運(yùn)輸?shù)?。而?shù)據(jù)鏈則是一種以統(tǒng)一的數(shù)據(jù)格式和通信協(xié)議,以無(wú)線信道為主對(duì)信息進(jìn)行實(shí)時(shí)、準(zhǔn)確、保密傳輸?shù)臄?shù)據(jù)通信系統(tǒng)。
無(wú)人機(jī)數(shù)據(jù)鏈?zhǔn)菬o(wú)人機(jī)技術(shù)的核心模塊,也是未來(lái)重點(diǎn)研究方向。它是收發(fā)信息以及傳輸數(shù)據(jù)的核心,負(fù)責(zé)控制信息的發(fā)送和采集數(shù)據(jù)的接收。所以隨著技術(shù)的發(fā)展,無(wú)人機(jī)技術(shù)也在不斷升級(jí),需求也在提高。傳輸?shù)膶?shí)時(shí)性,抗干擾能力,準(zhǔn)確性這些需求就成為了系統(tǒng)設(shè)計(jì)的關(guān)鍵性問(wèn)題。而無(wú)人機(jī)寬帶數(shù)據(jù)鏈?zhǔn)莻鬏斣谳^高頻段上的數(shù)據(jù)鏈路,它傳送一些數(shù)據(jù)量較大的信息數(shù)據(jù),這對(duì)數(shù)據(jù)鏈路的傳輸?shù)目煽啃砸蠛芨?,但同樣的,這也是需要解決的問(wèn)題之一。
數(shù)據(jù)鏈具有很強(qiáng)的非對(duì)稱性,即飛機(jī)向地面要傳輸大量的狀態(tài)信息,包括姿態(tài)、方位、速度、高度、溫度等飛機(jī)本身的信息以及搭載的各種設(shè)備的信息,例如高清視頻信息、激光掃描信息等,而地面?zhèn)鬏數(shù)斤w機(jī)的信息就相對(duì)較少,包括控制信息、規(guī)劃信息和參數(shù)信息等。本身無(wú)人機(jī)的飛行控制就有一定的難度,而且要在各種惡劣環(huán)境中完成作業(yè),就要保證有抗干擾能力強(qiáng)的通信設(shè)備和可以應(yīng)對(duì)各種復(fù)雜情況的數(shù)據(jù)鏈設(shè)計(jì)標(biāo)準(zhǔn)。
在無(wú)人機(jī)寬帶數(shù)據(jù)鏈系統(tǒng)中,飛控?cái)?shù)據(jù)鏈協(xié)議是核心之一,而飛控?cái)?shù)據(jù)鏈可分為,上行鏈路和下行鏈路,上行鏈路是從地面端到無(wú)人機(jī)端的傳輸鏈路;下行鏈路是從無(wú)人機(jī)端到地面端的傳輸鏈路。在無(wú)人機(jī)寬帶數(shù)據(jù)鏈中,上行鏈路上傳一些控制信息等,下行鏈路傳輸一些無(wú)人機(jī)信息以及所獲得的數(shù)據(jù),比如圖像,視頻等。
由于無(wú)人機(jī)寬帶數(shù)據(jù)鏈下行鏈路傳輸?shù)臄?shù)據(jù)量較大,所以對(duì)傳輸協(xié)議選擇較多為udp(用戶數(shù)據(jù)報(bào)協(xié)議)傳輸協(xié)議,傳輸協(xié)議udp(用戶數(shù)據(jù)報(bào)協(xié)議)協(xié)議是一種無(wú)連接的傳輸層協(xié)議,它將應(yīng)用層傳下來(lái)的數(shù)據(jù)封裝在一個(gè)數(shù)據(jù)包中進(jìn)行傳輸,由于udp協(xié)議(用戶數(shù)據(jù)報(bào)協(xié)議)缺少擁塞控制,它不會(huì)因?yàn)閿?shù)據(jù)包過(guò)多或過(guò)大就控制發(fā)送速率,在udp協(xié)議(用戶數(shù)據(jù)報(bào)協(xié)議)應(yīng)用中隨著傳輸數(shù)據(jù)的增加,丟包率和延時(shí)也隨之增加。如果不降低發(fā)送速率,那么丟包或者掉幀情況會(huì)越來(lái)越嚴(yán)重。如果無(wú)人機(jī)的下行鏈路出現(xiàn)信息丟失,這是很致命的問(wèn)題。所以需要對(duì)這個(gè)問(wèn)題進(jìn)行處理解決。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)已有技術(shù)存在的不足,提供了一種基于在無(wú)人機(jī)寬帶數(shù)據(jù)鏈中對(duì)下行鏈路進(jìn)行傳輸控制的方法,提高在此背景下的數(shù)據(jù)鏈路傳輸消息的可靠性。
為達(dá)到上述目的,本發(fā)明的構(gòu)思是:
無(wú)人機(jī)寬帶數(shù)據(jù)鏈的傳輸鏈路,可分為上行鏈路和下行鏈路,上行鏈路主要是上傳一些控制信息參數(shù)等,而下行鏈路傳輸?shù)臄?shù)據(jù)一般為圖像,視頻等信息量很大的數(shù)據(jù),這里目前使用較多的是udp協(xié)議(用戶數(shù)據(jù)報(bào)協(xié)議),因?yàn)閡dp協(xié)議(用戶數(shù)據(jù)報(bào)協(xié)議)相對(duì)于tcp協(xié)議(傳輸控制協(xié)議)的三次握手來(lái)說(shuō),具有很好的傳輸效率,非常適用在對(duì)實(shí)時(shí)性要求較高的無(wú)人機(jī)上,但同樣的,udp協(xié)議(用戶數(shù)據(jù)報(bào)協(xié)議)是一種可靠性較低的協(xié)議。
當(dāng)無(wú)人機(jī)下傳的數(shù)據(jù)僅為一些機(jī)載參數(shù),傳感器信息時(shí),此時(shí)數(shù)據(jù)量不大可以快速傳輸,當(dāng)所傳輸?shù)臑橐恍┮曨l,圖像等數(shù)據(jù)量過(guò)大或過(guò)多的數(shù)據(jù)時(shí),而udp協(xié)議(用戶數(shù)據(jù)報(bào)協(xié)議)本身并沒(méi)有什么擁塞控制,udp協(xié)議(用戶數(shù)據(jù)報(bào)協(xié)議)不會(huì)因?yàn)閿?shù)據(jù)包過(guò)多或過(guò)大而控制發(fā)送速率,一旦產(chǎn)生擁塞,那么在緩沖區(qū)滿的那個(gè)瞬間要發(fā)送的報(bào)文就很有可能被丟失,這對(duì)于無(wú)人機(jī)寬帶數(shù)據(jù)鏈系統(tǒng)來(lái)說(shuō),地面端所得到的數(shù)據(jù)信息會(huì)不完整,這是致命的問(wèn)題。
針對(duì)這種在無(wú)人機(jī)寬帶數(shù)據(jù)鏈下行鏈路中會(huì)產(chǎn)生擁塞的情況,本發(fā)明提出了一種傳輸控制方法,該方法將利用三個(gè)參數(shù)對(duì)無(wú)人機(jī)下行鏈路傳輸過(guò)程的擁塞狀況進(jìn)行判斷,采用四種不同的控制方式,提高傳輸鏈路可靠性。
根據(jù)上述發(fā)明構(gòu)思,本發(fā)明采用下述技術(shù)方案:
本發(fā)明特征在于利用時(shí)延反應(yīng)鏈路擁塞情況,以窗口來(lái)控制發(fā)送速率,并加入擁塞閾值以及目標(biāo)時(shí)延參數(shù),通過(guò)判斷時(shí)延的大小和丟包情況,對(duì)窗口值大小進(jìn)行調(diào)整,具體操作步驟如下:
1)設(shè)定初始窗口值、擁塞閾值以及目標(biāo)時(shí)延;
2)利用時(shí)間戳讀取傳輸時(shí)延;
3)通過(guò)時(shí)延的數(shù)值以及丟包情況對(duì)窗口值進(jìn)行調(diào)整。
上述步驟1)設(shè)定初始窗口值、擁塞閾值以及目標(biāo)時(shí)延的方法是:根據(jù)無(wú)人機(jī)數(shù)據(jù)鏈路的設(shè)計(jì)需求設(shè)定初始窗口值、擁塞閾值和目標(biāo)時(shí)延,窗口值用以控制傳輸速率,初試值可設(shè)較大,用以快速提高鏈路傳輸速率;擁塞閾值和目標(biāo)時(shí)延用以避免進(jìn)入擁塞狀態(tài),可根據(jù)鏈路的需求設(shè)定大小。
上述步驟2)利用時(shí)間戳讀取傳輸時(shí)延的方法是:在無(wú)人機(jī)的空中發(fā)送端的數(shù)據(jù)包中加入時(shí)間戳,并記錄發(fā)送時(shí)間,當(dāng)數(shù)據(jù)包送至地面接收端時(shí),通過(guò)讀取時(shí)間戳,用本地時(shí)間減去時(shí)間戳,可得到絕對(duì)傳輸時(shí)延。
上述步驟3)通過(guò)時(shí)延的數(shù)值以及丟包情況對(duì)窗口值進(jìn)行調(diào)整的方法是:根據(jù)所讀取的時(shí)延大小以及數(shù)據(jù)包丟失率情況,可分為四種窗口控制方式,具體操作步驟如下:
①當(dāng)時(shí)延的值小于目標(biāo)時(shí)延和擁塞閾值之差時(shí),表明此時(shí)擁塞狀態(tài)良好,可以加快傳輸,返回ack(確認(rèn)字符)表示可采用快速擴(kuò)大窗口值的方式來(lái)提高發(fā)送速率;
②當(dāng)時(shí)延的值大于目標(biāo)時(shí)延和擁塞閾值之差同時(shí)小于目標(biāo)時(shí)延的值時(shí),表明此時(shí)處于即將達(dá)到擁塞狀態(tài),需要控制下傳輸速率,返回ack表示可采用減緩擴(kuò)大窗口值的方式來(lái)緩慢提高發(fā)送速率;
③當(dāng)時(shí)延的值大于目標(biāo)時(shí)延的值時(shí),表明此時(shí)可判定為擁塞狀態(tài),返回ack表示可采用減小窗口值的方式來(lái)降低發(fā)送速率;
④當(dāng)因?yàn)橐馔馇闆r產(chǎn)生丟包,返回ack表示可采用迅速縮小窗口值的方式來(lái)降低發(fā)送速率。
本發(fā)明與現(xiàn)有技術(shù)比較,具有如下顯而易見的突出實(shí)質(zhì)性特點(diǎn)和顯著技術(shù)進(jìn)步:
通過(guò)這種方法可以有效地提高無(wú)人機(jī)寬帶數(shù)據(jù)鏈下行鏈路的傳輸可靠性,降低了數(shù)據(jù)包丟失概率或者掉幀現(xiàn)象的出現(xiàn),并且在保證可靠性的前提下,盡可能地提高傳輸效速率,這相比于傳統(tǒng)的無(wú)人機(jī)數(shù)據(jù)鏈下行鏈路傳輸控制來(lái)說(shuō),極大地提升了數(shù)據(jù)鏈路的性能。
附圖說(shuō)明
圖1為本發(fā)明的無(wú)人機(jī)寬帶數(shù)據(jù)鏈下行鏈路傳輸控制流程框圖。
圖2為本發(fā)明的無(wú)人機(jī)寬帶數(shù)據(jù)鏈下行鏈路傳輸控制階段轉(zhuǎn)換圖。
具體實(shí)施方式
本發(fā)明的優(yōu)選實(shí)施例結(jié)合附圖詳述如下:
實(shí)施例一:
參見圖1,本基于無(wú)人機(jī)寬帶數(shù)據(jù)鏈下行鏈路的傳輸控制方法,其特征在于利用時(shí)延反應(yīng)鏈路擁塞情況,以窗口來(lái)控制發(fā)送速率,并加入擁塞閾值以及目標(biāo)時(shí)延參數(shù),通過(guò)判斷時(shí)延的大小和丟包情況,對(duì)窗口值大小進(jìn)行調(diào)整,具體操作步驟如下:
1)設(shè)定初始窗口值、擁塞閾值以及目標(biāo)時(shí)延;
2)利用時(shí)間戳讀取傳輸時(shí)延;
3)通過(guò)時(shí)延的數(shù)值以及丟包情況對(duì)窗口值進(jìn)行調(diào)整。
實(shí)施例二:
本實(shí)施例與實(shí)施例一基本相同,其特別之處如下:
所述特征在于步驟1)設(shè)定初始窗口值、擁塞閾值以及目標(biāo)時(shí)延的方法是:根據(jù)傳輸需求設(shè)定初始窗口值、擁塞閾值和目標(biāo)時(shí)延,窗口值用以控制傳輸速率,擁塞閾值和目標(biāo)時(shí)延用以避免進(jìn)入擁塞狀態(tài);所述特征在于步驟2)利用時(shí)間戳讀取傳輸時(shí)延的方法是:在無(wú)人機(jī)的空中發(fā)送端的數(shù)據(jù)包中加入時(shí)間戳,當(dāng)送至地面接收端時(shí),通過(guò)讀取時(shí)間戳可得到傳輸時(shí)延;所述特征在于步驟3)通過(guò)時(shí)延的數(shù)值以及丟包情況對(duì)窗口值進(jìn)行調(diào)整的方法是:根據(jù)時(shí)延的大小以及數(shù)據(jù)包丟失率情況,可分為四種窗口控制方式,具體操作步驟如下:
①當(dāng)時(shí)延的值小于目標(biāo)時(shí)延和擁塞閾值之差時(shí),采取快速擴(kuò)大窗口值的方式來(lái)提高發(fā)送速率;
②當(dāng)時(shí)延的值大于目標(biāo)時(shí)延和擁塞閾值之差同時(shí)小于目標(biāo)時(shí)延的值時(shí),采取減緩擴(kuò)大窗口值的方式來(lái)提高發(fā)送速率;
③當(dāng)時(shí)延的值大于目標(biāo)時(shí)延的值時(shí),采取減小窗口值的方式來(lái)降低發(fā)送速率;
④當(dāng)因?yàn)橐馔馇闆r產(chǎn)生丟包,采取迅速縮小窗口值的方式來(lái)降低發(fā)送速率。
實(shí)施例三:
本基于無(wú)人機(jī)寬帶數(shù)據(jù)鏈下行鏈路的傳輸控制方法結(jié)合圖1詳述如下:
本實(shí)施例利用時(shí)延反應(yīng)鏈路擁塞情況,以窗口來(lái)控制發(fā)送速率,并加入擁塞閾值以及目標(biāo)時(shí)延參數(shù),通過(guò)判斷時(shí)延的大小和丟包情況,對(duì)窗口值大小進(jìn)行調(diào)整,具體操作步驟如下:
1)設(shè)定初始窗口值、擁塞閾值以及目標(biāo)時(shí)延;
2)利用時(shí)間戳讀取傳輸時(shí)延;
3)通過(guò)時(shí)延的數(shù)值以及丟包情況對(duì)窗口值進(jìn)行調(diào)整。
步驟1)是根據(jù)無(wú)人機(jī)數(shù)據(jù)鏈路的設(shè)計(jì)需求設(shè)定初始窗口值、擁塞閾值和目標(biāo)時(shí)延,窗口值用以控制傳輸速率,初試值可設(shè)較大,用以快速提高鏈路傳輸速率;擁塞閾值和目標(biāo)時(shí)延用以避免進(jìn)入擁塞狀態(tài),可根據(jù)鏈路的需求設(shè)定大小。
步驟2)是在無(wú)人機(jī)的空中發(fā)送端的數(shù)據(jù)包中加入時(shí)間戳,并記錄發(fā)送時(shí)間,當(dāng)數(shù)據(jù)包送至地面接收端時(shí),通過(guò)讀取時(shí)間戳,用本地時(shí)間減去時(shí)間戳,可得到絕對(duì)傳輸時(shí)延。
步驟3)是根據(jù)所讀取的時(shí)延大小以及數(shù)據(jù)包丟失率情況,可分為四種窗口控制方式,具體操作步驟如下:
①當(dāng)時(shí)延的值小于目標(biāo)時(shí)延和擁塞閾值之差時(shí),表明此時(shí)擁塞狀態(tài)良好,可以加快傳輸,返回ack(確認(rèn)字符)表示可采用快速擴(kuò)大窗口值的方式來(lái)提高發(fā)送速率;
②當(dāng)時(shí)延的值大于目標(biāo)時(shí)延和擁塞閾值之差同時(shí)小于目標(biāo)時(shí)延的值時(shí),表明此時(shí)處于即將達(dá)到擁塞狀態(tài),需要控制下傳輸速率,返回ack(確認(rèn)字符)表示可采用減緩擴(kuò)大窗口值的方式來(lái)緩慢提高發(fā)送速率;
③當(dāng)時(shí)延的值大于目標(biāo)時(shí)延的值時(shí),表明此時(shí)可判定為擁塞狀態(tài),返回ack(確認(rèn)字符)表示可采用減小窗口值的方式來(lái)降低發(fā)送速率;
④當(dāng)因?yàn)橐馔馇闆r產(chǎn)生丟包,返回ack(確認(rèn)字符)表示可采用迅速縮小窗口值的方式來(lái)降低發(fā)送速率。
上述過(guò)程4的四種窗口控制可用公式表示為:
其中w(t+1)為下一刻窗口的值,w(t)為當(dāng)前窗口的值,t為目標(biāo)時(shí)延,c為絕對(duì)時(shí)延,q為擁塞閾值,p為增益因子,其中p1,p2,p3與最大報(bào)文單元有關(guān),且令p1>>p2,p3為負(fù)值,p4與丟包率有關(guān)。
根據(jù)公式并結(jié)合附圖說(shuō)明圖2可將控制階段分為初始階段,平穩(wěn)階段,預(yù)擁塞階段,擁塞階段。從初始階段開始發(fā)送窗口一直擴(kuò)大,直到當(dāng)時(shí)延等于目標(biāo)時(shí)延與擁塞閾值之差時(shí)進(jìn)入第二階段平穩(wěn)階段,隨著窗口繼續(xù)擴(kuò)大,此時(shí)進(jìn)入預(yù)擁塞階段,窗口值會(huì)繼續(xù)增大,但增大的幅度開始減小,當(dāng)時(shí)延上升到目標(biāo)時(shí)延時(shí),此時(shí)進(jìn)入擁塞階段,開始減小窗口值。