陳鐘榮 洪滔
關鍵詞: 移動端; 天氣雷達; Java; 實時管理; 聚類分析; 存儲優(yōu)化
中圖分類號: TN919.5?34 ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼: A ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)02?0062?05
Design of mobile terminal weather radar management system based
on Java and clustering analysis
CHEN Zhongrong1,2, HONG Tao1,2
(1. Key Laboratory for Aerosol?Cloud?Precipitation of China Meteorological Administration, Nanjing 210044, China;
2. School of Atmospheric Physics, Nanjing University of Information Science & Technology, Nanjing 210044, China)
Abstract: The traditional weather radar management system taking the computer as the terminal has poor flexibility and openness due to the constraints of time and location, simple data storage process, low data recognition degree, and lacks real?time weather information. Therefore, a new thought of mobile terminal weather radar real?time management system is proposed in combination with the Java language and database technology. The disadvantages existing in available radar systems are solved by using the mobile phone terminal and data storage optimization. On the basis of database and Android technologies, the software system is designed by using the MVC mode, so as to realize functions of remote control, product display and fault warning on the mobile terminal. On the basis of strong echo positioning algorithm and Baidu weather API, recognition and positioning of several strong radar data centers are realized, the real?time weather condition of the longitude and latitude is obtained, and the correlation between radar data storage and corresponding weather process is realized, so as to facilitate the subsequent data processing and application. The test results show that the designed system can effectively conduct radar control, product real?time display, fault warning, realize convenience of radar data application and retrieval, and has high flexibility and reliability by locating radar data according to weather conditions.
Keywords: mobile terminal; weather radar; Java; real?time management; clustering analysis; storage optimization
雷達聯合自動氣象站進行降水估測是氣象業(yè)務應用的重要方向 [1]。傳統(tǒng)的天氣雷達管理系統(tǒng)大部分采用計算機作為控制終端,雷達主體和機房分離,在使用過程中受到時間和地點等因素的影響,極大地降低了使用及維修的靈活性和開放性。同時,傳統(tǒng)天氣雷達在數據存儲時比較簡單,缺少對數據的分類以及與實時天氣信息的結合,會造成存儲數據數量繁雜,數據檢索雜亂無章,不利于后續(xù)的資料處理和應用。隨著網絡技術的進步和移動設備的發(fā)展,對天氣雷達系統(tǒng)的便攜性、易操作性和可靠性提出了越來越高的要求。因此,本文綜合運用數據庫和Android開發(fā)技術,設計一套移動端天氣雷達實時管理系統(tǒng)。
圖1為本文設計的移動端天氣雷達實時采集與管理系統(tǒng)的總體框架圖,主要分為雷達監(jiān)測終端、數據庫和移動控制終端三個部分。
監(jiān)測終端通過中頻信號采集模塊將雷達數據傳輸到PC端存儲到數據庫中,并通過控制模塊接收用戶指令發(fā)送驅動信號;數據庫基于優(yōu)化算法合理存儲雷達基數據,以便于客戶端調用,并實現數據檢索功能;移動控制終端是系統(tǒng)與用戶交互的平臺,包括產品顯示、控制和故障預警等功能[2]。
系統(tǒng)硬件由數據采集模塊和控制模塊兩部分組成。數據采集模塊主要用來采集和處理雷達中頻信號,由信號調理電路、A/D轉換電路、FPGA可編程電路和電源模塊等重要部分構成[3]。雷達控制模塊由天線控制器、方位/俯仰角驅動裝置、方位/俯仰角數據采集裝置、電機和旋轉變壓器等構成。其中,控制器是核心,由其控制天線的各種掃描狀態(tài),傳送天線的角碼數據,完成天線位置和速度的閉環(huán)控制。
系統(tǒng)軟件設計使用C/S架構,運用MVC的開發(fā)形式,包括數據庫和移動控制終端兩部分。所謂MVC模式,是“模型?視圖?控制器”模式的縮寫,通過將業(yè)務邏輯層、數據層與界面顯示層分離的方法來減弱層間關聯度,從而獲得較高的系統(tǒng)穩(wěn)定性和良好的可移植性[4]。本系統(tǒng)MVC模式的設計流程如圖2所示。
3.1 ?數據存儲優(yōu)化的實現
雷達數據存儲優(yōu)化的核心在于識別出有強回波的觀測數據,并且由強回波距離雷達中心位置推得其經緯度,從而利用百度天氣API接口獲取該經緯度的實時天氣信息,實現雷達數據存儲與對應天氣過程的關聯。
3.1.1 ?強回波定位算法的實現
本文提出的強回波定位算法基于強度閾值判斷和系統(tǒng)聚類分析。首先根據經驗設定強度閾值,將高于強度閾值的數據篩選出來作為聚類分析的樣本,這樣做既有利于提高算法的針對性,也降低了分析的數據量。 然后,利用系統(tǒng)聚類分析方法對樣本進行聚類,并實現對強回波的定位,步驟如下。
步驟1:將強度數據映射為一個有n個樣品的P元數據矩陣,
[X=x11x12…x1px21x22…x2p????xn1xn2…xnp] ? ? ? ? (1)
式中:每一行表示一個樣本,即一個數據;每一列表示一個指標,本算法中包括方位角、距離庫和強度值3個指標;[xij]表示第i個樣本關于第j項指標的值。
步驟2:選擇樣本間距離的定義及類間距離的定義,每兩個樣本之間的距離記為[d(xi,xj)],根據計算方法的不同,主要分為歐氏距離、絕對距離、明氏距離、方差加權距離和馬氏距離等。類間距離則取決于各自類中樣本的選取,以選取的樣本距離作為類間距離,根據選取方式的不同,分為最短距離、最長距離、中間距離、重心距離和離差平方和距離等。系統(tǒng)聚類法的聚類原則決定于樣本間的距離以及類間距離的定義,不同的選擇產生不同的系統(tǒng)聚類分析效果,以復合相關系數來衡量聚類效果,該系數越接近于1,則該聚類越理想。某次個例分析相關指標如表1所示。
復合相關系數越大,聚類分析效果越好,選擇樣本間距離為歐式距離或明氏距離,類間距離為重心距離,比較合理。
步驟3:選擇明氏距離和重心距離,分別如式(2)和式(3)所示。其中,[m]是可變參數,[xp]和[xq]分別是[p],[q]兩個類的重心。計算n個樣本兩兩之間的距離,得到距離矩陣[D=(dij)]。構造兩個類,每類只含有一個樣本。
[d(xi,xj)=k=1Pxik-xjkm1m] (2)
[Dpq=d(xp,xq)=(xp-xq)T(xp-xq)] (3)
步驟4:合并符合類間距離定義要求的兩類為一個新類。
步驟5:計算新類與當前各類的距離,重復執(zhí)行步驟4和步驟5。
步驟6:遍歷不同的類數,測試每種聚類數下得到的聚類情況下的類間距離,選擇類間距離最大的聚類數。
步驟7:每一個聚類對應一個強回波區(qū)域,計算每一個聚類里方位角和距離庫指標集合的重心,以此作為這一個強回波的坐標。
步驟8:根據經緯度轉換公式和中心的經緯度,由此計算得到每一個強回波區(qū)域的經緯度值[5]。
3.1.2 ?實時天氣信息獲取
百度提供天氣預報查詢接口API,可以根據經緯度或城市名查詢天氣情況,申請使用者密鑰之后可以在應用中使用。由強回波定位算法得到每一個強回波的經緯度,通過調用百度天氣API,請求該經緯度的實時天氣數據。返回數據選取JSON格式,根據需要解析提取出溫度、氣壓、風向、風力、濕度和天氣狀況信息。
3.2 ?數據庫具體設計
Microsoft SQL Server 是一個全面的數據庫平臺,由一組數量龐大的資源庫組成,提供了強大的可視化界面、高度集成的管理開發(fā)工具,功能全面,操作便捷,在實際開發(fā)應用中具有突出的優(yōu)點。本文針對天氣雷達系統(tǒng)的需求,基于SQL Server 2012,運用數據庫技術對大量雷達基數據進行存儲和管理,數據庫核心部分被劃分為4個科學合理的功能模塊,設計成相互關聯的數據表形式如圖3所示。
數據庫主要關注雷達的基數據、故障數據及實時天氣信息,RadarHeader是體掃基數據信息關系表,代表一次存儲過程,是整個數據庫的核心,包括數據文件名、存儲時間、雷達參數等字段,這些字段對應雷達數據的頭文件;DataKind是數據類型表,對應雷達基數據的三種類型:強度、速度和譜寬,分類儲存雖然占用內存,但是可以讓數據庫結構設計更加科學合理,也有利于提高數據檢索查詢的速度;DataCollection是數據存儲表,包含仰角、方位角和距離庫等字段,對應數據的存儲方式[6];FaultMessage是雷達故障信息表,指示雷達的工作狀態(tài),存儲雷達的故障情況[7];WeatherInfo是實時天氣信息表,記錄強回波區(qū)域的實時天氣信息。這5張表通過主外鍵相互關聯,并且以此為核心展開其他功能。
3.3 ?移動控制終端設計
移動控制終端采用Java語言,基于Android平臺設計,包括雷達產品實時發(fā)布、雷達控制和故障預警三個部分。移動終端主要功能如圖4所示。
3.3.1 ?雷達實時發(fā)布
雷達實時發(fā)布包括狀態(tài)發(fā)布和產品發(fā)布兩個部分,需要解決屏幕刷新頻繁帶來的CPU使用效率問題和顯示內容繁雜帶來的界面分布問題[8]。
由于SurfaceView類更適合畫面頻繁刷新的情況,因此采用SurfaceView類作為顯示基類[9]。畫面渲染采用雙緩沖機制,接收數據的同時,將數據渲染到緩存中,在設備執(zhí)行刷新時將緩存中的圖像直接呈現到屏幕上,避免了直接在屏幕上繪圖時出現的明顯閃爍。同時,UI界面和后臺進程分離,數據處理等線程放在后臺進行,在UI渲染時動態(tài)地通過通信機制調用所需要的數據,提高軟件的運行效率。
使用卡片式布局方式設計顯示界面,在分散的卡片式窗口控件中分別展示雷達掃描的狀態(tài)信息和雷達掃描產品,該設計可以為主要的雷達產品留出更大的顯示空間,也使狀態(tài)信息展示更加充分并且條理清晰。
3.3.2 ?雷達實時控制
雷達控制功能是系統(tǒng)的另一個重要部分。設計雷達開機、關機、仰角、方位角、工作模式以及掃描周期等選項和按鈕,通過編寫相應的代碼來響應不同的事件,從而向雷達控制模塊發(fā)送控制指令,實現對雷達不同部件的控制功能,使雷達可以用特定掃描方式觀測目標物;同時,也方便了對雷達系統(tǒng)的保障維護。
3.3.3 ?故障預警
故障預警功能是在雷達數據產品生成之前,檢索數據庫中存儲的雷達故障信息,對天線座、功率放大器、電機等部件進行狀態(tài)檢測與故障定位,一旦發(fā)現故障,需要定位到最小可更換單元,并在客戶端通知用戶進行檢修和維護。其中,雷達故障信息包括天線座來的方位、俯仰電機過溫信號,方位、俯仰軸鎖定信號,方位、俯仰減速箱油位信號,方位大齒輪油位信號,俯仰預限位、死區(qū)限位信號,天線座互鎖信號以及功率放大單元內的過壓和欠壓信號,方位、俯仰功率放大器的短路、過溫和電源信號等。故障預警功能有利于及時發(fā)現故障,提高雷達故障排除的時效性[10]。
同時,系統(tǒng)還收錄了雷達常見故障分析和排除案例的匯編,當用戶遇到故障時,可以參考匯編中的案例解決問題。此外,系統(tǒng)還整理了饋線系統(tǒng)、天線座、伺服系統(tǒng)等維護和保養(yǎng)的注意事項。
4.1 ?強回波定位算法測試
選取20個具有代表性的雷達數據作為樣本測試算法對雷達強回波定位的準確度,準確度用算法定位的強回波個數與人工統(tǒng)計的強回波個數的比值來衡量,統(tǒng)計結果如圖5所示。測試結果表明準確率分布在0.7~1之間,基本可以做到對數據中強回波區(qū)域的識別與定位。其中,準確率較低的幾個點是因為樣本數據的強回波過于密集,有些區(qū)域連成一片,會導致算法的誤判增多,對于強回波較為獨立稀疏的數據樣本,準確度則明顯提高。
4.2 ?軟件測試
系統(tǒng)設計完成后,對系統(tǒng)進行一次實際接入測試。在系統(tǒng)控制界面設置掃描模式參數為PPI模式,仰角參數為2.4°,其他參數為默認值,控制雷達進行一次觀測,通過移動終端查看雷達的掃描結果以及故障狀態(tài)。測試結果界面如圖6所示。其中,圖6a)為雷達狀態(tài)信息和掃描產品顯示的實現界面,用戶可以在該界面查看掃描參數及結果;圖6b)為雷達故障預警功能的實現界面,用戶可以看到各模塊的狀態(tài)邏輯值,并判斷該模塊工作狀態(tài)是否正常。測試結果表明,移動終端能夠準確快速傳送控制指令,并調用和顯示掃描結果及故障信息,達到了預期的設計目標。
本文設計一套基于數據庫、Android技術的移動端天氣雷達實時管理系統(tǒng),實現了雷達中頻信號的采集與存儲、移動端實時顯示與控制以及故障預警等基礎功能?;趶娀夭ǘㄎ凰惴ê桶俣忍鞖釧PI,實現雷達數據存儲與對應天氣過程的關聯的新功能,便于后續(xù)的資料處理和應用。系統(tǒng)采用分層結構的開發(fā)策略,有利于系統(tǒng)的維護和提高管理效率。測試結果表明,整個系統(tǒng)具有較高的便利性和可靠性,能滿足用戶對于便攜性與開放性的要求,有一定的推廣價值和應用前景。當然,該系統(tǒng)在雷達回波分類管理的豐富度和算法的精細度上仍有不足,需要在接下來的研究中進一步完善。
參考文獻
[1] 劉黎平,葛潤生,張沛源.雙線偏振多普勒天氣雷達遙測降水強度和液態(tài)含水量的方法和精度研究[J].大氣科學,2002,26(5):709?720.
LIU Liping, GE Runsheng, ZHANG Peiyuan. A study of method and accuracy of rainfall rate and liquid water content measurements by dual linear polarization Doppler radar [J]. Chinese journal of atmospheric sciences, 2002, 26(5): 709?720.
[2] 黃鈴光,黃興友,杜文婷,等.新一代氣象雷達顯示系統(tǒng)的設計與實現[J].信息化研究,2012,38(3):14?18.
HUANG Lingguang, HUANG Xingyou, DU Wenting, et al. Design and realization of CINRAD visualization system [J]. Informatization research, 2012, 38(3): 14?18.
[3] 胡焱.基于FPGA+DSP的數字中頻收發(fā)機的設計[J].現代電子技術,2016,39(15):78?80.
HU Yan. Design of digital IF transceiver based on FPGA+DSP [J]. Modern electronics technique, 2016, 39(15): 78?80.
[4] 孫永彥,楊晶.基于MVC的電網工程造價管理系統(tǒng)的開發(fā)與設計[J].現代電子技術,2017,40(22):19?21.
SUN Yongyan, YANG Jing. Development and design of power grid project cost management system based on MVC [J]. Modern electronics technique, 2017, 40(22): 19?21.
[5] 嚴宇平,蕭展輝.基于聚類分析的離群檢測方法在電網數據質量管理中的應用研究[J].現代電子技術,2016,39(15):137?139.
YAN Yuping, XIAO Zhanhui. Application of outlier detection method based on cluster analysis in power grid data quality management [J]. Modern electronics technique, 2016, 39(15): 137?139.
[6] 姜小云,吳俞.新一代天氣雷達基數據管理與個例整編系統(tǒng)設計[J].氣象科技,2015,43(4):612?616.
JIANG Xiaoyun, WU Yu. System design of raw data management and case compilation for new generation weather radar [J]. Meteorological science and technology, 2015, 43(4): 612?616.
[7] 王志武,盧興來,陳昊.天氣雷達測試維修數據庫的設計及應用[J].氣象科技,2016,44(6):896?901.
WANG Zhiwu, LU Xinglai, CHEN Hao. Design and application of test and maintenance database for weather radar [J]. Meteorological science and technology, 2016, 44(6): 896?901.
[8] 趙紅超,李琦,韓瑾,等.基于Android平臺的實時監(jiān)控系統(tǒng)客戶端設計[J].電視技術,2015,39(20):111?114.
ZHAO Hongchao, LI Qi, HAN Jin, et al. Design of real?time monitoring system client based on Android platform [J]. Video engineering, 2015, 39(20): 111?114.
[9] 高明華,許麗金,柯成成,等.基于Android便攜式人體健康監(jiān)測系統(tǒng)設計[J].現代電子技術,2017,40(12):86?89.
GAO Minghua, XU Lijin, KE Chengcheng, et al. Design of portable health monitoring system based on Android [J]. Modern electronics technique, 2017, 40(12): 86?89.
[10] 李廣海,陸曼曼.新一代天氣雷達資料傳輸監(jiān)控與故障診斷系統(tǒng)[J].氣象研究與應用,2013,34(2):68?73.
LI Guanghai, LU Manman. System of the CINRAD data transmission monitoring and its fault diagnosis [J]. Journal of meteorological research and application, 2013, 34(2): 68?73.