苗繼松,邵瓊玲,任 元,呂永申,王 琛
(裝備學(xué)院 航天裝備系,北京 101416 )
MATLAB/STK聯(lián)合仿真方法研究及GUI設(shè)計(jì)
苗繼松,邵瓊玲,任 元,呂永申,王 琛
(裝備學(xué)院 航天裝備系,北京 101416 )
詳細(xì)介紹了MATAB(矩陣實(shí)驗(yàn)室)與STK(衛(wèi)星工具箱)軟件互聯(lián)的方法;STK提供了相應(yīng)的二次開發(fā)接口,可供MATLAB等軟件進(jìn)行二次開發(fā);利用MATLAB和STK軟件組合搭建仿真環(huán)境,以某Walker星座的設(shè)計(jì)與優(yōu)化算法為例,具體介紹了聯(lián)合仿真步驟流程及GUI界面的設(shè)計(jì)方法,并綜合考慮了衛(wèi)星軌道、傳感器以及衛(wèi)星編隊(duì)等相關(guān)參數(shù)對星座最優(yōu)設(shè)計(jì)的影響;結(jié)果表明,利用MATLAB和STK組合仿真能夠以圖像及數(shù)據(jù)列表的形式方便直觀的給出最優(yōu)結(jié)果,通過聯(lián)合仿真,較大程度上減小了MATLAB的編程工作量,同時(shí)通過GUI界面的設(shè)計(jì),以可視化的形式對主體程序進(jìn)行集成,只需輸入?yún)?shù),便可快速進(jìn)行相應(yīng)的軌道仿真與數(shù)據(jù)輸出,避免了在進(jìn)行衛(wèi)星星座設(shè)計(jì)時(shí)需反復(fù)對STK參數(shù)進(jìn)行調(diào)整的工作;在對衛(wèi)星星座設(shè)計(jì)與運(yùn)行軌道的問題分析中,MATLAB/STK聯(lián)合仿真相較于使用單一軟件進(jìn)行問題分析而言,要更加便利、形象直觀。
矩陣實(shí)驗(yàn)室;衛(wèi)星工具箱;聯(lián)合仿真;GUI界面設(shè)計(jì);星座優(yōu)化
MATLAB是由“matrix”與“l(fā)aboratory”組合的簡寫,意為矩陣實(shí)驗(yàn)室(矩陣工廠),其是由美國mathworks公司發(fā)布的主要面向科學(xué)計(jì)算與數(shù)值仿真、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算軟件[1]。MATLAB的基本單元是矩陣,基本功能是能夠進(jìn)行矩陣計(jì)算、創(chuàng)建用戶界面、繪制函數(shù)和數(shù)據(jù)曲線以及對其他編程語言的程序進(jìn)行連接等,可廣泛應(yīng)用于控制設(shè)計(jì)、工程計(jì)算、信號檢測、信號通訊、圖像處理及金融建模設(shè)計(jì)與分析等領(lǐng)域。它將數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模與仿真等諸多強(qiáng)大功能集成于一個(gè)易使用的視窗環(huán)境中,為很多科學(xué)領(lǐng)域提供了一種較為全面的解決方案,并在較大程度上摒棄了傳統(tǒng)的非交互式程序語言(如C、Fortran、C++、JAVA等)的編輯模式。MATLAB的指令寫法與實(shí)際數(shù)學(xué)和工程中常用的形式十分相近,故對同樣一件事情來說,相對于用C,F(xiàn)ORTRAN等語言完成,用MATLAB來解算問題要簡便許多。同時(shí),MATLAB也對像Maple等軟件的優(yōu)點(diǎn)進(jìn)行了吸收,使其成為一款功能強(qiáng)大的數(shù)學(xué)軟件[2]。
衛(wèi)星星座設(shè)計(jì)最常用的仿真軟件是STK(衛(wèi)星工具箱),其是一款由美國Analytical Graphics公司開發(fā)的在航天領(lǐng)域中一直處于領(lǐng)先地位的商品化分析軟件[3]。它能夠?qū)教烊蝿?wù)周期的全過程提供支持,主要包括概念設(shè)計(jì)、需求分析、運(yùn)行測試和任務(wù)發(fā)射等應(yīng)用[4]。STK可以對航空航天和防御等任務(wù)進(jìn)行支援,利用它可以快速分析復(fù)雜空間環(huán)境,并可獲得易于理解的圖表和文本形式的分析結(jié)果,從而方便確定最佳問題解決方案。STK不但具有強(qiáng)大的數(shù)據(jù)仿真功能,還具有功能性較強(qiáng)的三維可視化模塊,可對三維模型進(jìn)行編輯[5],從而可以為STK和其它附加模塊提供逼真的三維視景顯示。在STK中通過設(shè)定預(yù)設(shè)場景,并對衛(wèi)星等模型進(jìn)行添加,并設(shè)定對應(yīng)參數(shù),就能夠?qū)πl(wèi)星運(yùn)行的二維和三維視景進(jìn)行仿真實(shí)現(xiàn)。目前,STK最高版本為11.0,并由之前的Satellite Tool Kit更名為Systems Tool Kit,體現(xiàn)了其功能由衛(wèi)星等對象拓展到了整個(gè)系統(tǒng)。由于美國自7.0版本開始就對中國實(shí)行禁運(yùn),目前STK國內(nèi)可購買到的最高商業(yè)版本是 6.0版本。
雖然STK有效解決了三維視景顯示問題,但在衛(wèi)星的運(yùn)行過程中,如果需要對衛(wèi)星的相應(yīng)參數(shù)進(jìn)行改變,就需要停止仿真,重新按照相應(yīng)流程一步步設(shè)定相關(guān)參數(shù),從而不能實(shí)現(xiàn)對整個(gè)視景系統(tǒng)進(jìn)行自動且連續(xù)地運(yùn)行仿真。本文結(jié)合MATLAB和STK兩個(gè)軟件各自的優(yōu)點(diǎn),利用STK提供MATLAB接口模塊[6],通過使用MATLAB進(jìn)行相關(guān)數(shù)據(jù)處理,并給STK發(fā)送相關(guān)的控制指令控制STK的運(yùn)行,使仿真系統(tǒng)按照MATLAB預(yù)先設(shè)定的程序運(yùn)行,從而大大增強(qiáng)了衛(wèi)星視景仿真的靈活性和可操作性[7]。本文以實(shí)際應(yīng)用為背景,結(jié)合某Walker星座的設(shè)計(jì)與優(yōu)化問題,對其分析過程以及相應(yīng)的編程和GUI界面設(shè)計(jì)給出了詳細(xì)的闡述與說明。
在STK與MATLAB進(jìn)行聯(lián)合仿真分析之前,需要對相關(guān)的環(huán)境進(jìn)行配置。具體的配置過程會因?yàn)镾TK與MATLAB不同的安裝順序而有所不同[8]。下面進(jìn)行具體介紹:
如果用戶的計(jì)算機(jī)中先安裝了MATLAB,然后才安裝STK軟件,則STK會自動地配置好相關(guān)的初始化文件。用戶只需要對MATLAB進(jìn)行一定的設(shè)置就可以了。具體步驟如下:
1)分別啟動STK和MATLAB;
2)在MATLAB中運(yùn)行M文件stkinit,由于是首次運(yùn)行,MATLAB會要求用戶設(shè)置STK的運(yùn)行環(huán)境;
3)在彈出的“STK/MATLAB接口配置”對話框中,選擇“繼續(xù)”按鈕;
4)在彈出的“瀏覽文件夾”對話框中,選擇STK安裝目錄下的“MATLAB”文件夾,從而確定所需M文件的位置;
5)之后,MATLAB將會打開另一個(gè)“瀏覽文件夾”對話框,要求選擇Mex文件位置,和步驟4)一樣,在STK安裝目錄下選擇“bin”文件夾,并單擊確定;
6)在之后MATLAB詢問是否更改默認(rèn)MexConnect連接配置、STK/Connect模塊的初始化文件、STK的默認(rèn)主目錄時(shí),全部選擇“否”便可;
到這里,先進(jìn)行MATLAB安裝后進(jìn)行STK安裝的STK/MATLAB聯(lián)合仿真環(huán)境就配置成功了。
如果計(jì)算機(jī)中先安裝了STK,而后才安裝MATLAB,則除了要在MATLAB中進(jìn)行STK的運(yùn)行設(shè)置外,還要再對一些初始化文件進(jìn)行相關(guān)設(shè)置。對該情況下MATLAB/STK聯(lián)合仿真環(huán)境進(jìn)行配置的主要步驟是:將STK安裝目錄里的“MATLAB;ToolboxLocal”文件夾中的“agiCleanPath.m”、“agiInit.m”和“stkInit.m”文件復(fù)制到MATLAB安裝目錄下的“Toolbox;Local”文件夾中,其余步驟按照1.1節(jié)中的內(nèi)容進(jìn)行相應(yīng)設(shè)置便可。
在STK/MATLAB聯(lián)合仿真環(huán)境配置成功后,有MATLAB主動和被動兩種運(yùn)行方式。
1)MATLAB主動方式:分別啟動STK和MATLAB,在MATLAB中運(yùn)行M文件stkinit,然后開始STK和MATLAB的協(xié)同工作。在該模式下能夠充分利用MATLAB的各種輔助工具,便于進(jìn)行相應(yīng)的設(shè)計(jì)工作;
2)MATLAB被動方式:先啟動STK,然后選擇“工具”,打開STK的“選項(xiàng)”對話框后,選中里面的“MATLAB選項(xiàng)卡”,單擊“連接”按鈕,STK就會立即啟動MATLAB引擎。在該模式下,這兩個(gè)程序的運(yùn)行效率可以顯著提高。
在配置MATLAB/STK的連接環(huán)境完成后,便可進(jìn)行下一步的MATLAB/STK聯(lián)合仿真應(yīng)用。下面以某一簡單案例,詳細(xì)介紹使用MATLAB/STK聯(lián)合仿真方式對星座軌道參數(shù)進(jìn)行優(yōu)化設(shè)計(jì)的完整分析過程。
1)問題陳述:在星座設(shè)計(jì)與優(yōu)化中,設(shè)計(jì)18顆衛(wèi)星的Walker星座,確定對北緯45°,經(jīng)度為33°的地面站進(jìn)行訪問的最大、最小時(shí)間以及對應(yīng)的具體軌道設(shè)計(jì)參數(shù)。
2)限定條件:衛(wèi)星高度1 000 km;傳感器視場角110°,固定指向天底;星座的RAAN spread為360°,相位因子為2;軌道面數(shù)在3~9之間,軌道傾角在35~55之間。
1)MATLAB與STK接口互聯(lián)并調(diào)試;
2)用MATLAB進(jìn)行具體星座及載荷的設(shè)定與編程。包括場景設(shè)置與命名、衛(wèi)星運(yùn)行時(shí)間設(shè)定、星上相關(guān)載荷的設(shè)定、軌道坐標(biāo)系及軌道根數(shù)的確定等[9];
3)聯(lián)合仿真程序?qū)?yīng)的GUI界面設(shè)計(jì)。通過MATLAB提供的可視化面向?qū)ο蟮挠脩艚缑骈_發(fā)環(huán)境進(jìn)行GUI應(yīng)用程序的創(chuàng)建。在GUI界面中通過輸入相關(guān)仿真參數(shù),便可對比不同軌道傾角、不同軌道面數(shù)時(shí)衛(wèi)星訪問地面站的時(shí)間,從而確定出最優(yōu)設(shè)計(jì)參數(shù),并通過GUI界面進(jìn)行顯示??傮w的流程如圖1所示。
圖1 MATLAB/STK聯(lián)合仿真流程圖
程序主要由兩大部分組成:一個(gè)是主程序zhu.m(同時(shí)伴隨一個(gè)GUI界面文件zhun.fig);另一個(gè)是運(yùn)算程序hanshu.m。
主程序的主要功能是從GUI界面獲取輸入的參數(shù),并將其傳遞給運(yùn)算程序,經(jīng)運(yùn)算程序運(yùn)算后,主程序?qū)⒌玫降姆祷貐?shù)用2D和3D圖像顯示,同時(shí)顯示最終運(yùn)算結(jié)果界面。最終結(jié)果包括在給定具體地面站的經(jīng)緯度后,給出不同類型的Walker星座對該地面站最大訪問時(shí)間、最小訪問時(shí)間和平均訪問時(shí)間,并同時(shí)給出訪問時(shí)間最大時(shí)對應(yīng)的Walker星座的軌道面數(shù)和軌道傾角。
由上述分析可知,運(yùn)算程序是一個(gè)具有多輸入多輸出的功能函數(shù)。
主程序需要實(shí)現(xiàn)的功能是讀取輸入?yún)?shù)并傳給運(yùn)算程序,同時(shí)讀取運(yùn)算程序的返回參數(shù)并用界面顯示。衛(wèi)星的設(shè)計(jì)約束具體已知,由于衛(wèi)星星座總星數(shù)為18顆,從而可以確定出設(shè)計(jì)變量中的軌道面數(shù)為3個(gè)具體值3、6、9。以上這些數(shù)據(jù)可以在程序中具體確定,但唯一不確定的是軌道傾角,因?yàn)檐壍纼A角只給出了范圍,可能的數(shù)值有無窮多個(gè),故這里還需要另外確定一個(gè)變量,這個(gè)變量就是步長,所以在GUI界面中,必須具有步長輸入框。
為了及時(shí)方便得知計(jì)算的總次數(shù)以及程序在整個(gè)運(yùn)算中具體到哪一步,可通過編程將該信息顯示在MATLAB命令執(zhí)行框中;同時(shí)為了實(shí)現(xiàn)將該程序生成計(jì)算機(jī)的可執(zhí)行文件等后續(xù)工作,必須將STK初始化命令stkinit封裝在主程序中[10];為了使MATLAB執(zhí)行框中只顯示關(guān)鍵信息,故需要用clc語句將在顯示結(jié)果之前出現(xiàn)的內(nèi)容進(jìn)行清除,從而使界面顯得更加干凈整潔,使軟件系統(tǒng)更加人性化。
運(yùn)算程序最先的工作就是從主程序中獲取相應(yīng)參數(shù),然后進(jìn)行場景創(chuàng)建、地面站創(chuàng)建、衛(wèi)星創(chuàng)建、傳感器創(chuàng)建、視場角參數(shù)設(shè)置、walker星座的創(chuàng)建以及鏈路和集群的創(chuàng)建等,之后進(jìn)行仿真分析、存儲相應(yīng)數(shù)據(jù)并作圖。將每次運(yùn)算的訪問時(shí)間結(jié)果存儲在一個(gè)變量中構(gòu)成結(jié)果矩陣,之后進(jìn)行相應(yīng)的結(jié)果處理。求取的最大訪問時(shí)間、最小訪問時(shí)間、平均訪問時(shí)間,即為求取結(jié)果矩陣中的最大值、最小值和所有數(shù)據(jù)的平均值。根據(jù)最大值所對應(yīng)結(jié)果矩陣中的行和列,即可判斷出其所對應(yīng)的軌道面數(shù)和軌道傾角的具體值,從而將這些參數(shù)返回給主程序進(jìn)行顯示。
根據(jù)問題描述,具體程序設(shè)計(jì)如下:
將程序的輸入設(shè)為a(所需計(jì)算軌道傾角范圍最小值)、b(所需計(jì)算軌道傾角范圍最大值)、c(計(jì)算軌道傾角的步長)、d(地面站經(jīng)度)、f(地面站緯度)5個(gè)變量。根據(jù)軌道平面的不同和軌道傾角的不同進(jìn)行兩層嵌套循環(huán)。在每次循環(huán)中,需要進(jìn)行相應(yīng)內(nèi)容的創(chuàng)建:首先,創(chuàng)建一個(gè)場景,并設(shè)置場景時(shí)間(起始時(shí)間和結(jié)束時(shí)間,這里設(shè)為1天);而后創(chuàng)建一個(gè)地面站和一顆種子衛(wèi)星,并在衛(wèi)星上裝載一個(gè)傳感器,并設(shè)置傳感器參數(shù),定義傳感器為簡單錐角,錐角為55°,指向天底;然后設(shè)置衛(wèi)星軌道參數(shù),設(shè)置半長軸為7 278 km,偏心率為0,近地點(diǎn)幅角為0,平近點(diǎn)角為0。由于設(shè)置的時(shí)間為24 h,即86 400 s,故訪問時(shí)間最大不超過86 400 s。在每次循環(huán)中,分別對種子衛(wèi)星,星座類型,軌道平面數(shù),每個(gè)平面衛(wèi)星數(shù),相位因子進(jìn)行設(shè)置,并建立walker星座。而后建立一個(gè)星座集合并命名,建立一個(gè)傳感器集合并命名為family2,建立一個(gè)連接于傳感器集合和地面站之間的鏈路并進(jìn)行命名。通過函數(shù)stkReport返回訪問時(shí)間并形成矩陣,將矩陣命名為Total。計(jì)算并輸出最大訪問時(shí)間h,最小訪問時(shí)間l,平均訪問時(shí)間e。最后建立軌道平面,并將最終得到的軌道傾角和訪問時(shí)間用2D和3D的圖形展現(xiàn)出來。
在完成MATLAB與STK的連接后,便可在MATLAB中通過編程自行完成對STK中相應(yīng)場景、地面站等對象內(nèi)容的創(chuàng)建以及各個(gè)對象相應(yīng)參數(shù)的設(shè)置和計(jì)算等。根據(jù)實(shí)際問題的需要,相應(yīng)的MATLAB對STK的控制語句可以使用STK軟件中的Help進(jìn)行查詢。依照本問題所需內(nèi)容,在STK中查詢相應(yīng)語句如下:
1) 在stk中創(chuàng)建一個(gè)場景,命名為home,程序語句為stkNewObj('/','Scenario','home')。
2) 設(shè)置場景時(shí)間,起始時(shí)間為19 June 2016,結(jié)束時(shí)間為20 June 2016,程序語句為stkSetTimePeriod('19 June 2016 00:00:00.0','20June 2016 00:00:00.0','GREGUTC')。
3) 在stk中建立一個(gè)地面站,命名為target,程序語句為stkNewObj('*/','Facility','target')。
4) 根據(jù)輸入的經(jīng)緯度設(shè)置地面站位置,程序語句為stkSetFacPosLLA('Scenario/Lch/Facility/target', [latitude*pi/180; longitude*pi/180; 0])。
5) 在stk中建立一個(gè)衛(wèi)星,命名為body,程序語句為stkNewObj('*/','Satellite','body')。
6) 在衛(wèi)星body上裝載一個(gè)傳感器,命名為eye,程序語句為stkConnect(conid,'New','/ */Satellite/body/Sensor','eye')。
7) 定義傳感器:簡單錐角,錐角55度,程序語句為stkConnect(conid,'Define','*/Satellite/body/Sensor/eye','SimpleCone 55')。
8) 定義傳感器的位置,程序語句為stkExec(conid,'Location */Satellite/body/Sensor/eye Center')。
9) 創(chuàng)建walker星座,并創(chuàng)建集群命名為family,程序語句為cs=['Walker ' ' */Satellite/body ' ' Delta ' aa ' ' bb ' ' cc ' ' dd ' Yes ConstellationName family']
10) 建立傳感器集群,命名為family2,程序語句為stkConnect(conid,'New','/ */Constellation',' family2')
11) 建立傳感器集群和地面站之間的鏈路,程序語句為stkConnect(conid,'New','/ */Chain',' relation'),stkConnect(conid,'Chains','*/Chain/relation','Add */Facility/target'),stkConnect(conid,'Chains','*/Chain/relation','Add */Constellation/family2')
12) 讀取stk中報(bào)告時(shí)間,程序語句為[secdata,secNames]=stkReport('*/Chain/relation','Complete Chain Access')
確定地面站的經(jīng)度為33°,緯度為45°,GUI界面輸入及仿真結(jié)果如圖2~圖7所示。
圖2 GUI輸入?yún)?shù)圖
圖3 18顆衛(wèi)星的Walker星座二維圖
圖4 18顆衛(wèi)星的Walker星座三維圖
圖5 軌道面、軌道傾角與訪問時(shí)間關(guān)系圖
圖6 總訪問時(shí)間隨軌道條件變化的3D圖
圖7 最終結(jié)果GUI顯示圖
在圖2的GUI界面中,依照1.1節(jié)中的相應(yīng)問題和限定條件,輸入軌道傾角的范圍在35~55°之間,由于在這個(gè)范圍之間,軌道傾角會有無數(shù)種選擇,為了節(jié)省運(yùn)算時(shí)間,同時(shí)又不失規(guī)律性,故綜合考慮選擇了軌道傾角的計(jì)算步長為5,即選擇5組軌道傾角進(jìn)行計(jì)算分析。輸入地面站的經(jīng)緯度,同時(shí)勾選2D和3D顯示效果圖,點(diǎn)擊“開始計(jì)算按鈕”,便會得到相應(yīng)的仿真結(jié)果,如圖2~圖7所示。
由圖5分析可得:在軌道傾角為35°,40°,45°時(shí),軌道傾角不變,3軌道面、6軌道面和9軌道面時(shí),由該18顆衛(wèi)星組成的walker星座對經(jīng)緯度為33°,45°的地面站在2016年6月19日~2016年6月20日這一天中的訪問總時(shí)間相差不大;當(dāng)軌道傾角為50°時(shí),當(dāng)walker星座為3軌道面時(shí)總訪問時(shí)間最小,6軌道面比9軌道面時(shí)對應(yīng)的總訪問時(shí)間多,但相差不大;當(dāng)軌道傾角為55°時(shí),3種軌道面對應(yīng)的總訪問時(shí)間相差較大,且總訪問時(shí)間由小到大依次為3軌道面、9軌道面和6軌道面。
此外,觀察圖5可進(jìn)一步發(fā)現(xiàn),在軌道傾角為35~55°時(shí),隨著軌道傾角的增加,walker星座的總訪問時(shí)間整體上呈現(xiàn)增加的趨勢。具體觀察還可發(fā)現(xiàn),除了6軌道面外,3軌道面和9軌道面在軌道傾角為55°時(shí)所對應(yīng)的總訪問時(shí)間達(dá)到最大,之后呈現(xiàn)隨著軌道傾角的增加總訪問時(shí)間下降的趨勢。
由圖5、圖6的含義相同,只是將圖5的內(nèi)容以三維坐標(biāo)的形式進(jìn)行展現(xiàn),更加直觀。
圖7給出了最終的計(jì)算結(jié)果。在5種軌道傾角以及3種軌道面的共15種組合情況下,給出了最大訪問時(shí)間、最小訪問時(shí)間以及15種情況的平均訪問時(shí)間。同時(shí)也給出了總訪問時(shí)間最大時(shí)對應(yīng)的軌道傾角和軌道面數(shù)。
如果需要變換地面站的位置以及增加或減少計(jì)算時(shí)的軌道傾角個(gè)數(shù),可以再開始的GUI界面中進(jìn)行相關(guān)參數(shù)的調(diào)整即可。
通過實(shí)際的應(yīng)用案例,表明了MATLAB與STK聯(lián)合仿真的優(yōu)越性,在對多顆衛(wèi)星組成的星座或單顆衛(wèi)星進(jìn)行仿真分析中,單純借助MATLAB或STK某一種工具進(jìn)行連續(xù)仿真分析時(shí),會出現(xiàn)許多困難,具有諸多不便之處:若僅使用MATLAB進(jìn)行仿真時(shí),會出現(xiàn)編程工作量巨大的缺點(diǎn);而只通過STK進(jìn)行仿真時(shí),會造成操作步驟繁瑣等現(xiàn)實(shí)問題的出現(xiàn)。如果通過MATLAB和STK進(jìn)行聯(lián)合仿真,便可以極大地提高仿真效率。最后通過GUI界面的設(shè)計(jì),使得MATLAB/STK仿真更加具有適用性。上述介紹的具體設(shè)計(jì)方法可以根據(jù)實(shí)際情況拓展至其他相應(yīng)的仿真領(lǐng)域,具有較強(qiáng)的適用性。
[1] 劉 浩.MATLAB R2016a完全自學(xué)一本通[M].北京:電子工業(yè)出版社,2016.
[2] 張志涌,楊祖櫻.MATLAB教程[M].北京:北京航空航天大學(xué)出版社,2015.
[3] 王 欣,金 虎. 基于STK/MATLAB的通信衛(wèi)星場景建模[J]. 電子測試,2009(04):1-5.
[4] 劉夫成,劉朝暉,劉 文,等. 基于STK/matlab的空間目標(biāo)序列星圖仿真[J]. 紅外與激光工程,2014(9):3157-3161.
[5] 杜玉萍. 基于STK/Matlab的航天器可見性仿真分析[J]. 光電技術(shù)應(yīng)用,2014(6):80-83.
[6] 王 倩,王祖林,何善寶,等. 動態(tài)星間鏈路分析及其STK/Matlab實(shí)現(xiàn)[J]. 電訊技術(shù),2010(9):19-23.
[7] 李 博,葉 暉,張宏偉,等. 基于STK/Matlab接口的衛(wèi)星通信鏈路研究[J]. 無線電通信技術(shù),2016(6):37-40.
[8] 陳宏宇,吳會英,周美江,等. 微小衛(wèi)星軌道工程應(yīng)用與STK仿真[M].北京:科學(xué)出版社,2016.
[9] 許丞梁,郭福成,劉 洋. 基于Matlab/STK的航天電子偵察效能仿真技術(shù)研究[J]. 航天電子對抗,2015(3):17-20.
[10] 李雅瓊,李 楊,關(guān)貴注,等. MATLAB與STK組合仿真在星載天線伺服系統(tǒng)設(shè)計(jì)中的應(yīng)用[J]. 遙測遙控,2016(5):1-5.
MATLAB/STK Joint Simulation Method and GUI Design
Miao Jisong,Shao Qiongling, Ren Yuan, Lü Yongshen, Wang Chen
(Academy of Equipment, Beijing 101416, China )
This paper introduces the method of MATLAB (Matrix Laboratory) and STK (Satellite Tool Kit) software interconnection. STK provides MATLAB the corresponding interface for further development. Using MATLAB and STK software to build simulation environment, the algorithm design and optimization of a constellation of Walker as an example, introduces the steps of the joint simulation process and the design method of GUI interface, and considering the influence of the satellite orbit, sensor, satellite formation and other related parameters on the optimal design of constellation. The results show that the combination of MATLAB and STK can be used to obtain the optimal results in the form of image and data list. The workload of MATLAB programming were greatly reduced by joint simulation. The corresponding track simulation and the data output can be completed when it comes to input parameters. It avoids the need to repeatedly adjust the STK parameters in the design of satellite constellation. In the analysis of the design of the satellite constellation, the MATLAB/STK joint simulation is more convenient and intuitive than a single software.
MATLAB; STK; adaptive; joint simulation; GUI design; constellation optimization
2017-02-21;
2017-03-11。
國家863項(xiàng)目(2015AA7026083)。
苗繼松(1993-),男,河南焦作人,碩士研究生,主要從事航天器軌道設(shè)計(jì)與應(yīng)用方向的研究。邵瓊玲(1964-),男,北京市人,副教授,碩士研究生導(dǎo)師,主要從事航天器應(yīng)用技術(shù)方向的研究
1671-4598(2017)08-0199-04
10.16526/j.cnki.11-4762/tp.2017.08.051
TP273
A