朱紅 鄭小松 黃普明
(中國空間技術研究院西安分院,西安710100)
日益迫切的空間應用和蓬勃興起的衛星對地觀測應用的需求,推動著衛星遙感技術水平的快速提高,遙感數據源呈現出高時間分辨率、高空間分辨率和高光譜分辨率的發展趨勢,遙感數據的類型越來越多,數據量越來越大,對數傳技術提出了更高要求[1-2],主要體現在以下方面:衛星遙感器的種類、工作模式、源包格式、數據速率、實時性要求各異;信源數據以大量遙感數據和輔助測量數據為主,數據隨機性強,特征復雜多變;下傳數據種類多、數據量大、數據率高,星地數據傳輸交互時間短;遙感應用面向多類用戶,數傳應貫徹標準化設計理念。
為最大限度地共享資源,空間數據系統咨詢委員會(Consultative Committee for Space Data Systems,CCSDS)推出的高級在軌系統(Advanced Orbiting Systems,AOS)標準[3-4]已成為航天器空間數據系統研制遵循的技術體系標準。基于AOS標準的編碼(簡稱AOS編碼)采用虛擬信道(Virtual Channel,VC)機制組織遙感數據,通過虛擬信道動態調度管理[5]將多路輸入數據高速復接[6]形成組幀數據流,實現多路遙感數據在同一空間物理信道上的共享傳輸。
數傳信息流設計需要綜合考慮多方面限制或需求,如高速遙感數據緩存容量受限、低速遙感數據具有實時性傳輸需求等。對于緩存容量受限的問題,雖然已有文獻針對緩存容量的選擇進行了討論[7-8],但是還沒有可用于工程的確切計算方法,主要還是憑經驗選取,容量選擇太小時會造成數據溢出,容量選擇太大時又會浪費存儲資源。本文面向工程應用對數傳信息流進行了動態仿真分析,可以快速、準確地獲得虛擬信道緩存容量需求值。針對低速遙感數據的實時性傳輸需求,本文提出了基于分組優先級的虛擬信道動態調度策略,可以同時滿足不同類型遙感數據的處理或傳輸需求,既可實現低速數據的實時傳輸,還不會增加高速數據的緩存代價。
數傳與遙感器之間數據接口定義如圖1所示。遙感數據可分成兩類:一類需要數據壓縮,定義為a類(遙感器用ai表示,i∈ [1,Ⅰ]);另一類需要直接傳輸原始數據,定義為b類(遙感器用bj表示,j∈ [1,J])。其中,Ⅰ、J表示a、b類遙感器的數量。目前的光學遙感器大多采用推掃方式成像,輸出圖像格式是按行送出的。為此,圖像壓縮編碼單元采用條帶壓縮方式和JPEG2000[9]壓縮算法降低數據率,同時減小誤碼擴散影響,并確保重建圖像質量滿足任務需求。對每路a類遙感數據進行獨立的壓縮編碼后形成Ⅰ路壓縮數據,并和J路b類原始遙感數據一起形成空間鏈路層中的(Ⅰ+J)路位流數據。在AOS編碼單元中,各路位流數據通過獨立的虛擬信道傳輸,通過多路虛擬信道復接處理,形成適合于空間物理信道傳輸的兩路并行組幀數據,在實時或延時傳輸模式下,送四相相移鍵控(Quadrature Phase Shift Keying,QPSK)調制器進行調制后經空間物理信道下傳。其中,兩路并行組幀數據分別作為QPSK調制器的同相分量(In-phase)和正交分量(Quadrature)輸入信號。

圖1 數傳與遙感器之間的接口Fig.1 Interface between data transmission system and remote sensors
兩路并行組幀數據流的傳輸幀格式如圖2所示。為了完成組幀處理,首先將輸入的壓縮數據ai和原始數據bj位流數據嵌入位流協議數據單元(Bitstream Protocol Data Unit,B-PDU)數據域形成B-PDU數據單元。對各路B-PDU數據單元分配虛擬信道形成虛擬信道數據單元(Virtual Channel Data Unit,VCDU)。通過虛擬信道動態調度管理完成多路VCDU數據單元的高速復接。考慮到星地無線傳輸中,數據傳輸速率高,發射功率受限,電波在自由空間傳播過程中衰減嚴重,且存在隨機和突發干擾,會造成較高的誤碼率,因此采用信道檢、糾錯編碼技術確保數據傳輸的質量。為此,首先對VCDU數據采用循環冗余校驗(Cyclic Redundancy Check,CRC)檢錯編碼后將CRC校驗信息填入VCDU差錯控制域,然后采用交錯深度為4的RS(255,239)分組碼進行糾錯編碼,將RS校驗信息填入RS校驗符號域形成編碼虛擬信道單元(Coded Virtual Channel Data Unit,CVCDU)。為有利于地面接收端解調器的碼同步處理,需要避免在CVCDU幀中出現 “0”或全“1”長碼,因此對CVCDU數據進行偽隨機化處理(通過模2加擾碼序列)。為有利于地面接收端的幀同步處理,在CVCDU頭部打上幀同步頭標志,就形成了同步化的信道訪問數據單元(Channel Access Data Unit,CADU)下行傳輸幀。其中,CADU幀長度和B-PDU位流數據區長度是確定遙感數據傳輸所需碼速率的兩個重要參數。

圖2 數傳幀格式定義Fig.2 Definition of data transmission frame
確定數傳幀格式后需要進一步確定遙感數據傳輸需要的碼速率r,并以此為依據設計一個固定的數傳碼速率R。采用式(1)可算出:

式中i、j分別表示a、b類遙感器的序號,αi、βi表示ai遙感器輸出圖像行周期、每行包含的輔助數據量,μi、ωi表示圖像壓縮條帶包含的行數、條帶壓縮包格式開銷;ζj、ξj表示bj遙感器輸出數據信號周期、每周期包含的有效數據量,τ1、τ2表示CADU幀長度、B-PDU位流數據區長度;函數C(x)表示將變量x向上舍入為最接近的整數,中間變量Ψi表示對單個a類遙感數據條帶壓縮后所得數據量。采用式(2)可算出:

式中γi、θi表示ai遙感器每行圖像包含的像元數量、像元量化位數;ηi、φi表示數據壓縮比、壓縮數據量浮動率。計算出r值后即可進一步設計R值 (R>r),于是Rρ=R-r,ρ=(R-r)/R,Rρ、ρ表示數傳碼速率的設計余量、設計裕度(數值等于數傳幀的填充幀率)。
以某高分辨率對地觀測衛星為例,需要下傳的遙感數據包括前視相機、正視相機、后視相機和多光譜相機產生的4路高速圖像數據(a類,原始數據率分別為177.46Mbit/s、177.46Mbit/s、177.46Mbit/s、177.94Mbit/s),以及星務數據和小面陣數據2路低速攝影輔助數據(b類,原始數據率分別為3.996Mbit/s、4.096Mbit/s),AOS編碼設計星務、小面陣、前視、正視、后視、多光譜數據分別通過虛擬信道VC1、VC2、VC3、VC4、VC5、VC6傳輸,并對各個虛擬信道設置獨立的數據緩存以適應與虛擬信道調度過程的不同步。在虛擬信道緩存的輸入端、輸出端分別使用異步時鐘、同步時鐘控制模式。輸入端存在有效數據時就寫入緩存,輸出端則在同步時鐘的控制下,利用幀格式同步計數器作為狀態機,以計數值為同步控制信號,完成對緩存存取狀態的判斷、虛擬信道的動態調度、緩存數據的讀取和組幀處理。將相機和數傳設計的有關參數代入式(1)~(2),可以計算出r=431.23Mbit/s,R設計為450Mbit/s,于是Rρ=18.77Mbit/s,ρ=4.17%。對于高速數據(前視、正視、后視、多光譜數據),要求AOS編碼所用緩存容量盡量小;對于低速的星務數據,要求進行實時傳輸,即每當星務數據接收數據量達到一幀時隙傳輸數據量的條件時就即時啟動該部分數據的AOS編碼和傳輸過程。設在組幀數據流中的t時刻傳輸的是VC1數據(星務數據),相鄰上一次VC1數據的傳輸時刻為t0,于是Δt=t-t0,其中Δt表示相鄰兩個VC1傳輸幀時隙之間的時間間隔。通過對星務數據信號特性的分析和計算,結果表明Δt的理論值為3.65ms。
緩存容量等于數據位寬和存儲深度的乘積(數據位寬、存儲深度分別指一次寫入或讀出的比特位數、最多可存儲多少個數據位寬的數據量,在數據位寬固定的條件下確定緩存深度需求值就等同于確定緩存容量需求值)。本文面向工程應用,直接對數傳信息流進行動態仿真分析,可以快速、準確地獲取到虛擬信道緩存深度需求值。在每幀的起始時刻t=n·tF(n為正整數,tF表示CADU傳輸幀的一幀持續時間),檢測各路虛擬信道緩存的存取深度值,如果某路緩存遵從虛擬信道調度管理且滿足不小于預定門限值的條件,則當前幀就突發讀取并傳輸該路緩存數據,否則繼續對其他虛擬信道進行檢測和判斷,如果所有虛擬信道都不滿足條件,當前幀就插入填充數據以確保數據傳輸的連續性。
通過引入變量Dk(t)、Mk(t)、Dk、Tk,可以簡潔地描述和分析緩存數據存取深度的動態變化情況。其中,變量Dk(t)、Mk(t)、Dk、Tk分別表示第k路虛擬信道緩存在t時刻的剩余數據量(或動態存取深度)、Dk(t)在不大于t歷史中的最大值、Mk(t)全局最大值(也即第k路虛擬信道對緩存深度的需求值)、Mk(t)到達Dk的時刻。Dk(t)隨時間t進行動態更新,如果在t時刻寫入(讀出)1個位寬數據,Dk(t)值就增加(減少)1。由于對于第k路虛擬信道緩存來說,輸入數據是按一定時序不間斷地寫入緩存的,而在每幀的起始時刻t=n·tF進行檢測和判斷,只有當Dk(t)值滿足預設條件時才會啟動對該路緩存的突發讀操作過程(突發讀出速率大于平均寫入速率),否則不對該緩存進行讀操作,因此隨著時間的推移,Dk(t)~t關系呈近似周期性漲落特性。Mk(t)隨時間t=n·tF進行動態更新,如果Dk(t)>Mk(t),則Mk(t)=Dk(t),否則Mk(t)值保持不變。由于Mk(t)始終記錄了Dk(t)在 不大于t歷史中的最大值,因此隨著時間的推移,Mk(t)~t關系呈階梯遞增特性。
通過上述動態分析,可得出如下結論:已知r值,如果R值的設計保證了足夠大的ρ值,則必定存在一個時刻Tk,使得Mk(t)收斂于Dk,而Dk值正是第k路虛擬信道對緩存深度的需求值。收斂過程可描述如下:當t=Tk時,Mk(t)進行了最后一次更新,更新后的值為Dk,而當t>Tk時Mk(t)保持Dk值不變,也可以說,緩存的數據讀、寫過程在Tk時刻達到動態平衡。
數傳常用的虛擬信道管理調度策略有全局最大值策略和全局優先級策略。全局最大值策略是指,虛擬信道預設的處理優先級為VC1=VC2=VC3=VC4=VC5=VC6,在幀起始時刻t=n·ΔtF檢測 VC1~VC6的D1(t)~D6(t)值,選擇滿足的第k路虛擬信道緩存,進一步判斷是否還滿足Dk(t)≥2·τ2的條件,如果滿足該條件,當前幀就傳輸VCk數據,否則當前幀就插入填充數據。全局優先級策略是指,虛擬信道預設的處理優先級為VC1>VC2>VC3>VC4>VC5>VC6,在幀起始時刻t=n·ΔtF首先檢測D1(t),如果滿足D1(t)≥2·τ2的條件,當前幀就傳輸VC1數據,否則繼續檢測D2(t),如果滿足D2(t)≥2·τ2的條件,當前幀就傳輸VC2數據,否則繼續檢測D3(t),……,以此類推,如果直到完成D6(t)的檢測后都不滿足不小于2·τ2的條件,當前幀就插入填充數據。
全局最大值策略可緩解各個虛擬信道緩存中數據的大量積壓,有利于降低緩存深度需求,缺點是不能保證VC1數據的實時傳輸。全局優先級策略能保證優先級最高的VC1數據的實時傳輸,但它的全局公平性較差,不利于降低優先級較低的高速數據緩存深度需求。本文提出了一種分組優先級策略,可以綜合利用全局最大值策略和全局優先級策略的優點,同時克服它們的缺點。既有利于降低高速虛擬信道的緩存深度需求,又能保證VC1數據的實時傳輸。
分組優先級策略是指,按一定方法對虛擬信道VC1~VC6進行分組,在各個分組內部采用全局最大值策略,在各個分組之間采用全局優先級策略。具有兩種分組方法,分別對應于兩種分組優先級策略:分組優先級策略Ⅰ、分組優先級策略Ⅱ。一種分組方法是按照虛擬信道數據是否具有實時性傳輸需求進行分組,分成 {VC1}和 {VC2、VC3、VC4、VC5、VC6}兩組,對應于分組優先級策略Ⅰ,它在分組之間采用全局優先級策略,即預設處理優先級為 {VC1}> {VC2、VC3、VC4、VC5、VC6},而在分組 {VC2、VC3、VC4、VC5、VC6}內部采用全局最大值策略。另一種分組方法是按照數據速率的高低進行分組,分成 {VC1、VC2}和 {VC3、VC4、VC5、VC6}兩組,對應于分組優先級策略Ⅱ,它在分組之間采用全局優先級策略,即預設處理優先級為 {VC1、VC2}> {VC3、VC4、VC5、VC6},而在各個分組 {VC1、VC2}、{VC3、VC4、VC5、VC6}內部均采用全局最大值策略。
采用不同的虛擬信道調度策略時的Dk(k∈[1,6])仿真結果如表1所示(緩存的數據位寬為8bit)。從表1中可以看出,同全局最大值策略、分組優先級策略Ⅰ、分組優先級策略Ⅱ相比,采用全局優先級策略時的D5和D6值很大(平均增幅分別達44.91%、220.17%)。而采用全局最大值策略、分組優先級策略Ⅰ、Ⅱ時,D3~D6值差別不大,平均波動范圍分別為3.67%、3.67%、3.64%、3.66%。同全局最大值策略、分組優先級策略Ⅰ相比,采用全局優先級策略和分組優先級策略Ⅱ時,D1和D2值均較小:如果采用全局優先級策略,同全局最大值策略相比時D1、D2降幅分別達97.69%、98.10%,同分組優先級策略Ⅰ相比時D1相同、D2降幅98.12%;如果采用分組優先級策略Ⅱ,同全局最大值策略相比時,D1、D2降幅分別達97.67%、98.11%,同分組優先級策略Ⅰ相比時,D1略微增加0.87%、D2降幅達98.12%。顯然,從降低緩存需求的角度看,采用分組優先級策略Ⅱ最好,可以保證D1~D6值都較小。

表1 緩存深度需求隨調度策略的變化Tab.1 Variation of buffer depth requirement with scheduling strategy
對組幀數據流中相鄰兩個VC1幀時隙之間的時間間隔Δt的仿真試驗結果如下:1)采用全局最大值策略時,Δt的范圍為0.04~159.83ms,平均值為3.65ms,方差為509.47,Δt波動范圍較大,因此不能實現VC1的實時傳輸;2)采用全局優先級策略、分組優先級策略Ⅰ、分組優先級策略Ⅱ時的試驗結果一致,Δt的范圍為3.60~3.71ms,平均值為3.65ms,方差為0.000 286,Δt波動范圍非常小,甚至可忽略不計,且同星務數據每達到一幀時隙傳輸數據量的預期時間值3.65ms相符,因此可以實現VC1的實時傳輸。
綜合以上試驗結果可以看出,采用分組優先級策略Ⅱ的效果最好,不但可使D1~D6值都較小,而且可以實現VC1數據的實時傳輸。
面向工程應用研究了基于CCSDS AOS體制的高速數傳信息流設計方案。在對數傳信息流進行頂層設計的基礎上,針對高、低速遙感數據具有的不同處理和傳輸需求,設計了分組優先級虛擬信道動態調度策略,使得對于高速遙感數據的處理所需緩存較小,同時也實現了低速遙感數據的實時傳輸。采用動態仿真技術對數傳信息流設計方案進行了試驗驗證,試驗結果和理論分析結論相符。本文設計方案可為后續新一代遙感衛星數傳系統設計提供參考。
[1]高衛斌,冉承其.遙感衛星數據傳輸技術發展分析 [J].中國空間科學技術,2005,12(6):30-36.GAO WEIBIN,RAN CHENGQI.The analysis on technology development of data transmission in remote sensing satellites[J].Chinese Space Science and Technology,2005,12(6):30-36.
[2]李立,鄭小松,黃普明.衛星高速數據處理與傳輸技術的發展趨勢 [C].2011年小衛星技術交流會,2011.LI LI,ZHENG XIAOSONG,HUANG PUMING.Development trend of on-board high-rate data processing and transmission technology [C].2011Small Satellite Technology Exchange Conference,2011.
[3]CCSDS.AOS space data link protocol[S].CCSDS 732.0-b-2,2006.
[4]譚維熾,顧瑩琦.空間數據系統 [M].北京:中國科學技術出版社,2004:128-136.TAN WEICHI,GU YINGQI.Space data system [M].Beijing:China Science and Technology Press,2004:128-136.
[5]田莊,張慶君.載人航天器AOS虛擬信道調度策略研究 [J].航天器工程,2006,15(2):20-22.TIAN ZHUANG,ZHANG QINGJUN.Research on advanced orbiting system virtual channel scheduling strategy of manned spacecraft[J].Spacecraft Engineering,2006,15(2):20-22.
[6]戴曄.AOS高速多路復接器的研究 [D].上海:上海交通大學,2009.DAI YE.Study on AOS High-rate Multi-channel Multiplexer[D].Shanghai:Shanghai Jiaotong University,2009.
[7]宋宇鯤,王銳,胡永華,等.使用排隊論模型對FIFO深度的研究 [J].儀器儀表學報,2006,27(6):2485-2487.SONG YUKUN,WANG RUI,HU YONGHUA,et al.Study FIFO′s depth based on queue-theory model[J].Chinese Journal of Scientific Instrument,2006,27(6):2485-2487.
[8]周淵,吳增印.基于一種專用星載高速總線結構的FIFO容量計算 [J].宇航學報,2009,30(5):1998-2002.ZHOU YUAN,WU ZENGYIN.The calculation of FIFO buffer size in a nonstandard spaceborne high speed data bus structure[J].Journal of Astronautics,2009,30(5):1998-2002.
[9]TAUBMAN D,MARCELLIN M.JPEG2000:Image Compression Fundamentals,Standards and Practice[M].Boston:Kluwer Academic Publishers,2002.