隨著電子技術和計算機技術的迅速發(fā)展,幾種商業(yè)化的探地雷達" title="探地雷達">探地雷達系統(tǒng)開始得到了初步應用,其中具有代表性的有加拿大探頭及軟件公司(SSI)的PulseEKKO系列、瑞典地質公司(SGAB)的RAMAC鉆孔地質雷達系統(tǒng)、美國地球物理探測設備公司(GSSI)的SIR系統(tǒng)及日本應用地質株式會社(OYO)的Georadar系列等。但是,這些國外產品造價昂貴,且測量的局限性較大,嚴重地影響了它的普及。鑒于探地雷達具有廣泛的用途對其進行了開發(fā)研制,目前已研制成功。由于篇幅限制,文中在此重點介紹數據采集" title="數據采集">數據采集部分和顯示軟件。
1 數據采集
在探地雷達數據采集試驗中,所使用的是HY-6070 C通用數據采集控制板,此板的功能主要是A/D與D/A數據轉換。其接口是ISA總線型的,可以直接插入具有ISA總線擴展槽的計算機中,在計算機的控制下構成信號采集、監(jiān)視輸入系統(tǒng)和模擬量電壓信號、數字電壓信號輸入系統(tǒng)。HY-6070 C板上安裝有12 bit分辨率的A/D轉換器,其通過率為40 kHz。為用戶提供了兩種模擬信號輸入方式:16路單端輸入和8路雙端輸入。通過硬件設置,模擬電壓信號輸入范圍可以是0~5 V,土2.5 V,±5 V。此板還提供了1路12 bit D/A轉換模擬電壓輸出通道。在HY-6070 C板上還裝有可編程定時/計數器82C54,其中82C54的定時/計數器1和定時/計數器2級連,用以生成定時啟動A/D轉換的信號。定時/計數器O單獨引出,供用戶使用。HY-6070 C板支持軟件觸發(fā)、定時觸發(fā)和外觸發(fā)3種A/D電路啟動轉換工作方式。支持軟件查詢和中斷申請數據傳送工作方式。HY-6070 c板還為用戶提供了16路數字輸入/輸出通道信號,接口電平符合TTL電平標準。
文中利用軟件編程啟動HY-6070 C板的A/D轉換功能。在軟件觸發(fā)方式下,每次啟動A/D轉換前由軟件切換通道,然后發(fā)送A/D轉換啟動命令來觸發(fā)A/D轉換。當A/D轉換完成后,可通過軟件查詢A/D完成位,當程序測到A/D完成位為“1”時,即可讀取A/D轉換的12 bit數據。
A/D采樣程序步驟如下:
(1)設置板上的模擬信號輸入通道(共16個通道,編號為0~15);
(2)設置A/D觸發(fā)方式,這里設置為軟件觸發(fā);
(3)開始觸發(fā)A/D轉換;
(4)等待并查詢A/D轉換完成標志;
(5)對接收到的數據進行存儲。
在HY-6070 c數據采集卡內預先分配了各種地址,程序通過訪問這些地址并對其進行相應的讀寫操作來控制A/D采樣的實現。在實際應用中,可以直接利用由C語言編制的應用程序來控制采集卡進行A/D轉換,只需調用頭文件為dos.h中的outport(address,data)(address為地址值,data為要向該地址輸出的數據)與inportb(ADaddress)(ADadress是A/D轉換數據所存儲的地址)兩個函數即可,但是應用程序的使用環(huán)境必須是DOS操作系統(tǒng)。這給應用程序的使用者帶來了諸多不便。因此為了讓用戶方便使用,作者制作了基于Windows操作系統(tǒng)的顯示軟件。由于 Windows操作系統(tǒng)不能像DOS那樣直接讀取采集卡的板內地址,因此要想面向數據采集卡編程,首先需要安裝數據采集卡的驅動程序,既讓Windows 操作系統(tǒng)能夠識別到此硬件。在接下來的編程中還必須使用到數據采集卡自帶的兩個文件,HKIoMFC.H和HKIoMFC.lib,在這兩個文件中定義了對采集卡進行控制的變量與函數體,編程時即可直接調用。
2 顯示軟件
利用Visual C++6.0在Windows操作系統(tǒng)下開發(fā)應用程序主要是使用MFC(Microsoft Fbundation Class)類庫。MFC是微軟為Windows程序員提供的一個面向對象的Windows編程接口,它簡化了Windows編程工作。使用MFC類庫的優(yōu)點:首先,MFC提供了一個標準化的結構,這樣開發(fā)人員不必從頭設計創(chuàng)建和管理一個標準Windows 應用程序所需的程序,而是從一個比較高的起點編程,可節(jié)省大量的時間;其次,它提供了大量的代碼,指導用戶編程時實現某些技術和功能。MFC庫充分利用了 Microsoft開發(fā)人員多年開發(fā)Windows程序的經驗,并可以將這些經驗融入到自己開發(fā)的應用程序中去。
Visual C++6.0集成環(huán)境對MFC提供了多種界面友好的輔助工具,用AppWizard可以生成新的類,可以對類成員進行維護。MFC提供了一種機制,把 Windows的消息與類的某個成員直接聯(lián)系起來,減少程序員中間的處理過程。比如在菜單中加了一個命令項,指定其命令ID,然后用 ClassWizard可以指定此菜單ID與類的成員函數相聯(lián)系,所需要的編程就是實現該成員函數的代碼,其他代碼均由MFC和Class-Wizard 負責處理。這種機制提高了程序開發(fā)效率,而且Visual C++提供了MFC的所有源代碼,這些源代碼不僅可供參考,還為應用程序的調試提供了方便,源代碼的開放性也是MFC獲得成功的一個主要原因。
作者所設計的顯示軟件是基于單文檔(SDI)框架結構的應用程序,其外觀如圖1所示。
由圖可見,單文檔的外觀與常見的Windows應用程序相似,因此操作方便,只需要選擇各個菜單執(zhí)行相應的功能即可。
探測波形實時顯示功能的實現需要軟件與前面提到的HY-6070 C數據采集卡配合實現。在廠家提供的驅動函數庫內定義了一個CHKIoCtrl類,在編程時只需聲明一個此類的對象mHKDevice即可,然后就可調用驅動函數進行相應的操作。圖2是波形的動態(tài)顯示效果。
當得知地下有物體存在后,人們希望了解這個物體到底是什么,而利用上述波形的動態(tài)顯示方法就難以給出結論。因此還需要通過這些回波產生一幅可視性強的圖像,這通常建立在數字圖像處理的基礎上。通常稱圖2所示的波形為一維圖像,如果能將其轉化為二維圖像,可視性會大為改善。這里用“波形堆積”一詞來形容將一維圖形轉化為二維圖形的過程。圖3所示240個波形直接堆積的結果,這里采用灰度圖像。
由圖3可見,圖像出現了灰度不均勻顯示的效果,與圖2單純的波形相比,其可視性得到增強。這些不均勻的變化特征反映出目標的某些特性。
3 結束語
通過應用通用HY-6070 C完成了對探地雷達信號的數據采集,并且應用文中所編制的顯示軟件,對實時波形和堆積圖形進行了正確顯示,與所研制的探地雷達主機聯(lián)調也得以成功,完全能夠正確使用。