999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

飛行試驗實時分析決策方法研究與實現

2016-10-22 03:37:32覃楊森,范彥勤,聶睿
電子設計工程 2016年17期
關鍵詞:可視化分析

飛行試驗實時分析決策方法研究與實現

覃楊森1,范彥勤2,聶睿1,喬東峰1
(1.中國飛行試驗研究院陜西西安710089;2.西安遠方航空技術發展總公司陜西西安710089)

依靠單一的數值分析及數據演算判斷很難提高對實時試飛科目的評判效率,并嚴重影響了險情處置時的快速決策。將實時試飛數據分析結果進行結構化存儲,采用列模式內存對齊方法,提高單個參數的檢索查詢及圖形輸出操作效率;對C++builder標準組件類屬性及方法進行擴充,實現對常規和特殊飛行科目定制結果曲線圖的繪制輸出;嵌入VC++動態計算庫,利用進程調用方式,融合Matlab平臺GUI應用程序,共享試飛科目數據分析常用算法庫,擴展軟件綜合輸出功能。實現了對試飛實時數據分析結果的可視化輸出,為飛行決策提供了更直觀的數據參考。

飛行試驗;數據分析;可視化輸出;C++builder繪圖

在國內的飛行試驗過程中,通過采集飛機姿態及狀態參數,利用遙測鏈路將飛行數據實時傳回地面,經解算后顯示輸出到監控畫面中,以幫助試飛工程師及地面指揮員及時判斷飛行狀態是否達到飛機設計指標要求[1]。同時在飛機遇到險情時,數據的實時監控輸出能夠為準確決策出恰當的處置方案提供最直觀最可靠的判斷分析依據。因此,在試飛實時監控環境下,需要及時對試飛數據分析結果做出評判。而如何對分析決策結果的可視化輸出,以全面準確反映出飛機各個系統交聯狀態的參數信息,突出飛行試驗中特定時刻下的關鍵數據,是完成評判決策環節的重要步驟[2]。

目前,在分析決策過程中常用的origin軟件生成方法雖然形式豐富,但由于其著重于軟件通用性設計,反而使得針對性功能薄弱,無法針對試飛科目評判圖將數據輸出。因此,較簡便針對性強的分析決策方法就更有利于數據分析的完成:除了具備使用便捷、平臺可擴展及能夠完成特殊飛行科目曲線繪制等特性外,同時應可對常用的Matlab GUI應用程序提供必要的方法接口,充分具備平臺融合的綜合可視化輸出特點。基于C++builder環境下試飛數據實時分析決策方法,擴展了標準繪圖構件類屬性及方法,結合結構體的內存存儲特點,解決與Matlab平臺的調用及進程管理問題,有針對性完成了相應的分析決策可視化綜合輸出功能的設計與實現。

1 方法總體設計

試飛數據實時分析決策方法分為數據結構化存儲、數據時間段選取及預處理、參數數據導出、特殊曲線繪制和擴展平臺綜合輸出五個階段步驟。步驟間通過進程控制信號或者數據流指針等接口實現內存數據區的交互和共享[3],總體架構如圖1所示。

圖1 總體架構圖

步驟一:數據結構化存儲通過輸入進程事件觸發。選擇需要進行分析的文件路徑,由此獲得文件句柄,依次完成對文件內部數據的內存導入,進行文件元素的遍歷,完成對文件存儲結構體的構造,同時根據文件的信息,初始化下一階段內存區域及進程控制信號[4]。

步驟二:在數據時間段選取及預處理階段中,對需要畫圖的參數進行標記,觸發相應圖形區域的繪制信號量。創建數據檢索進程,查找出參數的最大最小值,自主完成畫圖區域的上下限設定,并根據相應的操作控制事件進行手動調節,通過不同區域的圖形繪制進程的同步控制,使得需要導出的參數進行時間點和選取時間段的同步。在確定時間段后,對該段數據進行預處理,包括對數據跳點識別、剔除、平滑及濾波等,進而挑選出所需要的評判參數組。

步驟三:將選定的參數時間段數據進行另存操作。以選取好的時間段為基準,對全部或者部分參數數據以文本格式導出分析平臺,進而可以將數據在其他平臺中進一步分析。對于導出的分析結果,可以創建新的內存緩沖區塊,構造生成圖片格式的保存或者打印,以運用于分析報告的編寫。

步驟四:繪制指定科目特殊曲線。根據飛行實時繪圖評判需求,完成例如參數對曲線圖、1對1曲線圖、1對N曲線圖及散點評判圖等圖形顯示,由定制曲線繪制進程單獨完成,并利用進程的內存空間,獲取數據指針信息,完成相應的圖片格式儲存及打印輸出。

步驟五:通過平臺擴展接口,結合科目分析中常用的DLL算法動態庫,操作數據指針及內存模塊,進行一些頻譜分析或伯特圖輸出。同時,利用進程控制信號與Matlab平臺應用程序進行內存數據交互調用,將數據與狀態參數綜合顯示到指定繪圖區域中,以實現對實時分析決策結果的綜合輸出。

2 方法實現

根據試飛數據實時分析決策方法過程,基于C++builder開發平臺進行可視化輸出軟件設計與實現。C++builder平臺有著豐富的圖形繪制功能,以控件模塊的實現方式更容易對操作事件及控制信號進行管理和響應。在對數據進行處理過程中,可以利用列對齊管理方式,通過系統本身的信號收發機制響應動作句柄,并建立共享緩存區域,發揮C++builder與VC++平臺的兼容性及結合Matlab的工具箱,獲得圖形結果的綜合顯示輸出。整體實現方案如圖2所示。

圖2 軟件整體框圖

2.1數據結構化存儲

由于編譯器在對內存進行分配管理時,對于結構體的存放遵循列對齊管理模式,有別于數組內存管理的順序存放模式,所以在考慮到數據量大小的前提下,采用結構化存儲方式。獲取數據在內存中的文件句柄之后,對文件元素進行遍歷,依次完成結構體的構造。根據實際使用需求,大部分操作都是由參數列為引導,以完成各功能之間的關聯與融合。因此,采用的列模式元素遍歷方式,即將數據與其參數名稱關聯,存放入同一個結構體中[5]。在節省了內存開銷的同時,也可以提高對各個參數的操作效率。由于時間信息不是特定的數據類型,因而采用了包含String數組的結構體存放,并與數據點數一一對應,方便了時間段的檢索和起始點的選擇。

2.2時間段截取及預處理

對于某一飛行科目而言,所涉及到的參數之間,都存在著某種必然的關系。因此,在進行數據時間段截取的過程中,就必須充分了解各個參數在同一時間點的數據狀態。根據參數間的相互應證關系,去分析和判斷飛機的飛行狀態。為此,可視化輸出軟件提供了四種參數顯示頁面模式,分別可以同時在同一頁面顯示兩個、四個、六個及九個參數之間的曲線關系。同時,也可以將所有的圖形操作同步到總體控制滑塊上,以完成不同顯示畫面上參數的操作關聯。

在進行參數曲線顯示時,使用C++builder環境下的標準TChart控件,因而對于單個的控件而言,所包含的屬性值及方法都是私有的,要完成它們相互之間的同步顯示,必須在窗體類TFrom下定義公共的類,其中的屬性和方法能夠被外部控件所獲取和修改[6]。另外,在窗體類下嵌套定義的曲線顯示公用類,還可以避免標準控件TChart使用析構函數釋放資源時引起的溢出異常。由于C++builder環境下的標準組件內都封裝了與之相匹配的析構函數,用于被調用結束后會釋放系統資源,而析構函數本身是不可以被重載和覆蓋的。因此,如果對標準組件的內部屬性或者方法進行修改后,必然會引起系統資源使用的變化,使得析構函數不能完整釋放資源空間,導致容器構件的運行異常,出現不確定性的錯誤[7]。在軟件中,自定義的公共類及方法接口類的UML類圖如圖3表示。

圖3 自定義UML類圖

基于以上的類關聯設計,可以完成參數之間X軸方向上的上下限同步操作。同時,還可以根據參數Y軸方向上的數值變化范圍,分別調整相應的上下限,將不需要的變化范圍進行過濾。在對某一參數完成起始點的確定后,其他參數自動顯示對應的起始標記線,與之同步操作。

數據時間段確定后,將調用外部預處理算法動態庫,利用指針地址操作,對數據緩存區進行跳點識別及剔除運算。根據不同飛行科目的評判分析要求,進而完成對數據的平滑和濾波計算,最終確定需要導出的參數組。

2.3數據導出

將參數數據導出到外部文件中,使得可以借助其他軟件對相關參數完成進一步的分析。可視化輸出軟件設計了按照時間段截取方式對所有參數或者部分參數導出到數據文本的操作。當確定好數據時間段的起始標記線以后,可以通過鼠標操作,在參數名稱列表中進行導出標記。如果沒有標記其中某一參數時,軟件默認將所有參數導出,否則,只導出已被標記選中的參數。導出的參數以文本格式進行存儲,可以使用Origin、matlab或其他數據分析軟件直接讀取。另外,對于某些特殊的參數,需要通過圖片或者打印將曲線圖輸出。軟件平臺對每一個圖形曲線都綁定提供了這兩種操作。軟件將需要保存圖片或打印的曲線圖加載到內存緩沖區中,實例化為圖片或者打印的對象。如果是保存圖片操作,則根據選取的圖片格式進行壓縮輸出;如果是打印操作,則啟動打印機,根據畫面大小,調整分辨率后,打印輸出文件,可以選擇pdf打印格式或者是系統默認的mdi格式。

2.4特定曲線繪制

在某些飛行科目的數據分析中,經常利用橫縱軸去分別表示不同的參數,以得到更準確的評判結果。類似于這樣的曲線圖,在軟件中作為特殊構圖處理。根據目前的分析需要,分為3種特殊圖形類:1)在同一個曲線圖中同時繪制多條曲線,即1對N模式;2)在等級評判分析圖中顯示數據點分布狀態,即散點分布圖模式;3)可以同時設定橫縱軸所表示的參數,即參數對曲線模式。

對于第1)種特殊曲線圖,需要用不同的曲線標記區別不同的參數曲線,以使得圖形能夠清晰表示出參數的變化情況,并在圖形右上方顯示不同標記與參數的對應關系。在該種曲線圖中,也融合了右鍵快捷菜單的“關聯”、“圖片導出”及“打印”操作,以方便與其他頁面模式下的參數進行關聯分析,并能夠便捷的將曲線結果保存和輸出。

等級評判分析主要針對類似姿態敏捷、動力升限和振動狀態評估等需求應用。在此類圖形的構建中,首先需要明確各等級的坐標關系,繪制出等級判別曲線。通過右鍵快捷菜單,以描點曲線類型的顯示方式,導入需要繪制的結果數據。同樣的,可以對曲線進行圖片保存及打印操作。

在雙軸曲線繪圖中,需要對橫軸和縱軸分別設定相對應的參數。曲線圖將會根據實際的數據,分別設定出圖形的上下限。在分析過程中,可根據需要更改各個軸方向上所表示的參數,并且可以使用上下限設置按鈕,合理設置圖形所顯示的放大或縮小倍數。最終,可以以圖片格式對結果進行保存。

2.5擴展接口實現

由于各個飛行科目參數的計算分析方法不盡一致,因此,需要根據每個科目的具體要求,設計相關的算法。這些算法可以直接嵌套到軟件平臺的控件操作中,也可以外部程序調用的方式實現。對于嵌套式的算法調用,最便捷的方式是通過按鈕控件進行觸發加載VC++平臺的DLL動態計算庫,并可以利用指針地址傳遞操作程序體內存中的相關變量[8]。同時,嵌套式動態庫調用與軟件平臺使用同樣的進程資源,在交互計算操作上更有效率,也不需要對同樣的數據進行多次內存分配。

對于一些較復雜的算法,在構件的方法下實現起來比較困難,因而可以借助Matlab計算平臺,將這些算法結合到計算分析過程中[9]。可視化輸出軟件中設計的與Matlab平臺接口,主要是通過可執行程序的交互調用來實現。在Matlab平臺下,將需要使用的算法庫寫成函數形式的M文件,可以在函數體中對算法庫直接調用,也可以是嵌套調用。在函數形式的M文件中定義需要使用到的參數接口,這將影響到用戶界面GUI的輸入組件設計。完成函數的參數接口定義之后,創建Matlab圖形用戶界面工程,根據參數接口定義的情況,對應分布輸入組件,針對組件綁定的callback屬性,與函數建立起對應關系,并由此獲取到算法中需要的計算參數。如果是文件,則需要啟用文件選擇對話框交互,獲取到文件句柄,形成傳遞參數,完成算法參數的響應。接著,針對GUI工程中的M文件,啟用Matlab命令deploytool,以exe工程方式新建項目,將GUI工程編譯形成可執行exe文件,并生成對應的說明文本。在此,便可以在C++builder環境下,以進程應用程序的調用語句,即可將在軟件界面上添加入matlab的交互執行觸發動作,方法如圖4所示。

圖4Matlab可執行程序調用方法

對于此方式的調用,需要通過單獨的共享數據區實現兩個平臺的數據操作,不可以通過全局變量定義或變量外部調用。另外,命令deploytool在Matlab2012b版本下使用更為方便,對于早期的版本,可以借鑒使用comtool命令。如果需要在沒有Matlab軟件環境下使用exe程序,則需要在對M文件打包過程中,在文件包中包含入MCR(Matlab Compiler Runtime)安裝包,用于在無Matlab安裝的環境下解析形成的exe程序,以實現跨平臺的應用。

3 應用驗證

將基于試飛數據實時分析決策方法開發實現的可視化輸出軟件運行于實時遙測數據監控平臺系統客戶端中,接收實際飛行數據,根據試驗任務書的需要進行了多種圖形的輸出,給飛行指揮員及試飛工程師提供了多種飛行姿態的評判參考。經對比驗證表明:結構化數據存儲,以列模式內存對齊檢索,方便了功能實現。由于計算機運行時,對于內存塊的利用并不是連續的,因此如果定義了較大的數組存儲空間時,會因為在內存中無法找到同樣大小的連續內存塊而溢出。但如果以結構體存放,則可以使用動態內存空間申請的方式,因而避免了溢出的發生。

同時,軟件實現中對C++builder標準構件類進行屬性及方法的擴展,為構件間的關聯操作提供了更便捷的途徑。將標準構件的關聯屬性及方法定義到容器構件類的公用定義范圍內,有效避免了標準構件類內部的析構函數運行時產生內存泄露的異常。

另外,實現的可視化輸出軟件提供了與Matlab計算平臺融合應用的接口管理。除了有DLL算法庫的調用關系以外,兼容了GUI界面與用戶進行交互。由于帶有GUI組件的Matlab程序,不是單一的函數M文件,因此編譯生成的可執行文件在C++builder主程序中以進程應用程序方式調用,合理分配了計算資源。

4 結束語

試飛數據實時分析決策方法及其可視化輸出軟件實現以參數時間段同步選取導出為基本功能,結合并擴展了開發平臺下各個標準構件之間的關聯屬性及方法,提供了便于曲線結果導出的圖形保存及打印輸出功能。同時,根據實際科目分析需求,實現了特殊曲線圖形的繪制。在與Matlab[10]平臺結合應用的過程中,考慮了兩個平臺之間的進程調用及任務資源的管理關系,以提高參數操作效率。另外,在可視化輸出實現過程中可以現階段的功能應用為基礎,繼續深入探索兩個平臺之間在程序混合編譯過程中的差異,為提高平臺函數庫互用的計算效率做更多工作。

[1]劉丹,霍建華,郭世偉.新一代遙測網絡系統及其傳輸組網方式研究分析[J],計算機測量與控制,2015,23(3):1023-1025.

[2]黨懷義.典型大數據倉庫-飛行試驗數據倉庫設計[J].計算機測量與控制,2015,23(4):1407-1409,1413.

[3]李千目.軟件體系結構設計[M].北京:清華大學出版社,2008.

[4]盛勇,白光豐,范旭明.實時反射內存網絡在試飛實時監控系統中的應用[J].計算機測量與控制,2014,22(7):2297-2300.

[5]潘愛民.Windows內核原理與實現[M].北京:電子工業出版社,2010.

[6]莫歐,凱尼格.C++沉思錄[M].北京:人民郵電出版社,2002.

[7]劉濱,C++Builde高級編程實例精解[M].北京:國防工業出版社,2000.

[8]顧聞,周飛,楊宏兵.基于C#.NET與MATLAB混合編程的動態調度軟件系統開發[J].計算機應用與軟件,2014(12):17-20.

[9]王世香.精通MATLAB接口與編程[M].北京:電子工業出版社,2007.

[10]王昊遠,施展,崔永進.基于Matlab的IIR數字濾波器快速設計[J].西安工程大學學報,2015(12):150-152.

Research and implementation of real-time analysis and decision-making method for flight test

QIN Yang-sen1,FAN Yan-qin2,NIE Rui1,QIAO Dong-feng1
(1.Chinese Flight Test Establishment,Xi'an 710089,China;2.Xi'an YuanFang General Aviation Technology Development Corporation,Xi'an 710089,China)

Depend on single numerical analysis and data calculation,it's hart to improve the evaluation efficiency of real-time flight test subjects and will have severely impact on quick decision in time of danger.Use the structured storage technology store the analytic result of flight test data,and employ the column mode memory alignment method to increase the efficiency of retrieval,inquiry and plotted output of single parameter,expand the class attributes and methods of the C++builder standard component,realize the customized result graph output for the routine and specific flight subjects;Imbed VC++dynamic calculation library with the process calls,syncretize the GUI programs of MATLAB,and share the common algorithm library of data analysis in test subjects to expand the synthetic output functions of the software.It realize the visual output to the result of real-time data analytics in flight test,and provide aeronautical decision making with more intuitive data references

flight test;data analysis;visual output;C++builder graphics

TN98

A

1674-6236(2016)17-0018-04

2015-09-03稿件編號:201509021

國防基礎科研項目(A0520132031)

覃楊森(1986—),男,廣西柳州人,碩士,工程師。研究方向:飛行試驗測試數據處理技術。

猜你喜歡
可視化分析
自然資源可視化決策系統
北京測繪(2022年6期)2022-08-01 09:19:06
思維可視化
師道·教研(2022年1期)2022-03-12 05:46:47
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
自然資源可視化決策系統
北京測繪(2021年7期)2021-07-28 07:01:18
隱蔽失效適航要求符合性驗證分析
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
電力系統及其自動化發展趨勢分析
中西醫結合治療抑郁癥100例分析
主站蜘蛛池模板: 18禁黄无遮挡网站| 国产极品嫩模在线观看91| 欧美性猛交一区二区三区| 天堂成人在线视频| 成人精品亚洲| 久久香蕉国产线看精品| 国产精品原创不卡在线| 成人午夜在线播放| 亚洲中文字幕国产av| 2020极品精品国产| 岛国精品一区免费视频在线观看| 亚洲色图欧美在线| 国产精品hd在线播放| 亚洲成a人片在线观看88| 精品91在线| 国产欧美日本在线观看| 久久国产精品电影| 午夜国产小视频| 亚洲AV免费一区二区三区| 最新日本中文字幕| 欧美日韩北条麻妃一区二区| 欧美笫一页| 欧美无遮挡国产欧美另类| 幺女国产一级毛片| vvvv98国产成人综合青青| 原味小视频在线www国产| 99尹人香蕉国产免费天天拍| 四虎永久在线精品国产免费| 亚洲综合18p| 午夜天堂视频| 国产精品久久久精品三级| 中文无码精品a∨在线观看| 日a本亚洲中文在线观看| 自慰高潮喷白浆在线观看| 91精品国产麻豆国产自产在线| 亚洲黄色高清| 亚洲国产精品国自产拍A| 国产精品网拍在线| 欧美日韩综合网| 制服丝袜亚洲| av一区二区三区在线观看 | 丰满人妻一区二区三区视频| 国产成人高清精品免费5388| 国产成人麻豆精品| 国产精品无码AV中文| 国产成人精品一区二区三区| 色欲综合久久中文字幕网| 亚洲国产亚洲综合在线尤物| 亚洲成A人V欧美综合| 亚洲电影天堂在线国语对白| 五月婷婷亚洲综合| 欧亚日韩Av| 国产一区二区色淫影院| 亚洲成AV人手机在线观看网站| 国产视频a| 亚洲人成人伊人成综合网无码| 国产精品成人AⅤ在线一二三四| 午夜国产精品视频| 国产精品分类视频分类一区| 国产婬乱a一级毛片多女| 四虎永久免费地址在线网站| 国产成人艳妇AA视频在线| 国产成人91精品免费网址在线| 亚洲人视频在线观看| 久久人搡人人玩人妻精品| 亚洲美女操| 国产精品熟女亚洲AV麻豆| 午夜啪啪网| 五月激情综合网| 天天躁日日躁狠狠躁中文字幕| 日韩高清中文字幕| 色噜噜综合网| 国产精品永久不卡免费视频| 国产一区二区影院| 99在线视频网站| 欧类av怡春院| 精品国产www| 亚洲AⅤ综合在线欧美一区| 亚洲天堂精品在线| 亚洲高清国产拍精品26u| 久久精品视频一| 成人午夜免费观看|