黃邑?zé)?
(1.中國(guó)科學(xué)院國(guó)家空間科學(xué)中心微波遙感技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京100190;2.中國(guó)科學(xué)院國(guó)家空間科學(xué)中心北京 100190;3.中國(guó)科學(xué)院大學(xué)北京100149)
微波遙感技術(shù)廣泛應(yīng)用于水文、氣象和環(huán)境監(jiān)測(cè)等領(lǐng)域。微波輻射計(jì)是被動(dòng)式遙感儀器[1],根據(jù)天線(xiàn)接收到的目標(biāo)輻射能量信息,通過(guò)定標(biāo)方程得到輻射計(jì)輸出電壓與所觀測(cè)目標(biāo)的亮溫的關(guān)系,進(jìn)而研究被觀測(cè)目標(biāo)的輻射特性[2]。全極化微波輻射計(jì)是一種新型的微波遙感器,它在雙極化微波輻射計(jì)只測(cè)量目標(biāo)輻射信息幅度的基礎(chǔ)上,進(jìn)一步測(cè)量其相位,實(shí)現(xiàn)了人們?cè)谖⒉ㄟb感中對(duì)電磁波極化信息的全部利用[3]。在微波輻射計(jì)系統(tǒng)中,數(shù)據(jù)采集與系統(tǒng)控制模塊對(duì)輻射計(jì)接收到的目標(biāo)的全極化信息進(jìn)行采集和數(shù)字化處理[4],再進(jìn)行存儲(chǔ)和管理,因此需要一個(gè)便捷和高效的的人機(jī)交互軟件來(lái)提高對(duì)數(shù)據(jù)的采集和處理速度。
文中設(shè)計(jì)了一款針對(duì)直接檢波和數(shù)字相關(guān)型通用的上位機(jī)軟件,完成數(shù)據(jù)的采集、處理以及顯示功能。
微波輻射計(jì)的接收機(jī)單元采用全功率的工作體制,結(jié)構(gòu)簡(jiǎn)單,可靠性高[5]。直接檢波型輻射計(jì)接收機(jī)的功能是將天線(xiàn)單元接收到的目標(biāo)輻射信號(hào)進(jìn)行下變頻、放大、濾波、檢波并積分放大至可供數(shù)控單元采集量化的電平幅度[6],數(shù)控單元將采集到的電平數(shù)據(jù)通過(guò)網(wǎng)口傳送給上位機(jī)。直接檢波型輻射計(jì)接收機(jī)單元結(jié)構(gòu)圖如圖1所示。其中Tv和Th分別表示垂直和水平極化亮溫。
圖1 直接檢波型微波輻射計(jì)系統(tǒng)框圖
數(shù)字相關(guān)型全極化微波輻射計(jì)系統(tǒng)中,天線(xiàn)接收到的目標(biāo)輻射通過(guò)極化分離器(OMT)分為水平極化和垂直極化兩個(gè)極化分量,然后通過(guò)放大(LNA)、濾波和正交解調(diào)過(guò)程產(chǎn)生正交的IQ信號(hào),進(jìn)入數(shù)字相關(guān)器進(jìn)行相關(guān)運(yùn)算,得到4個(gè)Stokes電壓信號(hào),再通過(guò)串口傳送到上位機(jī)軟件。數(shù)字相關(guān)型輻射計(jì)的系統(tǒng)框圖如2所示[7]。
圖2 數(shù)字相關(guān)型微波輻射計(jì)系統(tǒng)框圖
其中Tv和Th分別表示垂直和水平極化亮溫,T3和T4表示其復(fù)相關(guān)量。在實(shí)際測(cè)量中,數(shù)字相關(guān)器輸出的是I1*I1、I2*I2、Q1*Q1、Q2*Q2、I1*Q1、I1*I2、Q1*I2、Q1*Q28個(gè)相關(guān)數(shù)的積分結(jié)果。4個(gè)Stokes參數(shù)可表示為
微波輻射計(jì)數(shù)據(jù)采集系統(tǒng)上位機(jī)軟件的功能是提供人機(jī)交互界面,軟件根據(jù)用戶(hù)定義的指令通過(guò)RS232串口和以太網(wǎng)口向下位機(jī)發(fā)送命令,上位機(jī)軟件把從串口和網(wǎng)口接收來(lái)的數(shù)據(jù)依次存入文件,將字節(jié)分析匹配解析數(shù)據(jù)包,再將提取出來(lái)的微波輻射信息通過(guò)可視化圖形顯示出來(lái),并能實(shí)現(xiàn)圖像的存儲(chǔ)、縮放和灰度顯示等功能。上位機(jī)軟件的基本組成功能如圖3所示。
圖3 上位機(jī)軟件基本功能
上位機(jī)軟件的主要功能包括:
1)數(shù)據(jù)通信:
實(shí)現(xiàn)與輻射計(jì)數(shù)據(jù)管理單元的串口和網(wǎng)口通信,包括配置參數(shù),發(fā)送和接收數(shù)據(jù)包的任務(wù)。
2)數(shù)據(jù)處理:
根據(jù)工作模式的選擇,對(duì)接收到的數(shù)據(jù)包進(jìn)行解析,提取4個(gè)Stokes測(cè)量參數(shù)并進(jìn)行格式轉(zhuǎn)化。
3)數(shù)據(jù)顯示:
①顯示串口和網(wǎng)口接收到的數(shù)據(jù)和輔助工作參數(shù),包括日期、工作模式和積分時(shí)間;
②根據(jù)輻射計(jì)各通道信號(hào)測(cè)量值結(jié)合坐標(biāo)信息繪制圖形。
4)文件管理:
將接收到的數(shù)據(jù)進(jìn)行存儲(chǔ)和更改,并且能夠?qū)?shù)據(jù)導(dǎo)出進(jìn)行繪圖處理。
輻射計(jì)數(shù)據(jù)采集系統(tǒng)上位機(jī)軟件基于Qt Creator軟件開(kāi)發(fā)環(huán)境并在window10操作系統(tǒng)上運(yùn)行的。Qt Creator是一個(gè)用Qt開(kāi)發(fā)的輕量級(jí)跨平臺(tái)集成開(kāi)發(fā)環(huán)境[8],因?yàn)槠淞己玫姆庋b機(jī)制和豐富的API函數(shù)被廣泛使用?;赒t類(lèi)庫(kù)本身,用戶(hù)可通過(guò)自定義或內(nèi)建對(duì)話(huà)框的方式構(gòu)建操作面板和顯示面板。上位機(jī)軟件的設(shè)計(jì)流程如圖4所示。
圖4 上位機(jī)軟件設(shè)計(jì)流程圖
3.1.1 串口通信模塊
串行通信接口,是采用串行通信方式的擴(kuò)展接口[9]。串行接口(Serial Interface)是指數(shù)據(jù)一位一位地順序傳送,其特點(diǎn)是通信線(xiàn)路簡(jiǎn)單,只要一對(duì)傳輸線(xiàn)就可以實(shí)現(xiàn)雙向通信,從而大大降低了成本,適用于遠(yuǎn)距離通信,但傳送速度較慢[10]。在Qt中并沒(méi)有特定的串口控制類(lèi),通常使用的是第三方寫(xiě)的qextserialport類(lèi)。在Windows環(huán)境下,需使用qextserialbase.cpp、qextserialbase.h、qextserialport.cpp、qextserialport.h、win_qextserialport.cpp和 win_qextserialport.h這6個(gè)文件[11]。該類(lèi)包含串口設(shè)置、串口發(fā)送、串口接收3個(gè)模塊。串口設(shè)置的各屬性如表1所示,包括串口號(hào)、波特率、數(shù)據(jù)位、校驗(yàn)位和停止位,數(shù)據(jù)包頭可根據(jù)個(gè)人設(shè)定,供解析數(shù)據(jù)的時(shí)候使用。
表1 串口屬性設(shè)置
串口接收到的數(shù)據(jù)包是十六進(jìn)制,包頭為12 34,數(shù)據(jù)中包含數(shù)據(jù)采集單元傳輸?shù)乃胶痛怪蓖ǖ赖碾娖叫盘?hào)的相關(guān)和累加結(jié)果,需要將其進(jìn)行解包。將十六進(jìn)制轉(zhuǎn)化為int格式再進(jìn)行分類(lèi)和顯示。串口通信界面如圖5所示。
圖5 串口通信界面
串口調(diào)試模塊的主要功能是通過(guò)配置串口參數(shù),能夠?qū)Υ趥鬏敂?shù)據(jù)進(jìn)行實(shí)時(shí)顯示,當(dāng)采集到的數(shù)據(jù)量達(dá)到需求,可以保存數(shù)據(jù)到自定義文件內(nèi)方便后續(xù)的處理。
3.1.2 串口通信模塊
UDP(User Datagram Protocol)是一種簡(jiǎn)單的面向數(shù)據(jù)報(bào)、無(wú)連接、傳輸層協(xié)議[12]。UDP不提供錯(cuò)誤校正,不保證有序,無(wú)法去重復(fù),沒(méi)有流量和擁塞控制,不能保證數(shù)據(jù)一定到達(dá)目的地,但是可以通過(guò)校驗(yàn)和提供錯(cuò)誤偵測(cè)[13]。由于UDP在傳輸數(shù)據(jù)報(bào)前不用在客戶(hù)和服務(wù)器之間建立一個(gè)連接,且沒(méi)有超時(shí)重發(fā)等機(jī)制,因此傳輸速度很快[14]。在Qt中UDP數(shù)據(jù)的發(fā)送和接收可以使用QUdpSocket類(lèi)來(lái)實(shí)現(xiàn)。一般使用bind()去綁定地址和端口號(hào),然后使用writeDatagram()和 readDatagram()去傳輸數(shù)據(jù)。UDP屬性一般設(shè)置本地的IP和端口號(hào)以及目標(biāo)主機(jī)的IP和端口號(hào),具體設(shè)置參數(shù)如表2所示。
網(wǎng)口接收到十六進(jìn)制數(shù)據(jù)包,包頭為EB 91 55 AA,將數(shù)據(jù)包進(jìn)行解包和處理。UDP通信和顯示界面如圖6所示。
表2 UDP屬性設(shè)置
圖6 網(wǎng)口通信界面
UDP調(diào)試模塊的主要功能是通過(guò)配置本地和目標(biāo)主機(jī)的IP和端口號(hào),能夠?qū)W(wǎng)口傳輸數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示和存儲(chǔ)。
3.1.3 數(shù)據(jù)包解析
上位機(jī)軟件接收到十六進(jìn)制數(shù)據(jù)包,并保存為文本格式或二進(jìn)制文件格式。因此在提取數(shù)據(jù)的時(shí)候采取調(diào)用外部文件的模式,識(shí)別數(shù)據(jù)流中的包頭并進(jìn)行定位。根據(jù)包頭的位置,提取有效數(shù)據(jù)信息并進(jìn)行分類(lèi),再轉(zhuǎn)化為十六進(jìn)制數(shù)據(jù)進(jìn)行運(yùn)算。以解析網(wǎng)口傳輸數(shù)據(jù)為例具體實(shí)現(xiàn)過(guò)程如下:
QwtPlot類(lèi)是一個(gè)二維繪圖部件,繼承自QFrame和QwtPlotDict。但實(shí)際上它只是一個(gè)視圖窗口,QwtPlotCanvas類(lèi)才是真正的繪制設(shè)備。在QwtPlot的畫(huà)布上可以顯示不限數(shù)量的曲線(xiàn)和網(wǎng)格,或者其它任意從QwtPlotItem派生出來(lái)的子類(lèi)[15]。
(1)曲線(xiàn)繪圖
QwtPlot繪制曲線(xiàn)需要用到QwtPlotCurve類(lèi):曲線(xiàn)類(lèi)圖元,這個(gè)類(lèi)表征一系列點(diǎn)數(shù)據(jù)。軟件中具體的實(shí)現(xiàn)過(guò)程如下:
(2)三維散點(diǎn)繪圖
在曲線(xiàn)繪圖工具的基礎(chǔ)上,繪制三維散點(diǎn)圖需要QwtPlotSpectroCurve類(lèi):三維散點(diǎn)圖,用顏色表示Z軸。三維散點(diǎn)繪圖實(shí)現(xiàn)過(guò)程如下:
(3)鼠標(biāo)動(dòng)作
在QwtPlot上繪制圖形,需要使用鼠標(biāo)實(shí)現(xiàn)縮放等操作。設(shè)計(jì)通過(guò)鼠標(biāo)滾輪實(shí)現(xiàn)畫(huà)布的縮放,點(diǎn)擊左鍵勾選動(dòng)作能夠?qū)崿F(xiàn)局部放大,點(diǎn)擊右鍵恢復(fù)至上一次放大前的狀態(tài),實(shí)現(xiàn)代碼如下所示。
在全極化輻射計(jì)定標(biāo)試驗(yàn)中,需要觀測(cè)目標(biāo)輻射極化信息隨著相位延遲版旋轉(zhuǎn)角度的變化[16]。曲線(xiàn)繪圖中橫軸表示延遲版旋轉(zhuǎn)的時(shí)間,縱軸表示通道間的數(shù)字自相關(guān)和互相關(guān)結(jié)果。
試驗(yàn)過(guò)程中對(duì)線(xiàn)極化源的測(cè)量結(jié)果如圖7所示,其中左上和右上分別表示的是通道1和通道2中IQ兩路的自相關(guān)量,左下和右下表示通道1和通道2中IQ兩路的復(fù)相關(guān)量。
從圖中可以直觀觀測(cè)4個(gè)Stokes信號(hào)隨相位延遲版角度變化的趨勢(shì)以及動(dòng)態(tài)范圍,可以檢驗(yàn)接收機(jī)通道間的功率和相位是否一致。
圖7 極化信息顯示
本文針對(duì)微波輻射計(jì)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)了基于Qt的上位機(jī)軟件[17]。首先對(duì)直接檢波和數(shù)字相關(guān)型微波輻射計(jì)系統(tǒng)進(jìn)行了介紹,根據(jù)微波輻射計(jì)數(shù)據(jù)接口的不同,實(shí)現(xiàn)了上位機(jī)軟件與空間中心設(shè)計(jì)的微波輻射計(jì)系統(tǒng)數(shù)控單元的串口與UDP通信。該上位機(jī)軟件提供了友好的用戶(hù)使用界面,能夠用便捷的操作實(shí)現(xiàn)對(duì)數(shù)據(jù)的傳輸、處理和圖形的展示,提高了測(cè)試接收機(jī)性能和觀測(cè)目標(biāo)的輻射分布信息的速度和效率。