蔡 黎,雷國平,吳 愚,戴閩魯,2
(1.重慶三峽學(xué)院電子與信息工程學(xué)院,重慶 404000;2.日本芝測株式會社,日本 東京 1500000)
自2006年國家廣播電影電視總局正式頒布CMMB(中國移動多媒體廣播)行業(yè)標準至今,CMMB已經(jīng)在全國近400個城市開通并商用。在CMMB布網(wǎng)建設(shè)中,如何快速分析路測CMMB信號數(shù)據(jù)成為移動多媒體廣播電視運營公司最關(guān)心的問題。目前國內(nèi)對于CMMB路測數(shù)據(jù)的分析一般都依賴升級的2G移動通信系統(tǒng)進行,能直觀分析路測結(jié)果的軟件基本沒有[1]。
本文介紹一款已經(jīng)投入商用的、基于GE地圖和KML腳本的CMMB路測分析系統(tǒng)的開發(fā)原理、流程和具體方法。
谷歌地球(Google Earth,GE)是一款由谷歌公司開發(fā)的虛擬地球儀軟件,它將衛(wèi)星照片、航空照相和GIS布置在一個地球的三維模型上,模型上的衛(wèi)星照片涵蓋了中國所有的地市級城市,能夠直觀地反映出城市的地貌情況。
本系統(tǒng)的開發(fā)以GE地圖軟件為平臺,達到將CMMB信號信息在GE地圖上直觀顯示的目的。
KML(Keyhole Markup Language)是一種采用XML語法與格式的語言[2],用于描述和保存地理信息,可以被Google Earth和Google Maps識別并顯示,KML腳本文件的擴展名也為KML。KML能夠?qū)崿F(xiàn)將附加信息實時添加到電子地圖上的目的。
本系統(tǒng)采用KML腳本作為基本語言,將分析結(jié)果轉(zhuǎn)化成KML腳本文件,供GE讀取和顯示。
根據(jù)技術(shù)分析和功能模塊的結(jié)構(gòu)劃分,按照以下步驟來實現(xiàn)快速直觀分析CMMB路測結(jié)果的目的:
1)軟件分析路測數(shù)據(jù),生成統(tǒng)計分析統(tǒng)計報告,將報告內(nèi)容轉(zhuǎn)換為KML腳本;
2)在GE中讀取生成的KML腳本直觀顯示。
因此,系統(tǒng)將分成兩個子模塊進行開發(fā),開發(fā)環(huán)境選用 VB.NET[3],子模塊框圖如圖 1 所示。
圖1 軟件子模塊圖
國內(nèi)所有的CMMB網(wǎng)絡(luò)測試儀器都定義將路測結(jié)果保存為CSV文件,CSV文件是一種用逗號分割數(shù)據(jù)的文本文件,其能被表格軟件Excel識別,和Excel表格文件完全兼容。故可在VB.net中用DAO(數(shù)據(jù)訪問對象)來調(diào)用Excel的統(tǒng)計功能對CSV文件進行統(tǒng)計和分析。程序設(shè)計具體步驟如下:
1)說明并引用對象變量。在VB.net中聲明數(shù)據(jù)庫變量,引用建立后再打開數(shù)據(jù)庫,根據(jù)CSV文件的參數(shù)指標建立記錄集。關(guān)鍵程序如下:
2)引用Excel操作統(tǒng)計數(shù)據(jù)。在VB.net中從庫列表中選擇“Microsoft Excel 9.0 Object Library”,再通過Excel的OLE(對象庫容器)對CSV文件中需要進行統(tǒng)計的指標進行操作。
路測結(jié)果需要統(tǒng)計的主要指標如表1所示。
表1 主要統(tǒng)計指標及范圍對應(yīng)表
3)保存統(tǒng)計結(jié)果為新文件。在統(tǒng)計子模塊中,Application的對象位于Excel對象模型的頂層,因此在VB.net中用Workbook新建一個Excel文件,將統(tǒng)計結(jié)果添入并保存。如:
KML生成模塊是系統(tǒng)的核心,根據(jù)KML腳本生成原理定義其主要工作流程圖(圖2)。
圖2 軟件工作流程圖
1)資源創(chuàng)建與引用。在顯示中需要用不同顏色的小圓圈來表示參數(shù)值的大小,如用紅、黃、綠的小圓圈表示不同功率的信號強度。GE地圖本身只提供單一的黃色“圖釘”地標文件,但支持本地和網(wǎng)絡(luò)地標文件的引用。因此可先利用三方軟件創(chuàng)建資源文件后在KML中引用:在PhotoShop軟件新建64×64分辨力的白色圓形PNG圖片而后引用,關(guān)鍵語句如下:
2)地理信息轉(zhuǎn)換。GE只支持WGS-84大地坐標,CSV文件格式通常為BJ-54高斯坐標,需要對其進行轉(zhuǎn)換。具體算法為:先將BJ-54高斯平面直角坐標(X,Y)轉(zhuǎn)化為大地坐標(B,L);再將三維大地坐標(B,L,H)按克拉索夫斯基橢球參數(shù)轉(zhuǎn)為三維直角坐標(X,Y,Z);然后根據(jù)公共點求轉(zhuǎn)換七參數(shù)并轉(zhuǎn)換;最后將三維直角坐標WGS-84(X,Y,Z)轉(zhuǎn)為大地坐標 WGS-84(B,L,H)。
3)創(chuàng)建KML類。KML腳本提供點、線、面、復(fù)合4種對象模型類。因為要實現(xiàn)用小圓圈顯示信號點,因此本系統(tǒng)中只用到點類對象模型。將一個測量點的經(jīng)度、緯度和參數(shù)值分別代入上述地標文件中的對應(yīng)腳本,即可得到該點的地標文件,通過以下控制點KML腳本實現(xiàn):
4)存儲輸出。直接調(diào)用VB.net中的Open方法創(chuàng)建KML文件,調(diào)用和Print方法將生成的數(shù)據(jù)寫入即可。關(guān)鍵語句如下:
在WindowsXP SP2軟件環(huán)境和TX701A信號測試儀的硬件條件下,用基于GE地圖和KML腳本的CMMB路測分析系統(tǒng)對無錫市的CMMB網(wǎng)絡(luò)路測結(jié)果[4]進行分析,成功分析統(tǒng)計數(shù)據(jù)并生成KML文件(見圖3,4)。
圖3 軟件運行界面(截圖)
圖4 統(tǒng)計數(shù)據(jù)結(jié)果(截圖)
GE 6.0版成功讀取KML腳本文件并顯示,達到預(yù)期效果,如圖5所示。
圖5 GE讀取KML腳本(截圖)
該系統(tǒng)已經(jīng)在北京神導(dǎo)、福建新大陸等移動多媒體廣播電視運營、網(wǎng)絡(luò)測試公司投入使用半年多,商用結(jié)果表明:該系統(tǒng)能夠準確地分析和顯示CMMB路測結(jié)果文件中的相關(guān)參數(shù),達到預(yù)期效果,可在移動多媒體廣播網(wǎng)絡(luò)的建設(shè)和管理中產(chǎn)生一定的經(jīng)濟和社會效益。
[1]戴閩魯.CMMB無線網(wǎng)絡(luò)測試與分析[M].北京:人民郵電出版社,2008:35-26.
[2] KML文檔簡介[EB/OL].http://code.google.com/intl/zh-CN/apis/kml/documentation/.
[3]朱慶國.利用VB訪問數(shù)據(jù)庫和操控Excel完善HBGys報表輸出[J].水科學(xué)與工程技術(shù),2011(1):86-88.
[4]張殷希.無錫CMMB的覆蓋規(guī)劃與建設(shè)[J].電視技術(shù),2011,35(3):36-39.