《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于VAPS虛擬儀表反走樣設(shè)計仿真實現(xiàn)
基于VAPS虛擬儀表反走樣設(shè)計仿真實現(xiàn)
來源:電子技術(shù)應(yīng)用2010年第12期
史志波
中國民航大學(xué) 航空自動化學(xué)院,天津300300
摘要: 針對飛機模擬機虛擬儀表設(shè)計仿真時存在刻度線走樣、刻度線位置不準(zhǔn)確以及會產(chǎn)生鋸齒現(xiàn)象等缺陷而進行反走樣技術(shù)研究,提出區(qū)域采樣技術(shù)和Bresenham反走樣算法結(jié)合,重點在刻度線、字符的反走樣技術(shù)上對其進行優(yōu)化設(shè)計與研究,提高虛擬儀表畫面的顯示質(zhì)量。通過VAPS軟件完成了虛擬儀表設(shè)計與仿真。試驗表明,該算法能夠在虛擬儀表研發(fā)中實現(xiàn)反走樣設(shè)計,達到飛機機載電子顯示系統(tǒng)對其性能的高要求和標(biāo)準(zhǔn)。
中圖分類號:V243
文獻標(biāo)識碼: A
文章編號: 0258-7998(2010)12-0091-04
Design and simulation of virtual instrument anti-aliasing based on VAPS
SHI Zhi Bo
Aeronautical Automation College, Civil Aviation University of China, Tianjin 300300, China
Abstract: There is scale line aliasing, line position calibration inaccurate and produce sawtooth appearances when this flight simulator for the design and simulation of virtual instrument. For these, the anti-aliasing technology is launched in the paper and the regional sampling and anti-aliasing algorithm Bresenham are combinated for the paper character anti-aliasing technology to optimize their design and research to enhance the display quality of the virtual instruments. Design and simulation of virtual instruments are completed through the VAPS software. Experiments show that the algorithm can achieve in a virtual instrument developed anti-aliasing design to achieve the aircraft airborne electronic display system on the performance of the high requirements and standards.
Key words : electronic flight instrument system; virtual instrument; character; anti-aliasing; VAPS

    飛機座艙綜合顯示系統(tǒng)中,飛行員看到的是一種用數(shù)字和圖形形象地表示的綜合信息,是把諸多由傳感器送來的參數(shù)“融合”后的顯示。為此,新一代座艙綜合顯示系統(tǒng)正朝著大屏幕、玻璃化方向發(fā)展。
    CRT顯得越來越不適應(yīng)飛機座艙顯示系統(tǒng)現(xiàn)代化發(fā)展趨勢,其缺點主要是采用的高壓易引起問題,體積大、重量大。因此具有體積小、重量輕、可靠性好、在強烈陽光下仍清晰可辨的特點的有源矩陣彩色液晶顯示器 AMLCD(Active Matrix Liquid Crystal Display)成為飛機綜合顯示器未來的發(fā)展方向,是實現(xiàn)飛機“玻璃座艙”和“大圖像”的重要手段。該顯示器在國際上于上世紀(jì)90年代開始裝機,屬第六代飛機座艙顯示器。目前,新一代飛機,如美國的F-22和B-777、法國的“陣風(fēng)”座艙顯示系統(tǒng)都采用了AMLCD多功能顯示器[1]。
    我國的電子綜合圖形顯示系統(tǒng)起步較晚,也引進過平視顯示、綜合顯示器方面的技術(shù)和產(chǎn)品,隨著仿真技術(shù)和飛行模擬技術(shù)的不斷發(fā)展,電子綜合圖形顯示系統(tǒng)也得到了一定的發(fā)展。但是,目前我國的綜合圖形顯示技術(shù)仍落后于國外,大部分軍用機和民用機儀表顯示系統(tǒng)除直接裝載國外的電子綜合圖形顯示系統(tǒng)外,大都停留在機械儀表階段,這使得發(fā)展我國自己的機載圖形顯示系統(tǒng)成為當(dāng)務(wù)之急。
1 反走樣技術(shù)與設(shè)計環(huán)境
    “走樣”是指在用計算機實時繪制圖形時出現(xiàn)的計算機屏幕某些部分變形或出現(xiàn)鋸齒的現(xiàn)象。這是因為在計算機上顯示的圖形是由一系列離散的、等亮度的點(像素)組成。“走樣現(xiàn)象”的本質(zhì)是用離散量表示連續(xù)量引起的失真。走樣嚴(yán)重時會使圖形走形。在飛機座艙儀表中,圖形化的儀表界面在人機交互中具有非常重要的作用。如果座艙儀表出現(xiàn)嚴(yán)重的走樣,會造成飛行員的誤判,從而產(chǎn)生不利后果。在飛行模擬機中,同樣也要避免計算機繪制儀表圖形出現(xiàn)嚴(yán)重的走樣,于是必須通過一些手段和方法來消除或者減輕走樣,這就是所謂的“反走樣”。
    常見的反走樣方法有以下幾種:(1)提高顯示分辨率,即增加采樣點數(shù),使其接近或達到采樣定理的要求;(2)對實際圖形采樣后,在顯示之前進行后處理;(3)對二維函數(shù)進行二維濾波,關(guān)鍵是濾波函數(shù)的選取;(4)軟件上采用雙緩存技術(shù)。
 本文針對虛擬儀表顯示中存在的主要問題進行改進,即當(dāng)儀表刻度線和指針發(fā)生偏轉(zhuǎn)時,線條扭曲、變形。運用VAPS軟件結(jié)合區(qū)域采樣技術(shù)和改進Bresenham反走樣算法,實現(xiàn)畫面顯示質(zhì)量的提高。
 VAPS環(huán)境下,虛擬航空儀表的設(shè)計與開發(fā)主要由兩部分組成:VAPS應(yīng)用程序的開發(fā)與外部應(yīng)用程序的開發(fā)。虛擬儀表VAPS應(yīng)用程序的開發(fā)是一個循環(huán)往復(fù)的過程,若在設(shè)定執(zhí)行環(huán)境后運行結(jié)果不理想,需要返回到前面的過程中進行修改,然后再運行,再修改再運行。本文中要設(shè)計開發(fā)的大氣系統(tǒng)儀表(氣壓高度表、馬赫/空速指示器)都將按此流程進行設(shè)計開發(fā)。下面以氣壓高度表和馬赫表為例,介紹虛擬航空儀表的反走樣設(shè)計與仿真過程。
2 反走樣原理與算法改進
2.1硬件反走樣技術(shù)

 直線段是機載顯示系統(tǒng)中最基本的圖形,直線段顯示的速度和質(zhì)量直接影響著整個全羅盤系統(tǒng)儀表的效果。本文在Bresenham畫線算法的基礎(chǔ)上結(jié)合虛擬儀表的對稱性提出了一種采用改進的Bresenham畫線算法,借助FPGA的高集成度和高設(shè)計頻率,建立一個直線繪制模塊進行硬件反走樣的方案。
 Bresenham 畫線算法是計算機圖形學(xué)領(lǐng)域中使用非常廣泛的一種直線掃描轉(zhuǎn)換算法。其算法原理如圖1所示。設(shè)直線的斜率k=dy/dx,直線起點坐標(biāo)為坐標(biāo)原點。當(dāng)0<k<1時,橫軸(x軸)每向右移動一個像素單位,縱軸(y軸)便向上移動k個像素單位。此時把(1,1)和(1,0)兩個像素點中距離實際直線近的像素點點亮:即當(dāng)L1<1/2時,點亮像素點(1,0)(直線1);當(dāng)L2<1/2時,點亮像素點(1,1)(直線2)。以后每向x軸前進一個像素單位,通過對y軸增量的比較,依次點亮距離實際直線最近的像素,便可完成直線的繪制。

    Bresenham 算法在計算直線斜率和誤差項時要用到浮點算術(shù)運算和除法。為了加快算法的速度,可以進行簡單變換,把k=dy/dx放大dx倍,從而得到整數(shù)運算。Bresenham 算法由于采用增量計算,使得對于每一列,只要檢查一個誤差項的符號便可確定該列的所求像素,因而計算量小。
   結(jié)合Bresenham算法的原理與直線的對稱性, 便可得到改進的Bresenham 算法。其原理如下: 以直線中點為界,其兩邊是對稱的。因此每進行一次判斷便可生成對應(yīng)于直線中點的2 個對稱點。由于直線的生成是從兩端向中間進行的,因此其運算量將減半,運算速度將加倍。在改進的Bresenham 算法中,直線段每向橫軸方向前進一個像素單位,便沿縱軸方向在該線段兩側(cè)各繪制一個像素點,每個像素點都以繪制顏色的亮度乘以某個權(quán)作為實際亮度,每個像素點的權(quán)等于1 減去該像素點在縱軸方向上與理想線段之間的距離。如圖2所示。與Bresenham 法用相同亮度的3個像素點繪制線段不同,改進算法中直線段是用亮度不同的3 對像素點來繪制。這樣可使直線的生成速度和質(zhì)量得到提高。

   依據(jù)此思路,采用改進的Bresenham 算法可以建立直線繪制模塊、曲線繪制模塊、多邊形繪制模塊等虛擬儀表部件。考慮到采用軟件方案會大大增加CPU的開銷,在顯示復(fù)雜的儀表圖像(如多功能顯示器)時達不到實時性的要求,文中提出了采用集成度和設(shè)計頻率更高的FPGA,這樣便可以建立一個基于FPGA的直線快速繪制模塊,進行反走樣。基于這種思想,把繪制其他反走樣圖形的算法也設(shè)計成一個個模塊(如圓弧繪制模塊、曲線繪制模塊、多邊形繪制模塊等),可以采用德州儀器或Altera公司的帶嵌入CPU核的FPGA芯片,CPU調(diào)用各個子模塊生成圖形,并控制圖像數(shù)據(jù)在FPGA中的幀存和對外輸出顯示,最終建立一個基于FPGA的圖形協(xié)助生成器,實現(xiàn)硬件反走樣。圖形協(xié)助生成器的硬件方案如圖3所示。

2.2 軟件系統(tǒng)結(jié)構(gòu)
    為了得到虛擬儀表系統(tǒng)平滑的動畫效果,本文采用了VAPS中使用的雙緩存技術(shù)。雙緩存技術(shù)就是把有效的幀分成相等的兩份。例如,一個24幀的平臺通常只有12個有效幀。當(dāng)雙緩存技術(shù)用于圖像繪制模式時,可以先將圖像繪制到后臺緩沖區(qū)中,繪制結(jié)束后可以通過交換緩沖區(qū),將后臺緩沖區(qū)已經(jīng)繪制好的圖像直接發(fā)送到前臺緩沖區(qū),由系統(tǒng)顯示功能完成屏幕的顯示,此時下一幀的圖像已經(jīng)開始在后臺緩沖區(qū)中繪制了。如此循環(huán)反復(fù),屏幕上總可以顯示已經(jīng)繪制好的圖像,而看不到繪制的過程,同時還可以提高系統(tǒng)的效率,實現(xiàn)動畫的連續(xù)效果,有效避免或減輕儀表圖形繪制過程中的走樣變形。
3 基于VAPS下的虛擬儀表的設(shè)計與仿真
3.1 繪制儀表布局設(shè)計

    虛擬航空儀表的尺寸、外形、動作行為應(yīng)與真實航空儀表相同,才能夠如實反映設(shè)計要求和效果。在繪制儀表布局前,應(yīng)對所要繪制的航空儀表的基本部件構(gòu)成有所熟悉。圖4給出了B737-300座艙中高度表的基本部件結(jié)構(gòu)圖。

    高度表的設(shè)計工作區(qū)如圖5所示。儀表外觀設(shè)計好后,可保存為&ldquo;*.FRM&rdquo;文件。同時選中工程,單擊工作區(qū)上方工具欄中的&ldquo;&rarr;&rdquo;圖標(biāo)或文件菜單下的運行項可運行測試設(shè)計好的虛擬儀表的外觀是否滿足要求,若效果不好需返回工程中修改。

3.2 連接儀表布局設(shè)計
    數(shù)據(jù)通道是一些進行數(shù)據(jù)緩存的數(shù)據(jù)結(jié)構(gòu),是輸入輸出部件間進行數(shù)據(jù)交換的紐帶。在VAPS中,數(shù)據(jù)通道的類型可分為三種:Local common、Session common、Simulation。圖6為高度表數(shù)據(jù)通道。

3.3 數(shù)據(jù)采集器及連接布局實現(xiàn)
    如果需要多個信號源集成后去驅(qū)動一個輸出對象,那么這時就要用到采集器。采集器本質(zhì)上是一些數(shù)字型或布爾型的邏輯表達式。使用采集器,可以通過數(shù)據(jù)通道接收來自多個信號源的數(shù)據(jù),并把集成后的數(shù)據(jù)提供給只有一個輸入的輸出對象。完成數(shù)據(jù)通道文件和采集器文件的創(chuàng)建之后,需要把數(shù)據(jù)通道跟插件、數(shù)據(jù)通道跟采集器連接。其連接過程與插件與數(shù)據(jù)通道的連接過程相同。一切準(zhǔn)備就緒后,可通過點擊Window菜單下拉列表中的Docking Window,選擇Connections子菜單項打開所有連接數(shù)據(jù)通道的信息,便于檢查連接是否正確。若有錯,可在Connections界面按數(shù)據(jù)通道的連接步驟直接修改連接。
3.4 狀態(tài)轉(zhuǎn)換儀表布局設(shè)計
    VAPS應(yīng)用程序的行為模型有兩種:有限狀態(tài)機FSM(Finite State Machine)和擴展轉(zhuǎn)換網(wǎng)絡(luò)ATN(Augmented Transition Network)。有限狀態(tài)機模型是非線性模型,在構(gòu)建交互式系統(tǒng)和界面時非常有用。擴展轉(zhuǎn)換網(wǎng)絡(luò)模型是建立在FSM基礎(chǔ)上的,像FSM一樣,ATN也是由一系列的狀態(tài)和事件及轉(zhuǎn)換弧組成的,但不同的是,在ATN中,增加了動作響應(yīng)。這主要表現(xiàn)在三個方面:
    (1)通過條件測試轉(zhuǎn)換到新的狀態(tài)。
    (2)在轉(zhuǎn)移弧上,執(zhí)行響應(yīng)可實現(xiàn)某些預(yù)期的功能。
    (3)與FSM模型中的離散輸入(事件)相對應(yīng),ATN模型中增加了離散輸出(響應(yīng))。ATN模型如圖7所示。


    對馬赫表進行ATN模型設(shè)計時,在初始化狀態(tài)中加載前面設(shè)計好的框架。由初始化狀態(tài)轉(zhuǎn)換到運行狀態(tài)即可,此過程中對應(yīng)的事件為無事件(即No Event),之后應(yīng)用程序在運行狀態(tài)循環(huán)。ATN模型的構(gòu)建有兩種方法:采用外部C編程和在ATN狀態(tài)欄填寫數(shù)據(jù)表格,編譯成功后把儀表對象等文件生成ANSI C代碼。
    完成 VAPS 界面設(shè)計、數(shù)據(jù)轉(zhuǎn)換、管理指令及運行流程設(shè)定之后,需要在VAPS 運行環(huán)境中測試顯示,產(chǎn)生虛擬儀表運行界面,如圖8。在運行測試模塊中,可進行動態(tài)、圖形化的HMI 實時交互。通常在該模塊中可不斷完善儀表面板的設(shè)計顯示測試工作。


    在VAPS中,圖形重繪的時間即系統(tǒng)中兩個緩沖區(qū)交換時間是系統(tǒng)屏幕刷新周期的整數(shù)倍。在VAPS應(yīng)用程序運行環(huán)境中必要時可選擇no extra draw項來減少圖形重繪次數(shù)。在Open GL環(huán)境下運行VAPS應(yīng)用程序時反走樣效果比較明顯。其中要用到auxSwapBuffers()函數(shù)。圖9、圖10所示為反走樣處理前后馬赫/空速指示器表盤的效果圖。 
4 虛擬儀表在大氣數(shù)據(jù)系統(tǒng)調(diào)試
    在上述基礎(chǔ)上利用VC++6.0實現(xiàn)對虛擬儀表的調(diào)用和連接,使其構(gòu)成一個完整的系統(tǒng),在飛行模擬機中大氣數(shù)據(jù)系統(tǒng)參數(shù)實現(xiàn)整個流程的模擬。并對整個系統(tǒng)進行功能和性能測試。圖11所示為聯(lián)調(diào)時儀表部分運行界面。

    由調(diào)試與仿真設(shè)計可表明,應(yīng)用區(qū)域采樣法和改進的Bresenham 算法,通過使用VAPS完成對虛擬儀表設(shè)計,能夠取得理想的反走樣效果,消除由字符和線段產(chǎn)生的扭曲和鋸齒變形,達到模擬機使用標(biāo)準(zhǔn),能夠在實際聯(lián)機調(diào)試時取得理想效果。
參考文獻
[1] 王行仁.飛行實時仿真系統(tǒng)及技術(shù)[M].北京:北京航空航天大學(xué)出版社,2002.
[2] 李皖玲.VAPS技術(shù)在載人航天器中MFD軟件開發(fā)中的應(yīng)用[J]. 航天器工程, 2008,17(5):70-76.
[3] 王大勇.基于VAPS的虛擬航空儀表的開發(fā)[D].哈爾濱: 哈爾濱工業(yè)大學(xué),2005.
[4] GERI G A, WINTERBOTTOM M D. Effect of display resolution and antialiasing on the discrimination of simulated-aircraft orientation[J]. Display, 2005,26(4-5):159-169.
[5] 趙淑榮,羅云林.大氣數(shù)據(jù)系統(tǒng)[M].北京:兵器工業(yè)出版社,2004.
[6] FENNELL N, HEMMENS S, MOODY M. Engineering flight simulator designed for human in the loop interaction [C].Proceedings  of the SETE2000 Conference,2000:8-10.    
[7] 彭燕,許增增.基于VAPS的多功能儀表界面[J].兵工自動化, 2006,25(3):90-92.
[8] GIACOMINI D, BIANCOM E, MARTINO L, et al.A New fully integrated power module for three phase servo motor driver application[J].IEEE Industry:Appliacations Society, 2005(2):981-987.
[9] 賈榮珍,彭曉源,王行仁.飛行模擬器建模、驗?zāi):托阅軠y試與評估[J].航空學(xué)報,1998,19(1):41-44.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。