馮海浪,馬伊民
(西安空間無線電技術(shù)研究所陜西西安710071)
隨著需求的變化和技術(shù)的不斷發(fā)展,對衛(wèi)星通信提出了新的更高的要求,特別是當衛(wèi)星的壽命越來越長時[1],要在其壽命期間有效的滿足通信業(yè)務的需求,保證轉(zhuǎn)發(fā)器的的正常運行,就需要對轉(zhuǎn)發(fā)器進行冗余設計[2-3]。也就是在轉(zhuǎn)發(fā)器設計中,對關鍵信道上的放大器進行備份,這樣就需要在放大器的輸入輸出端設計一定數(shù)量的微波開關,組成備份環(huán)[4-5]。
當主放大器失效時,可以通過切換開關來使用備份放大器,從而保障系統(tǒng)的正常運行。備份環(huán)的開關切換方案選擇問題是通信衛(wèi)星運營商十分關注的問題,也是通信衛(wèi)星有效載荷總體設計[6]的任務之一。傳統(tǒng)上使用人工枚舉進行選擇,在備份環(huán)較小時,此方法可行,但隨著通信衛(wèi)星容量越大,備份環(huán)越來越復雜[7],傳統(tǒng)枚舉法變得越來越費力且易出錯。
文中使用Qt建立了備份環(huán)設計平臺,并給出了基于遞歸算法的備份環(huán)開關切換方案。驗證結(jié)果顯示,該方法可以快速找到任意組合放大器故障的備份環(huán)切換策略。
要實現(xiàn)備份環(huán)的分析,首先需要建立一個備份環(huán)繪制平臺,從而能夠快速方便的設計出需要的備份環(huán)。然后使用數(shù)學模型描述繪制的備份環(huán),最后通過添加分析算法來實現(xiàn)備份環(huán)的分析,解決開關切換方案的選擇問題。
備份環(huán)分析構(gòu)架如圖1所示,主要由兩部分組成,一個是備份環(huán)設計繪制部分,一個是分析部分。其難點是數(shù)學模型建立和分析算法實現(xiàn)。
圖1 備份環(huán)分析構(gòu)架簡要框圖
本平臺界面的開發(fā)是以安裝有Windows 7的戴爾臺式電腦(配置四核CPU 2.66 GHz,內(nèi)存4GB,32位)作為調(diào)試環(huán)境,主要應用到的技術(shù)是Qt中的圖形視圖框架。
Qt[8]是1991年奇趣科技開發(fā)的一個跨平臺的C++圖形用戶界面應用程序框架。開發(fā)人員可以使用多種語言如C++,QML,CSS和JavaScript進行開發(fā)。Qt的可移植性使得它“一次編寫,隨處編譯”,開發(fā)人員可以使用單一源代碼來構(gòu)建可以運行在不同平臺下的應用程序。
圖形視圖(Graphics View)框架[9-10]是 Qt的重要組成部分,由3個類組成:場景類QGraphicsScene,視圖類QGraphicsView和圖元類QGraphicsItem。其中,場景類是一個用于放置圖元的容器,本身不可見,必須通過與之相連的視圖類來顯示及與外界進行互操作;視圖類用于顯示場景中的圖元;圖元類是場景中各個圖元的基類,在它的基礎上可以繼承出各種圖元類。一個場景可以通過多個視圖表現(xiàn),一個場景包含多個圖元。它們?nèi)哧P系如圖2所示。圖元可以響應處理鼠標移動、點擊、釋放事件,本文的備份環(huán)繪圖部分就是通過對鼠標的3個事件的響應完成的。
圖2 Graphics View 3元素之間的關系
根據(jù)備份環(huán)的組成,本程序?qū)崿F(xiàn)了輸入端、開關、放大器、輸出端和連接線的創(chuàng)建,它們分別是InputItem、 R_type、 Amplifier、 OutputItem 和ConnectorLine 5個類,并且都繼承于QGraphicsItem類。在這五個類中分別實現(xiàn)QGraphicsltem類中的兩個純虛函數(shù) boundingRect()和 paint(),完成了單個器件的繪制。繪圖過程主要在pain(t)函數(shù)中完成。
其中R_type類是R型開關[11]的實現(xiàn),R型開關由4種位置狀態(tài)組成,如圖3所示,要對其分別進行繪制。
圖3 R型開關位置狀態(tài)圖
其他圖元類都只有一種狀態(tài),它們的繪制結(jié)果如圖4所示,分別是輸入端、放大器和輸出端。
圖4 其他器件的繪制結(jié)果
本設計中有一對視圖類和場景類,視圖為QGraphicsView的 派 生 類 RingView,場 景 為QGraphicsScene的派生類RingScene。將器件類的對象添加到RingScene中,并在RingView中設置場景并顯示,完成備份環(huán)的繪制。
首先根據(jù)實際需求確定備份環(huán)的大小,然后有兩種繪制方式:一種是直接放置器件,調(diào)整到合適的位置并連線,一種是通過修改以前保存的備份環(huán)實現(xiàn),最后保存繪制好的備份環(huán)。這樣就建立了一個備份環(huán)庫,當需要設計備份環(huán)時,可以在庫中查找,如果有現(xiàn)成的就可以直接使用,如果沒有現(xiàn)成的可以通過修改已有的備份環(huán)或者從頭繪制,最后保存加入庫中。
備份環(huán)可以看作是由端點和端點間的鏈接組成的,其中輸入端和輸出端各有一個端點、開關有4個端點、放大器有兩個端點。這與數(shù)據(jù)結(jié)構(gòu)中圖的定義類似,因此,可以使用圖論相關知識對備份環(huán)進行建模。
把備份環(huán)中的端點當作頂點,連接線當作邊可以生成一個無向圖。備份環(huán)中的開關位置變化時,只需要插入和刪除開關上4個頂點間的邊即可。對備份環(huán)的圖論建模[12-13]應該使用鄰接鏈表來實現(xiàn),因為備份環(huán)中每個頂點最多有兩條相鄰的邊,顯然它是稀疏圖。使用無向圖來表示備份環(huán),需要定義vernode(頂點節(jié)點)結(jié)構(gòu)體、arcnode(邊節(jié)點)結(jié)構(gòu)體、Graph(圖)類。其中頂點節(jié)點包含兩個域,一個存放頂點相關信息,另一個存放相鄰頂點組成單鏈表的頭指針;邊節(jié)點由三個域組成,一個存放依附該邊的另一個頂點,一個存放與邊相關信息,如權(quán)值等,還有一個存放依附于該邊頂點的下一個邊節(jié)點的指針。圖類用于生成圖,包含插入或刪除頂點和邊等成員函數(shù)。
使用Graph類,每個圖初始化為沒有頂點和邊的圖。成員函數(shù)insertver()用于添加頂點,對于一個有n個頂點的圖來說,這些頂點總是從0到n-1編號。一旦圖有了頂點,就可以使用成員函數(shù)insertarc()和deletearc()添加和刪除邊,這樣就可以實現(xiàn)備份環(huán)的建模。通過刪除和添加邊可以實現(xiàn)備份環(huán)中開關的位置切換。
由于備份環(huán)的圖是經(jīng)常改變的,不能使用Dijkstra、Floyd等這些經(jīng)典算法進行分析。這里提出的備份環(huán)分析流程簡圖如圖5。
圖5 分析算法簡要流程圖
對于備份環(huán)的通路分析,我們思路是遍歷所有可能的開關位置組合,并分別進行驗證,找出所有可行的開關位置組合。對于開關個數(shù)固定的情況可以使用循環(huán)嵌套來實現(xiàn),但是對于一個通用的備份環(huán)分析方法來說,開關的個數(shù)是不確定的,所以就需要遞歸的方法來實現(xiàn)。
程序調(diào)用自身的編程技巧稱為遞歸[14-15](recursion)。遞歸作為一種算法在程序設計語言中廣泛應用。一個過程或函數(shù)在其定義或說明中有直接或間接調(diào)用自身的一種方法,它通常把一個大型復雜的問題層層轉(zhuǎn)化為一個與原問題相似的規(guī)模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程所需要的多次重復計算,大大地減少了程序的代碼量。
對備份環(huán)生成的圖使用遞歸算法的偽代碼如下,其中n+1為備份環(huán)中放大器輸入端開關個數(shù),由于備份環(huán)是鏡像對稱的,所以只考慮一邊的開關:
遞歸算法中第2~3行是邊界條件,第5~8行是基本條件,使用回溯搜索對當前開關位置進行分析,第9~10行是遞歸前進段,其中第8行將可行的開關位置組合、未工作放大器以及路徑損耗等信息存入data數(shù)據(jù)文件中。代碼中沒有給出明確的結(jié)束段,但是分析可知,當所有的開關都位于第4種位置時,遞歸算法結(jié)束。
切換目標是選擇開關位置組合的標準,這些目標有最長路徑最短、開關切換最少、中斷最少等[16-17]。
通過遞歸搜索算法得到所有的可行開關位置組合及各種組合下未工作放大器和路徑長度等信息。然后根據(jù)這些信息,指定首個故障放大器,從所有開關組合中找出這種情況下可行的開關位置組合,并根據(jù)選定目標選擇最優(yōu)組合;接著指定第二個故障放大器進行類似操作;依次類推就可以獲得各種情況下的最優(yōu)開關位置組合。
使用設計的平臺建立如圖6所示的10:8備份環(huán),其中A-4和A-7是備份放大器。指定A-3為故障放大器,選擇優(yōu)化準則為開關切換最少,可得分析結(jié)果如圖7所示,其中第179行為最優(yōu)開關切換組合。此時只需要把開關IS-7的位置由”2”切換到”3”,把開關IS-5的位置由”3”切換到”4”。放大器右端的開關與左端稱鏡像對稱,只需進行相應切換即可。
圖6 10:8備份環(huán)實例
圖7 分析結(jié)果
文中首先提出了備份環(huán)的分析框架,然后詳細介紹了設計部分和分析部分的實現(xiàn),并通過簡單的10:8備份環(huán)對平臺進行驗證。結(jié)果表明,平臺可以快速準確的獲得分析結(jié)果,為今后的備份環(huán)設計與分析提供了一個便利的工具。
[1]閔士權(quán).衛(wèi)星通信系統(tǒng)工程設計與應用[M].北京:電子工業(yè)出版社,2015.
[2]孫懷義,劉斌,曹曉莉.表決冗余系統(tǒng)可靠性與安全性研究[J].電子測量與儀器學報,2011,25(7):661-664.
[3]嚴魯明,梁華國,黃正峰.基于時-空冗余的集成電路老化失效防護方法[J].電子測量與儀器學報,2013,27(1):38-44.
[4]HUMBLA S,STEPHAN R,STOPEL D,et al.Low-earth-orbit verification of a reconfigurable 4×4 switch matrix and potential applications for satellite communications[C]//Antennas and Propagation in Wireless Communication,2013:851-854.
[5]KALEEM S,HUMBLA S,MüLLER J,et al.Reconfigurable 4×4 Switch Matrix for Ka-Band Geo-Stationary Satellite Mission[J].Frequenz,2012,66(11-12):347-354.
[6]于洪喜.通信衛(wèi)星有效載荷技術(shù)的發(fā)展[J].空間電子技術(shù),2015(3):1-3.
[7]KROENING A M.Advances in Ferrite Redundancy Switching for Ka-Band Receiver Applications[J].IEEE Transactionson Microwave Theory &Techniques,2016,64(6):1-7.
[8]陸文周.Qt 5開發(fā)及實例[M].北京:電子工業(yè)出版社,2014.
[9]潘憶江.基于Qt Graphics View框架和Vega的仿真可視化系統(tǒng)設計[J].現(xiàn)代工業(yè)經(jīng)濟和信息化,2016,6(6):97-99.
[10]SIGNORETTO M, TRAN DINH Q,LATHAUWER L,et al.Learning with tensors:a framework based on convexoptimization and spectral regularization[J]. Machine Learning,2014,94(3):303-351.
[11]BANSAL D,KUMAR A,SHARMA A,et al.Design of novel compact anti-stiction and low insertion loss RF MEMS switch[J].Microsystem Technologies,2014,20(2):337-340.
[12]韋新,鄧天炎,李碧榮.圖論模型及其應用[J].蘭州文理學院學報,2014,28(4):38-42.
[13]PEARSON K J,ZHANG T.On Spectral Hypergraph Theory of the Adjacency Tensor[J].Graphs and Combinatorics,2014,30(5):1233-1248.
[14]李紅巖.認知無線電系統(tǒng)中頻譜可預測性的遞歸定量分析[J].電訊技術(shù),2015(2):124-128.
[15]范時平,潘淑琴,羅啟涵.一種新的基于遞歸分解的圖可達性查詢算法[J].計算機應用研究,2014,31(12):3591-3595.
[16]趙光,范陸海,馮碩.星載TWTA備份環(huán)開關切換的遺傳算法研究[J].航天器工程,2011,20(5):93-97.
[17]STATHAKISA, DANOY G, BOUVRY P.Optimizing communication satellites payload configuration with exact approaches[J].Engineering Optimization,2015,47(12):1-26.