鄂爾多斯應用技術學院 楊 元
鄂爾多斯生態環境監測站 郭 慶
為有效地管理和使用無線電資源,有必要對無線數傳電臺的使用進行監控。本文設計利用GPS接收器、數據采集卡和上位機搭建車載監控系統,建立數據采集和處理平臺實現對電臺使用情況的監測,同時結合GIS技術對電臺經緯度信息進行分析,統計數量,在電子地圖中實時顯示定位電臺的位置。
無線數傳電臺是VHF/UHF超短波無線通信領域中比較專業的通信設備,無線電管理部門特別為其劃出專用通信頻段。由于近年無線頻譜資源的短缺,為有效管理使用無線電資源,有必要對無線數傳電臺的使用進行監測。本設計的主要任務是監測無線數據電臺的頻率使用情況,分析經緯度信息,統計電臺的數量,并在電子地圖上實時顯示電臺的位置。系統為車載移動監測系統,主要用于對分析無線數傳電臺的使用情況及對新建電臺的測試。
系統由無線電信號采集模塊和經緯度信號收集模塊組成。無線電信號采集模塊包括:高頻無線接收機、PCI高速數據采集卡、上位機;經緯度信號收集模塊為帶USB口的GPS接收機一臺,與上位機通過USB口數據線相連接。設計利用Visual C++進行程序開發,通過對MapX工具的二次開發實現電臺的定位和顯示功能。
系統工作流程:將硬件設備安裝至監測車輛,高頻無線接收器實時掃描并接收無線電信號,信號調理模塊對接收信號進行放大和濾波,數據采集卡采集調理后的信號,并將其由模擬信號轉換成數字信號,存儲至上位機的數據庫,應用程序從數據庫中讀取數據,進行中頻信號和基帶信號處理;同時GPS接收機收集車載終端位置信息存儲至上位機的數據庫,應用程序通過數據分析實現對數傳電臺的定位及地圖顯示(如圖1所示)。

圖1 系統硬件組成
行車軌跡及電臺位置的描繪需要從GPS接收機得到經緯度數據,本設計對經緯度精度要求不高,只需從GPS接收機中提取出經緯度即可,至于其它信息如角度偏差等矯正經緯度精度的信息可省略接收。GPS數據采集程序采用GPS的異步串行傳送方式,通過將USB口轉D型RS232C串行口,采集遵循NMEA0183協議的GPS數據。
NMEA-0183標準下可輸出六種類型的數據。本設計中經緯度是從GPGGA類型語句中直接提取的,所以只介紹GPGGA語句的數據格式。例如:

該語句中所對應的含義為:所在位置為北緯37.232475,西經121.583416.。
實現串行通信的方法主要有兩種:調用API函數編寫通信程序、利用框架類MSComm控件實現通信。MSComm控件是開發環境自帶的控件,可靠性比調用API函數好,采用這種方式通信,能減少開發時間,而且保證系統的穩定運行,因此采用MSComm控件實現串行通信。
將MSComm控件加載到程序中后,將其添加為成員變量,然后對串口端口進行初始化設置,包括端口的選擇,端口參數的設置,設置好后就可接收從GPS上傳到串口中的數據,并將經緯度數據從中提取出來保存到數據庫當中。具體做法如下:
(1)從串口接收GPS數據。
(2)從得到的數據中提取以GPGGA打頭的GPS語句。
(3)根據NMEA0183協議中介紹的GPGGA語句格式從中提取出經緯度信息。
(4)將經緯度信息保存到數據表中。
數據庫表中保存了電臺的有用信息,包括信號強度、經緯度、地址碼及接收時間以等。通過數據查詢比對,在同一電臺地址碼下,尋找強度相等的兩組經緯度信息,經過計算得到電臺的位置。
電子地圖的坐標系統在初始化時設定為默認屬性,電臺的平面坐標與經緯度坐標要進行轉換,MapX才能描繪出電臺的實際位置。在數據庫中查找同一地址碼下的四組經緯度數據,考慮電臺位置在強度相同的兩個點的中垂線上,那么計算兩條中垂線的交點坐標就可確定這個電臺的位置(如圖2所示)。

圖2 電臺位置計算坐標圖
計算原理:X-Y坐標系中,同一地址碼的四組經緯度坐標為A0(x0,y0)、A1(x1,y1)、A2(x2,y2)、A3(x3,y3),其中A0點和A1點的強度相等,A2點和A3點的強度相等,那么A4點的坐標(x,y)可以通過解線性方程的方法來得到。這里直接給出結果:

由無線接收機接收到的數據經過處理后,經過線性方程組解出電臺的位置,將與電臺相關的數據存入到數據庫中,并將電臺位置顯示在電子地圖的圖層上。
電子地圖的創建可按以下步驟來實現:
第一步:加載源文件及頭文件。將MapX工具根目錄下的MapX.cpp及MapX.h文件添加到Visual C++工程中,并將兩個文件拷貝至工程目錄下。
第二步:定義一個CMapx對象m_ ctrlMapX,將地圖文件導入到程序中。
第三步:聲明一個常量IDC_MAP。
第四步:在類向導中為電子地圖界面創建WM_SIZE和WM_CREATE消息處理函數。
第五步:在類向導中為電子地圖界面創建WM_SETFOCUS的處理消息函數,以確保當窗口處于活動狀態時獲取焦點。
地理數據在計算機中的表達方式有四種:柵格表示法 、矢量表示法 、柵格和矢量的圖形表示法和面向對象表示法 。為了將真實的地理信息在計算機中進行表示和存儲,在使用柵格和矢量數據模型的地理信息系統中,采用分層組織,“層”是指地理特征及屬性在邏輯上的集合,它包含以特定柵格或矢量數據結構組織的同一類型地理實體的定位和屬性數據。
考慮到本設計的實際用途是要描繪監測車行車軌跡以及電臺位置,因此只需要使用電子地圖基本的繪圖編輯功能,即基本圖元點的添加、刪除和編輯。具體步驟為:
第一步:圖元樣式設置。MapX可提供點、線、面及標注的設置對話框,通過調用該對話框,可以修改默認樣式,這是一種批量添加圖元的簡單方法。調用代碼如下:
CMapXStyle style= m_ctrlMapX.GetDefaultstyleO;//獲取默認工具
Style.PicksSymbol();//調用符號選取對話框
第二步:圖層編輯設置,設置為插入圖層。
Layer.SetEditable(TRUE);//設置圖層為可編輯
m_ctrlMapX.GetuyersO.Sethisertionuyer(layer.m_lpDispateh)://插入圖層
第三步:點圖元的添加及刪除。
M_ctrlMapX.setCurrentTool(miaddpointTool)://添加點圖元
點圖元的刪除:首先將圖元所在圖層設置為當前編輯圖層,選定需刪除的圖元,按delete鍵即可。
小結:本設計主要實現四個功能:(1)利用MapX實現程序對電子地圖的開發利用;(2)通過MScomm控件實現GPS數據的接收;(3)在電子地圖上繪制監測車輛行車軌跡并保存數據;(4)通過電臺定位算法得到電臺經緯度,在電子地圖上描繪電臺位置。在無線電頻率日益緊張的今天,對無線電實現優化管理,研制性能優良的無線電監測機勢在必行。