《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于VAPS虛擬儀表反走樣設(shè)計(jì)仿真實(shí)現(xiàn)
基于VAPS虛擬儀表反走樣設(shè)計(jì)仿真實(shí)現(xiàn)
來(lái)源:電子技術(shù)應(yīng)用2010年第12期
史志波
中國(guó)民航大學(xué) 航空自動(dòng)化學(xué)院,,天津300300
摘要: 針對(duì)飛機(jī)模擬機(jī)虛擬儀表設(shè)計(jì)仿真時(shí)存在刻度線走樣,、刻度線位置不準(zhǔn)確以及會(huì)產(chǎn)生鋸齒現(xiàn)象等缺陷而進(jìn)行反走樣技術(shù)研究,,提出區(qū)域采樣技術(shù)和Bresenham反走樣算法結(jié)合,,重點(diǎn)在刻度線,、字符的反走樣技術(shù)上對(duì)其進(jìn)行優(yōu)化設(shè)計(jì)與研究,,提高虛擬儀表畫面的顯示質(zhì)量,。通過(guò)VAPS軟件完成了虛擬儀表設(shè)計(jì)與仿真,。試驗(yàn)表明,,該算法能夠在虛擬儀表研發(fā)中實(shí)現(xiàn)反走樣設(shè)計(jì),,達(dá)到飛機(jī)機(jī)載電子顯示系統(tǒng)對(duì)其性能的高要求和標(biāo)準(zhǔn)。
中圖分類號(hào):V243
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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

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

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

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

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

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

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

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

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

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


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


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

    由調(diào)試與仿真設(shè)計(jì)可表明,應(yīng)用區(qū)域采樣法和改進(jìn)的Bresenham 算法,,通過(guò)使用VAPS完成對(duì)虛擬儀表設(shè)計(jì),,能夠取得理想的反走樣效果,消除由字符和線段產(chǎn)生的扭曲和鋸齒變形,達(dá)到模擬機(jī)使用標(biāo)準(zhǔn),,能夠在實(shí)際聯(lián)機(jī)調(diào)試時(shí)取得理想效果,。
參考文獻(xiàn)
[1] 王行仁.飛行實(shí)時(shí)仿真系統(tǒng)及技術(shù)[M].北京:北京航空航天大學(xué)出版社,2002.
[2] 李皖玲.VAPS技術(shù)在載人航天器中MFD軟件開(kāi)發(fā)中的應(yīng)用[J]. 航天器工程, 2008,17(5):70-76.
[3] 王大勇.基于VAPS的虛擬航空儀表的開(kāi)發(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].兵工自動(dòng)化, 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] 賈榮珍,,彭曉源,王行仁.飛行模擬器建模,、驗(yàn)?zāi):托阅軠y(cè)試與評(píng)估[J].航空學(xué)報(bào),1998,19(1):41-44.

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