湯 昊,范志芳
(1.中國空間技術(shù)研究院西安分院,西安 710000;2.航天東方紅衛(wèi)星有限公司,北京 100094)
近年來,遙感系列衛(wèi)星的衛(wèi)星數(shù)據(jù)類型和數(shù)據(jù)量越來越多,載荷類型呈現(xiàn)多樣化,遙感衛(wèi)星的分辨率從米級(jí)到亞米級(jí),幅寬從幾公里到幾百公里。新型遙感衛(wèi)星的快速發(fā)展,一次性可觀測(cè)數(shù)萬平方公里,重訪頻次越來越高,甚至要求可持續(xù)監(jiān)視,數(shù)據(jù)任務(wù)量成量級(jí)增長,數(shù)據(jù)類型也變化多端,隨著衛(wèi)星種類越來越多,多維信息不斷增強(qiáng),因此,相應(yīng)的對(duì)遙感地面處理也提出了更好的需求,地面處理必須要考慮衛(wèi)星處理協(xié)同才能發(fā)揮效能,為地面處理帶來新的難題。
目前衛(wèi)星由于處理數(shù)據(jù)量較大,實(shí)時(shí)性要求較高、數(shù)據(jù)類型多樣化[1-10]等特點(diǎn),對(duì)地面設(shè)備在進(jìn)行基帶處理的時(shí)候提出了更高的要求,在設(shè)計(jì)時(shí)如何保證數(shù)據(jù)的多樣化自適應(yīng)處理成為設(shè)計(jì)難點(diǎn)。
隨著數(shù)傳技術(shù)的飛速發(fā)展,衛(wèi)星數(shù)據(jù)傳輸也呈現(xiàn)越來越多樣化,而相對(duì)應(yīng)的,地面接收處理的需求也隨之逐漸多樣化,如何更加高效地、高速率地完成地面數(shù)據(jù)傳輸?shù)暮A繑?shù)據(jù)處理成為了難點(diǎn)。針對(duì)數(shù)據(jù)類型多樣化的實(shí)際需求,數(shù)據(jù)格式也呈現(xiàn)多樣化的特點(diǎn),對(duì)不同數(shù)據(jù)格式需要對(duì)應(yīng)的處理方式也不同。例如,不同的數(shù)據(jù)格式長度,就不能使用傳統(tǒng)的固定位置搜索該數(shù)據(jù),必須采用適應(yīng)范圍更廣泛的搜索方法。文章所論述的處理驗(yàn)證系統(tǒng)就是以研制基于任意長度幀頭的數(shù)據(jù)流搜索的實(shí)現(xiàn)方法,并且以滿足當(dāng)前衛(wèi)星數(shù)傳基帶處理系統(tǒng)的設(shè)計(jì)理念而確立的。
衛(wèi)星地面基帶處理系統(tǒng)[11-12]主要對(duì)衛(wèi)星下傳數(shù)據(jù)進(jìn)行處理,恢復(fù)出原始數(shù)據(jù),其系統(tǒng)方案設(shè)計(jì)如圖1所示,分別由格式解析、解壓縮、數(shù)據(jù)監(jiān)控[13]等3部分組成。各模塊具體功能介紹如下:
1)格式解析處理模塊完成對(duì)原始基帶數(shù)據(jù)的格式解析處理。接收到前端原始基帶數(shù)據(jù)后,首先進(jìn)行數(shù)據(jù)幀頭搜索,完成對(duì)數(shù)據(jù)的判讀、實(shí)時(shí)處理、去除格式信息、虛擬信道分離、有效數(shù)據(jù)提取等操作,并實(shí)時(shí)發(fā)送給后端解壓縮節(jié)點(diǎn)。其前后端的數(shù)據(jù)接收和發(fā)送均是通過網(wǎng)絡(luò)傳輸?shù)姆绞絹韺?shí)現(xiàn),此外,該模塊還具備存儲(chǔ)功能,可將需要的中間某級(jí)數(shù)據(jù)存儲(chǔ)在本地服務(wù)器,以便分析查看。
2)解壓縮處理模塊接收到格式解析模塊輸出的數(shù)據(jù)后,分別進(jìn)行幀頭搜索和解壓縮處理,并對(duì)處理后的數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)格式打包、信息判讀等操作,將最終的網(wǎng)絡(luò)格式數(shù)據(jù)發(fā)送給后端的數(shù)據(jù)監(jiān)控處理模塊。此外,該模塊也應(yīng)具備存儲(chǔ)功能,把需要的中間某級(jí)數(shù)據(jù)存儲(chǔ)在本地服務(wù)器,以便后續(xù)分析查看。
3)數(shù)據(jù)監(jiān)控處理模塊對(duì)解壓縮處理模塊輸出的數(shù)據(jù)進(jìn)行幀頭搜索和信息判讀。與前兩個(gè)模塊相同,數(shù)據(jù)監(jiān)控模塊也應(yīng)具備存儲(chǔ)功能,以便后續(xù)分析查看。
圖1 衛(wèi)星地面基帶處理系統(tǒng)總體設(shè)計(jì)圖Fig.1 Overall design of the satellite ground baseband processing system
1.1節(jié)介紹的衛(wèi)星地面基帶處理系統(tǒng)總體設(shè)計(jì)方案主要包括3大模塊,分別是格式解析模塊、解壓縮模塊、數(shù)據(jù)監(jiān)控模塊。這3大模塊有一個(gè)共同特點(diǎn),就是每個(gè)模塊接收到前端的輸入數(shù)據(jù)之后,都會(huì)首先進(jìn)行幀頭的搜索,然后再進(jìn)行后續(xù)各自具體的功能處理,因此文章提出的基于任意長度的數(shù)據(jù)幀頭搜索方法對(duì)這3大模塊均可適用。下面的介紹中把這3大模塊統(tǒng)稱為數(shù)據(jù)處理模塊。
地面基帶處理系統(tǒng)的數(shù)據(jù)處理模塊的具體數(shù)據(jù)處理流程如圖2所示,對(duì)于地面基帶數(shù)據(jù)來說,可能包括n路不同信道的數(shù)據(jù),對(duì)于每一路數(shù)據(jù)都需要進(jìn)行相似的流程處理。
1) 首先進(jìn)入數(shù)據(jù)接收模塊,接收到前一級(jí)的輸出數(shù)據(jù)作為本級(jí)的輸入數(shù)據(jù),然后對(duì)接收到的輸入數(shù)據(jù)進(jìn)行幀頭搜索,對(duì)于每個(gè)模塊而言,搜索的幀頭可能并不相同,但是搜索的機(jī)制是一致的,因此統(tǒng)一均可用本文提出的這種幀頭搜索方法實(shí)現(xiàn)各種模塊、各種不同字節(jié)幀頭的搜索。
2)對(duì)步驟2搜索到的每兩個(gè)幀頭之間的數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,不同的模塊分別進(jìn)行不同的處理,對(duì)于某些特殊的衛(wèi)星型號(hào) ,數(shù)據(jù)處理模塊內(nèi)部也許還會(huì)用到二次幀頭搜索,對(duì)于這種二次搜索幀頭同樣也可采用本文提出的方法實(shí)現(xiàn)。
3)對(duì)數(shù)據(jù)處理之后的數(shù)據(jù)進(jìn)行數(shù)據(jù)格式的編排,根據(jù)實(shí)際后級(jí)的需求,需要將輸出的數(shù)據(jù)格式編排成指定的數(shù)據(jù)格式,然后將編排之后的數(shù)據(jù)發(fā)送給后級(jí)設(shè)備。
圖2 地面基帶處理系統(tǒng)流程圖Fig.2 Ground baseband processing system flowchart
衛(wèi)星地面基帶數(shù)據(jù)是一種大容量的數(shù)據(jù)流,一次成像任務(wù),基帶處理系統(tǒng)每次接收到少則幾個(gè)G,多則幾十個(gè)G,甚至幾百G的數(shù)據(jù),接收到數(shù)據(jù)之后,地面基帶處理系統(tǒng)需要對(duì)這些數(shù)據(jù)進(jìn)行實(shí)時(shí)的處理。鑒于衛(wèi)星數(shù)傳的處理特點(diǎn),衛(wèi)星處理的時(shí)候給數(shù)據(jù)流增加了一些特定的網(wǎng)絡(luò)幀頭,以便標(biāo)識(shí)和查找定位,因此,在地面基帶處理的過程中,就需要不斷的搜索尋找某個(gè)特定的網(wǎng)絡(luò)幀頭,直到找到需要處理的最終有效的數(shù)據(jù)流,然后對(duì)該數(shù)據(jù)流進(jìn)行后續(xù)真正的處理。
對(duì)于以往的衛(wèi)星來說,增加特定網(wǎng)絡(luò)幀頭的時(shí)候,每兩個(gè)網(wǎng)絡(luò)幀頭之間的長度是固定的,因此相對(duì)應(yīng)的,對(duì)于地面基帶數(shù)據(jù)處理來說,搜索尋找網(wǎng)絡(luò)幀頭的時(shí)候,只要從固定長度處即可尋找到需要的最終有效的數(shù)據(jù)流。具體流程如下:
1)接收輸入數(shù)據(jù),并放入固定大小的緩存A中;
2)判斷該緩存的固定位置的起始幾個(gè)字節(jié)是否為幀頭,如果是,把該緩存的數(shù)據(jù)拷貝到另外一個(gè)大緩存B里面,執(zhí)行下面第3步;如果不是,若該步驟是第一次執(zhí)行,那么丟棄,重新繼續(xù)步驟1接收輸入數(shù)據(jù),若不是第一次執(zhí)行,那么同樣把該緩存的數(shù)據(jù)拷貝到另外一個(gè)大緩存B里面,執(zhí)行下面第3步;。
3)繼續(xù)接收輸入數(shù)據(jù),重復(fù)步驟1、2。
然而,隨著衛(wèi)星發(fā)展的多樣化,根據(jù)某些需要,衛(wèi)星星上壓縮和數(shù)據(jù)處理在增加網(wǎng)絡(luò)幀頭的時(shí)候,是隨機(jī)增加的,每兩個(gè)網(wǎng)絡(luò)幀頭之間的長度是任意的,并不固定且大小隨機(jī),因此每個(gè)幀頭在固定緩存的位置并不固定,這種設(shè)計(jì)給后端地面基帶數(shù)據(jù)處理增加了一定的難度,而地面基帶數(shù)據(jù)處理在處理的時(shí)候搜索尋找網(wǎng)絡(luò)幀頭又是必需的一個(gè)步驟,因此,文章提出的一種基于任意長度幀頭的數(shù)據(jù)流搜索的實(shí)現(xiàn)方法,不僅解決了這個(gè)設(shè)計(jì)難題,而且提高了數(shù)據(jù)處理速度和精確度。
文章提出的一種基于任意長度幀頭的數(shù)據(jù)流搜索的實(shí)現(xiàn)方法的具體實(shí)現(xiàn)流程圖如圖3所示。
圖3 任意幀頭搜索方法的具體實(shí)現(xiàn)流程圖Fig.3 Flowchart of the implementation of any frame header search method
具體實(shí)現(xiàn)步驟描述如下:
1)采用引進(jìn)向量容器(vector)[13-14]的方法,向量容器的數(shù)據(jù)安排以及操作方式與數(shù)組很相似,但是向量容器是動(dòng)態(tài)的,隨著元素的加入,它會(huì)根據(jù)需要自動(dòng)擴(kuò)充空間以便容納新的元素。這種方法比較靈活,應(yīng)用范圍非常廣泛,既可以適用于固定長度的數(shù)據(jù)幀頭搜索,也可以適用于不固定任意長度的數(shù)據(jù)幀頭搜索,而且適用的長度長短隨機(jī)。
把數(shù)據(jù)放在一定大小的緩存中,對(duì)緩存中的數(shù)據(jù),首先只進(jìn)行搜索幀頭(幀頭假設(shè)為XXXXXXXX),每搜索到一次幀頭,都把該幀頭(XXXXXXXX)所在的位置(設(shè)為j),存儲(chǔ)在向量容器中,如:index.push_back(j)即可,對(duì)該緩存中的搜頭完畢后,判斷當(dāng)前該向量容器的大小是否為0,若為0,則表示沒有搜到幀頭XXXXXXXX,若不為0,則進(jìn)行下一步的操作,對(duì)每兩個(gè)幀頭XXXXXXXX之間的數(shù)據(jù)進(jìn)行后續(xù)的基帶處理,如此循環(huán),直到最后一個(gè)幀頭XXXXXXXX,把最后一個(gè)以XXXXXXXX開頭的數(shù)據(jù)流存儲(chǔ)在一個(gè)局部緩存中即可,這樣不會(huì)因?yàn)樗阉鲙^而造成數(shù)據(jù)的丟失。
2)采用定義一個(gè)局部緩存的方法,把每次拷貝進(jìn)來的數(shù)據(jù)(假設(shè)大小為BIG_LENGTH)拷貝到該局部緩存A中,把該局部緩存的大小定義為2倍的拷貝數(shù)據(jù)大小(即為2*BIG_LENGTH),原因如下:把最后一個(gè)幀頭XXXXXXXX開頭的碼流拷貝到該局部緩存中,且該碼流的大小一定是小于等于拷貝進(jìn)來的數(shù)據(jù)大小BIG_LENGTH的,因此,只要定義該局部緩存大小為2*BIG_LENGTH,則不會(huì)出現(xiàn)數(shù)據(jù)溢出的問題。
根據(jù)以上方法,選取500幅,1536×3072像素的衛(wèi)星圖像[15]作為測(cè)試數(shù)據(jù),在相同的硬件平臺(tái)上,分別對(duì)傳統(tǒng)的搜索方法和本文提出的搜索方法進(jìn)行對(duì)比測(cè)試。統(tǒng)計(jì)兩種搜頭機(jī)制下對(duì)每組數(shù)據(jù)處理所需要的時(shí)間和計(jì)算的精確度,具體統(tǒng)計(jì)結(jié)果如表1、表2所列。
表1 新的搜頭機(jī)制與傳統(tǒng)搜頭機(jī)制測(cè)試時(shí)間比較Tab.1 Comparison of test time between new search mechanism and traditional search mechanism
表2 新的搜頭機(jī)制與傳統(tǒng)搜頭機(jī)制測(cè)試精確度比較Tab.2 Comparison of testing accuracy between new search mechanism and traditional search mechanism
可以看出,本文提出的新的搜頭機(jī)制所消耗的時(shí)間少、處理速度更快、精確度更高。
通過該種幀頭搜索的方法,可以實(shí)現(xiàn)對(duì)任意長度、任意形式的網(wǎng)絡(luò)數(shù)據(jù)幀頭的搜索查找。該方法已經(jīng)成功應(yīng)用于目前地面基帶數(shù)據(jù)處理系統(tǒng)中,成功應(yīng)用于多個(gè)型號(hào)衛(wèi)星,數(shù)據(jù)處理效率得到了很大的提升。
目前衛(wèi)星地面接收處理軟件內(nèi)部會(huì)涉及到海量數(shù)據(jù)的處理工作,如何提高數(shù)據(jù)處理的任意性、廣泛性、實(shí)時(shí)性以及準(zhǔn)確性是軟件設(shè)計(jì)的重點(diǎn)和難點(diǎn)。因此文章提出了一種基于任意長度幀頭的數(shù)據(jù)流搜索的實(shí)現(xiàn)方法。經(jīng)過大量的測(cè)試驗(yàn)證,通過該種方法,地面處理軟件能夠完成實(shí)時(shí)對(duì)任意長度數(shù)據(jù)幀頭的搜索查找,該機(jī)制對(duì)于軟件搜索的廣泛性具有較大的提升,具有很好的應(yīng)用價(jià)值。