基于Lab Windows/CVI的激光聲遙感系統(tǒng)
(2) 接收程放增益及陣高度設(shè)置輸入;
(3) 檢測激光器發(fā)射信號,傳送控制數(shù)據(jù),啟動DSP分機(jī);
(4) 讀取、顯示14個波束的方位—距離數(shù)據(jù);
(5) 給出光標(biāo)所在位置的目標(biāo)方位及距離;
(6) 波束數(shù)據(jù)存盤。
程序的設(shè)計(jì)上本著結(jié)構(gòu)化設(shè)計(jì)思想,將整個系統(tǒng)功能分解為幾個子功能模塊分別開發(fā)調(diào)試,從而提高了程序的可讀性和可維護(hù)性,也便于功能的擴(kuò)充。下圖給出顯控軟件主程序的流程:
本文引用地址:http://www.ex-cimer.com/article/195276.htm
4.2技術(shù)要點(diǎn)
程序在Lab Windows/CVI環(huán)境下開發(fā),主窗體及菜單可在用戶界面窗口中快速便捷地建立,操作控制消息處理過程框架也可由環(huán)境自動生成,設(shè)計(jì)人員只需加入相應(yīng)的處理邏輯即可。程序設(shè)計(jì)中要解決的關(guān)鍵問題是DSP分機(jī)輸出緩沖器中波束數(shù)據(jù)的讀取及波形的顯示和通過光標(biāo)操作進(jìn)行目標(biāo)的定位。這些工作如果用VC++等實(shí)現(xiàn)將比較繁瑣,而在Lab Windows/CVI環(huán)境下則可以得到輕松而完美的解決。
4.2.1 DSP分機(jī)輸出緩沖器中波束數(shù)據(jù)的讀取
Lab Windows/CVI在Utility函數(shù)庫中提供了利用物理地址對內(nèi)存直接訪問的Physical Memory Access子類,當(dāng)系統(tǒng)中有大量數(shù)據(jù)需要處理時,利用物理內(nèi)存訪問函數(shù)即可以提高程序的運(yùn)行速度,又可以避免開發(fā)虛擬設(shè)備驅(qū)動程序的繁重工作。在這一系統(tǒng)的開發(fā)中我們使用ReadFromPhysicalMemoryEX完成波束數(shù)據(jù)的讀取,該函數(shù)原形如下:
Int status=ReadFromPhysicalMemoryEX(unsigned int physicalAddress,void *destinatyionBuffer,unsigned int numberOfBytes,int bytesAtATime);
其中,physicalAddress為數(shù)據(jù)在內(nèi)存中的物理地址;destinatyionBuffer為讀出后存放數(shù)據(jù)的緩沖器;numberOfBytes為讀出數(shù)據(jù)的字節(jié)數(shù);bytesAtATime為一次讀取的字節(jié)數(shù),取值可為1、2、4。返回值為1表示讀取成功。
4.2.2 波形的顯示和光標(biāo)定位操作
Lab Windows/CVI提供了圖表控件來完成圖表、靜態(tài)的曲線和波形及動態(tài)實(shí)時信號波形的顯示,這里我們通過使用Graph控件來完成波束數(shù)據(jù)的顯示。Graph控件功能十分強(qiáng)大,主要包括繪圖功能、光標(biāo)功能、坐標(biāo)設(shè)定功能和縮放、移動視區(qū)功能等。用戶界面庫中提供了大量的函數(shù)以用于在Graph控件上繪制各種曲線和幾何圖形,這里我們使用PlotY函數(shù),其原形為:
Int PlotY(int panelHandle,int contrlHandle,double[] Yarray,int NumofPoints,int YdataType,int PlotStyle,int PointStyle,int LineStyle,int PointFrequency,int Color)
該函數(shù)有10個參數(shù),其中panelHandl為Graph控件所在面板的句柄;contrlHandle為Graph控件的句柄,這兩者結(jié)合指明繪圖區(qū)域;Yarray為繪制曲線的數(shù)據(jù)數(shù)組;NumofPoints為繪制數(shù)據(jù)點(diǎn)的個數(shù);YdataType為數(shù)據(jù)類型;PlotStyle為控制曲線類型的常量;PointStyle為數(shù)據(jù)點(diǎn)形狀常量,通過設(shè)置它將數(shù)據(jù)點(diǎn)用特定的形狀繪制;LineStyle為線條類型常量,進(jìn)行諸如實(shí)線、虛線的選擇;PointFrequency為點(diǎn)間距常量,無效時設(shè)為默認(rèn)值1;Color曲線顏色設(shè)置常量。仔細(xì)設(shè)置好這些常數(shù)即可精確繪制出波形。
Graph控件支持光標(biāo)操作,在程序設(shè)計(jì)中可利用光標(biāo)進(jìn)行定位,在設(shè)計(jì)時可對光標(biāo)的個數(shù)、顏色、形狀、模式等屬性進(jìn)行設(shè)置,程序中又可通過函數(shù)對光標(biāo)進(jìn)行操作,如設(shè)置活動光標(biāo),獲取和設(shè)置光標(biāo)的坐標(biāo)等,而坐標(biāo)數(shù)據(jù)與目標(biāo)的時間、距離數(shù)據(jù)是相關(guān)聯(lián)的,在程序中可通過簡單的計(jì)算進(jìn)行轉(zhuǎn)換。
Graph控件的縮放和視區(qū)移動功能則允許我們對波形的局部進(jìn)行放大以觀察細(xì)節(jié),以及將波形繪制在視區(qū)之外,需要時又可移入視區(qū)之內(nèi)進(jìn)行顯示。總之,該控件的強(qiáng)大功能滿足了我們現(xiàn)階段所有的波形顯示和分析的需要。
5 結(jié)束語
本文討論了在Lab Windows/CVI環(huán)境下開發(fā)DSP顯控程序的優(yōu)越性和關(guān)鍵技術(shù)。該接收機(jī)經(jīng)受了海試的考驗(yàn),在整個海試過程中一直穩(wěn)定可靠地運(yùn)行,其處理所得目標(biāo)方位、距離值及海深等數(shù)值都能與預(yù)知值很好地吻合。另外,該系統(tǒng)的設(shè)計(jì)使得其功能很容易擴(kuò)充,它除了對國防建設(shè)具有重要意義外,稍加改進(jìn)后還可應(yīng)用于如沉船打撈、航道勘測、水底地形圖的測繪等領(lǐng)域,對海洋的開發(fā)和經(jīng)濟(jì)的發(fā)展都具有重要的意義。
評論