閆 蕾,董 房
(上海衛(wèi)星工程研究所,上海 201109)
衛(wèi)星是個系統(tǒng)工程,是由多個平臺保障分系統(tǒng)和有效載荷分系統(tǒng)有機(jī)組成的整體,不同的分系統(tǒng)又由不同專業(yè)院所承制[1]。隨著衛(wèi)星研制技術(shù)發(fā)展,衛(wèi)星功能不斷豐富,參研單位越來越多,尤其是大型衛(wèi)星,能夠提供的工程遙測數(shù)據(jù)、業(yè)務(wù)遙測數(shù)據(jù)的類別和數(shù)量都大大增多。不同分系統(tǒng)院所的設(shè)計師在進(jìn)行遙測數(shù)據(jù)分析時,目標(biāo)遙測數(shù)據(jù)不同,在衛(wèi)星廠房電測試期間,不同分系統(tǒng)設(shè)計師也重點關(guān)注本系統(tǒng)的遙測數(shù)據(jù)。現(xiàn)有衛(wèi)星綜合測試系統(tǒng)可實現(xiàn)以統(tǒng)一的方式接收和處理遙測數(shù)據(jù)[2],但無法將不同種類的遙測數(shù)據(jù)進(jìn)行分類后提供給特定分系統(tǒng)的設(shè)計師或院所單位,在進(jìn)行原碼檢查時,設(shè)計師每次需要對整個遙測原碼進(jìn)行查看和分析,效率低下。
本文以航天八院某衛(wèi)星型號的用戶需求為背景,從PCM衛(wèi)星遙測幀的結(jié)構(gòu)特征入手,提煉適用于我國現(xiàn)有的采用PCM遙測體制的所有衛(wèi)星遙測幀的分類提取方法,并以大數(shù)據(jù)量處理、高效率提取為性能目標(biāo),實現(xiàn)快速滿足不同用戶對不同類別遙測數(shù)據(jù)使用的需求。
圖1 衛(wèi)星遙測類別及下傳方式
衛(wèi)星遙測類別及下傳方式如圖1所示。
圖2 各類遙測幀特征結(jié)構(gòu)
實時遙測:星務(wù)系統(tǒng)將實時采集到的衛(wèi)星遙測數(shù)據(jù)組幀后,從測控通道實時下傳至地面系統(tǒng)。
組合回放遙測:星務(wù)系統(tǒng)將某些遙測數(shù)據(jù)組幀后存入存儲遙測數(shù)據(jù)段,包含延時遙測幀、各類打包遙測幀、各類存儲段遙測等。在衛(wèi)星組合回放遙測模式下,與實時遙測幀交替下傳至地面系統(tǒng)[3]。
內(nèi)存下卸遙測:星上收到內(nèi)存下卸指令后,在內(nèi)存下卸遙測模式下傳至地面系統(tǒng)。
數(shù)傳通道遙測:某些特定類別的遙測幀在組幀后存入平臺固存,可包括以上所述的遙測類別,也可包含只存儲在平臺固存中的遙測數(shù)據(jù)。在有效載荷工作時,隨有效載荷數(shù)據(jù)一起從數(shù)傳通道傳輸至地面系統(tǒng)[4]。
采用PCM遙測體制的衛(wèi)星型號,由若干PCM遙測體制標(biāo)準(zhǔn)遙測格式的遙測幀形成整星遙測方案。PCM遙測幀幀長固定,通過幀復(fù)用的方式,實現(xiàn)不同遙測幀數(shù)據(jù)下傳。具有以下特點:
(1)幀同步字、幀長、幀識別字,均由衛(wèi)星總體定義和分配,在衛(wèi)星全生命周期固定且唯一。幀同步字用于識別一幀的開端;幀長代表一幀數(shù)據(jù)的長度;各類遙測幀識別字,用于識別幀遙測類別的標(biāo)識字。
(2)實時遙測幀、延時遙測幀,幀格式的編排由幀計數(shù)決定,同一計數(shù)下幀格式編排固定[5]。通過衛(wèi)星遙測周期,將整星遙測按幀計數(shù)循環(huán)遍歷組幀發(fā)送至地面系統(tǒng),提供給設(shè)計師進(jìn)行衛(wèi)星狀態(tài)分析。
(3)其余類別的遙測幀,均為來自衛(wèi)星多個源端單元,同一種數(shù)據(jù)類別,其遙測幀的結(jié)構(gòu)及編排都相同,因此遙測幀中無遙測幀計數(shù)一項,不同類別的遙測,通過遙測數(shù)據(jù)識別字來區(qū)分[6]。
由此,可得出各類遙測幀的特征結(jié)構(gòu)如圖2所示。
圖2中W代表一個碼字,其下標(biāo)代表遙測碼組在遙測幀中的起始位置和終止位置;WN為該遙測幀的最后一個字節(jié);“……”代表除特征碼字外的其他碼字。該說明對表1同樣適用,下文不再重復(fù)。
由各類遙測幀特征結(jié)構(gòu)可看出,在PCM遙測體制下,不論是哪種類型的遙測幀,都有以下共性特點:
(1) 衛(wèi)星型號的所有類別遙測數(shù)據(jù)的幀同步字、幀長都相同;
(2) 通過幀同步字可定位一幀遙測數(shù)據(jù)的開始;
(3) 通過遙測幀數(shù)據(jù)識別字可判斷該幀遙測數(shù)據(jù)的具體類別;
(4) 通過遙測幀長便可獲取到該幀數(shù)據(jù)的所有內(nèi)容。
由此,可得出PCM遙測體制下,通用的遙測特征結(jié)構(gòu),見表1。
表1 PCM體制衛(wèi)星通用遙測幀特征結(jié)構(gòu)
從PCM遙測體制通用衛(wèi)星遙測幀特征結(jié)構(gòu)可得出,要提取特定類別的遙測幀,需提供以下基本參數(shù):
(1)幀同步字:在遙測數(shù)據(jù)中,標(biāo)志著一幀遙測幀的起始;
(2)遙測幀識別字:標(biāo)志該遙測幀的類別[7];
(3)遙測幀識別字的位置:用以定位遙測幀識別字在一幀遙測幀中的起始位置;
(4)遙測幀識別字的長度:表示遙測幀識別字的字段長度;
(5)遙測幀長:可獲取一幀遙測的所有數(shù)據(jù)。
以上五項基本參數(shù),就具備了遙測數(shù)據(jù)中定位并提取出特定類別遙測幀的條件[8]。
不論是測控通道還是數(shù)傳通道下傳的衛(wèi)星遙測數(shù)據(jù),都是以二進(jìn)制衛(wèi)星原碼的形式傳輸至地面測試系統(tǒng)。在算法實現(xiàn)中,需使用文件輸入輸出流讀取遙測原碼文件內(nèi)容,調(diào)用文件I/O函數(shù)從文件流中讀取二進(jìn)制數(shù)據(jù)[9],將遙測數(shù)據(jù)文件加載至數(shù)據(jù)流緩沖區(qū)中進(jìn)行數(shù)據(jù)處理。提取出的遙測數(shù)據(jù)同樣要調(diào)用文件I/O函數(shù),以二進(jìn)制文件流的形式,將同一類別的遙測數(shù)據(jù)存儲在同一數(shù)據(jù)文件中。遙測原碼輸入和輸出過程如圖3所示。
圖3 遙測原碼數(shù)據(jù)輸入輸出過程
在提供五項基本參數(shù)后,便可開始對遙測數(shù)據(jù)進(jìn)行分類提取,詳細(xì)流程如圖4所示。
圖4 遙測幀分類提取算法流程
本算法基于已知參數(shù)的處理流程,具有極大提升處理效率的特點:
(1)已知的遙測幀識別字位置參數(shù)、長度參數(shù):對于一幀遙測幀,從遙測幀識別字的偏移位置直接讀取識別字長度字節(jié)的數(shù)據(jù),即為該幀的識別字,以判斷是否為目標(biāo)類別的遙測幀;
(2)已知的遙測幀長參數(shù):其一,可判斷若當(dāng)前搜索位置之后的數(shù)據(jù)長度小于遙測幀長,則表明當(dāng)前位置之后無有效遙測幀,流程結(jié)束;其二,對定位到的目標(biāo)類別遙測幀,選取同步字位置處開始的幀長長度的數(shù)據(jù),即為完整遙測幀數(shù)據(jù);其三,若根據(jù)標(biāo)識字判斷出不是目標(biāo)類別的遙測幀,則直接根據(jù)幀長跳過該幀數(shù)據(jù)。
以典型的256 B一幀的星上遙測為例,假設(shè)待處理數(shù)據(jù)量為N幀數(shù)據(jù),需要提取的遙測類別數(shù)量為M種,算法處理一個字節(jié)為原子操作。根據(jù)流程圖,提取完所有目標(biāo)類別遙測幀,處理算法的時間復(fù)雜度為:
T(N)=O(NM)
式中,T表示算法時間復(fù)雜度;N表示遙測數(shù)據(jù)量;M表示要提取的遙測種類數(shù)量。
為滿足不同遙測模式及不同型號的應(yīng)用,可通過外部配置文件的形式進(jìn)行通用化設(shè)計,將具有型號差異的四項基本參數(shù)的設(shè)置與算法剝離,定義在外部配置文件中,由程序加載至流程內(nèi)部處理。
還可將遙測幀識別字和遙測幀類別名稱進(jìn)行關(guān)聯(lián)配置,自動將目標(biāo)遙測數(shù)據(jù)存儲在對應(yīng)的遙測類別名稱命名的文件中,免除人工操作。
通過通用化和自動化設(shè)計,可實現(xiàn)在PCM體制衛(wèi)星型號中的廣泛應(yīng)用,并極大提升用戶體驗。
為了驗證本文方法的有效性和先進(jìn)性,使用C#語言編程實現(xiàn)了本文的方案,并對傳統(tǒng)遙測數(shù)據(jù)提取方法和本文方法分別進(jìn)行了試驗。
試驗中,選用航天八院某典型的遙測幀長為256 B的PCM體制衛(wèi)星型號實際電測試過程中的遙測數(shù)據(jù),具體如表2所示。
表2 試驗使用的某衛(wèi)星型號遙測數(shù)據(jù)
使用的硬件條件為普通辦公計算機(jī),配置為:Intel Core i5 3.20 GHz處理器,2 GB內(nèi)存,運行Windows XP操作系統(tǒng)[9]。
目前,工程上使用BES軟件獲取目標(biāo)遙測數(shù)據(jù),先進(jìn)行不等長幀處理,再輸出目標(biāo)數(shù)據(jù)。該方法一次只能提取一種遙測數(shù)據(jù),且只能查找?guī)筋^后緊跟幀識別的情況,若中間有其他數(shù)據(jù),該軟件便無法處理。
本試驗選用的衛(wèi)星型號幀同步字后緊跟幀識別字,使用傳統(tǒng)方法提取目標(biāo)遙測幀,具體步驟如下:
(1)設(shè)置不等長幀前導(dǎo)碼(包含幀同步頭、幀識別字)、不等長幀數(shù)據(jù)存儲路徑等信息。試驗得出本步驟平均時間為12.02 s。
(2)在原始數(shù)據(jù)文件中從頭至尾逐個字節(jié)遍歷搜索前導(dǎo)碼,并以其作為第一行按順序排列。本步驟中,原始文件大小是影響搜索時間的最主要因素,試驗結(jié)果如表3所示。
(3)設(shè)置輸出數(shù)據(jù)的起始位置、結(jié)束位置(幀長)、輸出路徑等信息。試驗得出本步驟平均時間為16.97 s。
(4)輸出目標(biāo)遙測數(shù)據(jù)幀。本步驟中,目標(biāo)遙測幀數(shù)量和遙測幀長相對于整個原始文件數(shù)據(jù)而言,數(shù)據(jù)量太小,輸出時間相對人工配置時間來說,實際可忽略不計,試驗結(jié)果如表3所示。
表3 傳統(tǒng)方法提取和輸出時間試驗結(jié)果
以上方法每提取一種類別的數(shù)據(jù),都需循環(huán)進(jìn)行步驟(1)~步驟(4)。因此,提取目標(biāo)遙測數(shù)據(jù)所需的時間為:
T=(T1+T2+T3+T4)×M
式中,T表示總時間;T1表示步驟(1)時間;T2表示步驟(2)時間;T3表示步驟(3)時間;T4表示步驟(4)時間;M表示要提取的遙測種類數(shù)量。
由以上分析和試驗結(jié)果可得出:
(1)傳統(tǒng)方法不可避免的人工配置時間為T0=T1+T3=12.02 s+16.97 s=28.99 s;
(2)從數(shù)傳通道遙測數(shù)據(jù)中,提取出1種遙測數(shù)據(jù)所用平均時間為T=T0+32.98 s+0.66 s=62.63 s;提取出其中包含的12種數(shù)據(jù),則所用時間為12×62.63 s=751.56 s;
(3)每天的衛(wèi)星加電遙測數(shù)據(jù)中,提取出1種遙測數(shù)據(jù)所需時間平均為T=T0+1.34 s+0.45 s=30.78 s;將平均包含的9種遙測數(shù)據(jù)全部分類提取,所需時間為T=9×30.78 s=277.02 s。
本文方法通過通用化和自動化設(shè)計,一方面,省去了人工配置的時間,人工配置的時間可忽略不計,處理時間為算法搜索和輸出的時間;另一方面,本方法無需依賴幀同步頭與幀識別字的位置關(guān)系,只要在配置文件中定義了幀結(jié)構(gòu),均可完成提取。
下面對本方法進(jìn)行固定遙測數(shù)據(jù)、固定提取類別、全類別提取3種模式的試驗。
4.2.1試驗一:固定遙測數(shù)據(jù)模式
在該試驗?zāi)J街校x用該衛(wèi)星型號1天的數(shù)傳通道遙測數(shù)據(jù)文件,將提取的遙測種類從1種依次增加到12種,統(tǒng)計提取出的數(shù)據(jù)量和提取時間并計算平均值,試驗結(jié)果如表4、圖5所示。
從以上試驗結(jié)果可得出:
(1)提取出1種遙測數(shù)據(jù),平均提取出的數(shù)據(jù)量為2.19 MB,平均提取時間僅為8.2 s;
(2)提取出全部12種數(shù)據(jù),數(shù)據(jù)量為26.1 MB,提取時間僅為53.3 s;
(3)平均提取13.60 MB數(shù)據(jù)量,所用時間為29.52 s;
(4)提取出的數(shù)據(jù)量(X)和提取時間(Y)成線性相關(guān)。
4.2.2試驗二:固定提取類別數(shù)量模式
在該試驗?zāi)J街?,使用該衛(wèi)星型號5天的測控通道遙測數(shù)據(jù),每個文件分類提取5種遙測。試驗結(jié)果如表5所示。
數(shù)據(jù)名稱總數(shù)據(jù)量/MB提取數(shù)據(jù)量/MB處理時間/s數(shù)據(jù)111.17.1112.44數(shù)據(jù)211.04.848.42數(shù)據(jù)314.14.778.30數(shù)據(jù)417.40.801.62數(shù)據(jù)514.13.546.33平均值13.544.217.42
從以上試驗結(jié)果可得出,每天的遙測數(shù)據(jù)文件平均大小為13.54 MB,僅提取5類遙測幀的情況下,可平均提取4.51 MB數(shù)據(jù)量,所用時間僅為7.42 s。
4.2.3試驗三:遙測類別全提取模式
在該試驗?zāi)J街?,同樣使?天的測控通道遙測數(shù)據(jù),將每個文件中所有類別的遙測全部分類提出,試驗結(jié)果如表6所示。
從以上試驗結(jié)果可得出:
(1)數(shù)據(jù)5包含的遙測類別最多,共有11種,將所有遙測全部分類提取,提取出的數(shù)據(jù)量為8.04 MB,時間僅為14.16 s;
(2)數(shù)據(jù)1包含的遙測類別最少,共有6種,將所有遙測全部分類提取,提取出的數(shù)據(jù)量總計為8.74 MB,時間僅為15.25 s;
表6 遙測全類別提取模式試驗結(jié)果
(3) 每天的衛(wèi)星加電遙測數(shù)據(jù)文件中包含遙測類別平均為9種,將其全部分類提取,提取出的數(shù)據(jù)量平均為7.01 MB,所需時間平均僅為12.39 s。
本文針對PCM體制的衛(wèi)星遙測數(shù)據(jù),從通用遙測幀特征結(jié)構(gòu)分析、遙測數(shù)據(jù)幀分類提取基本條件、遙測數(shù)據(jù)輸入輸出流分析、遙測數(shù)據(jù)高效分類提取算法分析、通用化及自動化設(shè)計五個方面著手,提出了PCM體制衛(wèi)星遙測幀全分類提取方法。通過試驗表明,本文所設(shè)計方法,能夠一次性快速分類提取大數(shù)據(jù)量、多通道來源的遙測數(shù)據(jù),可滿足不同用戶對不同類別遙測數(shù)據(jù)的使用需求,極大提升衛(wèi)星遙測數(shù)據(jù)分析效率。