馮姣 陳蘇婷 李鵬
摘 ?要: 北斗衛(wèi)星單次短報文通信數(shù)據(jù)量及服務頻率限制了長預警信息數(shù)據(jù)的傳輸。針對該問題,通過研究預警信息數(shù)據(jù)協(xié)議,設計預警信息壓縮傳輸系統(tǒng)。為了提高預警信息傳輸效率,設計一種基于固定位長和RLE算法的混合壓縮編碼;為了提高預警信息傳輸成功率,設計基于預警信息壓縮包的傳輸協(xié)議。此外,利用圖形界面語言Qt完成人機交互界面并實現(xiàn)了預警信息壓縮包的解碼。最后,設計基于誤報避免機制的預警信息顯示,并給出算法的流程。實驗結(jié)果表明,所設計的預警信息壓縮傳輸系統(tǒng)能夠有效地提高長預警信息數(shù)據(jù)傳輸效率和傳輸成功率,而且可在相關基于北斗衛(wèi)星的預警信息發(fā)布系統(tǒng)中作為參考。
關鍵詞: 北斗衛(wèi)星; 預警信息; 壓縮傳輸系統(tǒng); 壓縮編碼; 傳輸協(xié)議; 誤報避免機制
中圖分類號: TN911.2?34 ? ? ? ? ? ? ? ? ? ? ?文獻標識碼: A ? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2019)10?0118?06
Design and implementation of an early?warning information compressed
transmission system for Beidou satellite
FENG Jiao1, CHEN Suting1,2,3, LI Peng1,2
(1. School of Electronic and Information Engineering, Nanjing University of Information Science & Technology, Nanjing 210044, China;
2. Jiangsu Collaborative Innovation Center of Atmospheric Environment and Equipment Technology, Nanjing University of Information
Science & Technology, Nanjing 210044, China; 3. Jiangsu Key Laboratory of Meteorological Observation and Information Processing,
Nanjing University of Information Science & Technology, Nanjing 210044, China)
Abstract: Since the communication data quantity of the single?time short message and service frequency of the Beidou satellite limit the transmission of the long early?warning information data, an early?warning information compressed transmission system is designed by studying the early?warning information data protocol. A hybrid compressed encoding based on fixed bit length and RLE algorithm is designed to improve the transmission efficiency of early?warning information. The transmission protocol based on the compressed packet of early?warning information is designed to improve the transmission success rate of early?warning information. The human?computer interactive interface is completed and the decoding of the early?warning information compressed packet is realized by means of the Qt graphical interface language. The early?warning information display based on the false alarm avoidance mechanism is designed, and the flow chart of the algorithm is given. The experimental results show that the designed early?warning information compressed transmission system can significantly improve the transmission efficiency and success rate of long early?warning information data, which can be used as a reference in relevant early?warning information release systems of the Beidou satellite.
Keywords: Beidou satellite; early?warning information; compressed transmission system; compressed encoding; transmission protocol; false alarm avoidance mechanism
0 ?引 ?言
及時發(fā)布預警信息可以有效減小可能受災害地區(qū)的人員傷亡和財產(chǎn)損失?;诒倍沸l(wèi)星的短報文通信系統(tǒng)可以有效提高預警信息發(fā)布的覆蓋范圍和時效性,是對傳統(tǒng)預警信息發(fā)布渠道的重要補充[1?2]。
北斗衛(wèi)星數(shù)據(jù)通信基于短報文傳輸機制,但預警信息的數(shù)據(jù)量遠大于短報文單次通信數(shù)據(jù)量。由于預警信息數(shù)據(jù)長度超出北斗衛(wèi)星的短報文通信系統(tǒng)的單次最大通信量,需要將預警信息數(shù)據(jù)拆成多個包進行傳輸。預警信息數(shù)據(jù)越長,分包數(shù)越多[3],成功接收一條完整預警信息的概率越小。例如:CDT?441型北斗用戶機民用級別單次最大通信量為78.5 B,要將數(shù)據(jù)協(xié)議長度為340 B左右的預警信息發(fā)送至相關部門,需將數(shù)據(jù)分5個包進行發(fā)送。而短報文通信服務頻度為1 min,所以一條預警信息最小發(fā)送周期為5 min;同時,北斗短報文通信存在丟包率[P],當一個數(shù)據(jù)包發(fā)生丟失時[4],可能會造成整條預警信息的信息丟失,則一條被拆分成[n]個包的預警信息成功發(fā)送的概率[S=(1-P)n]。由此可知,隨著預警信息數(shù)據(jù)量增加,拆分的包變多,則成功接收一條完整的預警信息的概率呈遞減趨勢。
目前,北斗衛(wèi)星在預警信息發(fā)布領域提出了聯(lián)合補包傳輸協(xié)議[5]和指揮機多通播ID并發(fā)[6]的方法減少預警信息的發(fā)布時間和發(fā)布次數(shù),但仍未解決預警信息數(shù)據(jù)量大,傳輸成本高的問題。本文在深入研究了預警信息數(shù)據(jù)協(xié)議后,設計了預警信息壓縮傳輸系統(tǒng)。為了提高預警信息傳輸效率,本文提出一種基于固定位長和RLE (Run?Length Encoding)算法[7]的混合壓縮編碼算法。此外,為了提高了預警信息的傳輸成功率,本文設計了基于預警信息壓縮包的傳輸協(xié)議,并利用圖形界面語言Qt完成了人機交互界面,實現(xiàn)了預警信息壓縮包的解碼。最后,本文設計基于誤報避免機制的預警信息顯示,并給出了算法的流程。
1 ?系統(tǒng)方案
在預警信息發(fā)布體系中,預警信息必須由地面控制中心(政府或其授權(quán)的有關部門或單位)發(fā)布,利用北斗指揮機通播功能可以保證及時發(fā)布預警信息。在這種模式下,系統(tǒng)由發(fā)布主站、地面控制中心和客戶端組成,系統(tǒng)結(jié)構(gòu)如圖1所示。發(fā)布主站包括發(fā)布服務器,數(shù)據(jù)壓縮編碼模塊和北斗用戶機;地面控制中心由北斗指揮機和指揮中心服務器組成;客戶端包括所在預警區(qū)域的多臺預警終端。
當災害可能發(fā)生時,發(fā)布服務器提供相應預警信息,預警信息經(jīng)過壓縮編碼后,通過發(fā)布主站的北斗用戶機,將壓縮數(shù)據(jù)發(fā)送到北斗衛(wèi)星;衛(wèi)星將壓縮數(shù)據(jù)轉(zhuǎn)送到地面控制中心,控制中心經(jīng)過解析后,獲得完整的預警信息;控制中心利用北斗指揮機將預警信息壓縮包再次發(fā)送至北斗衛(wèi)星;最終,預警終端接收相應的壓縮數(shù)據(jù),解析數(shù)據(jù)后,獲得完整預警信息,并做出相應防范措施。
圖1 ?預警信息發(fā)布系統(tǒng)結(jié)構(gòu)圖
2 預警信息壓縮編碼設計
為了減少預警信息的數(shù)據(jù)量和傳輸成本,本文提出一種基于固定位長編碼和RLE編碼的混合壓縮編碼方式。混合壓縮編碼針對大量重復出現(xiàn)的字符,有極強的適應性。在使用RLE編碼時,兼顧考慮了固定位長編碼的使用條件,保證了兩種無損壓縮算法的兼容性。
2.1 ?預警信息數(shù)據(jù)協(xié)議
預警信息發(fā)布采用中文文本方式,每條預警信息由4部分組成:起始行、報頭行、正文行、結(jié)束行,4部分內(nèi)容以換行符為間隔。其中,報頭行具體分為以下5段:發(fā)布部門及發(fā)布單位、發(fā)布時間、警報類型、影響范圍、影響中心及半徑,使用ASCII碼進行編碼,5段內(nèi)容以換行符間隔[8]。
預警信息數(shù)據(jù)協(xié)議如表1所示。
2.2 ?混合壓縮編碼
對GB2312編碼的無規(guī)則漢字進行壓縮難度較大,壓縮率較低。針對該問題,本文針對預警信息的報頭行提出一種基于固定位長編碼和RLE編碼的混合壓縮編碼方式。該混合算法對預警信息出現(xiàn)的高冗余字符或字符串有較高的壓縮效率,且均為無損壓縮,保證了壓縮后預警信息的信息量不會減少?;旌纤惴〝?shù)據(jù)見圖2。
圖2 ?算法數(shù)據(jù)處理流程
具體實現(xiàn)步驟如下:
1) 對識別后的數(shù)據(jù)預處理。整理預警信息的標志位等輔助信息并調(diào)整數(shù)據(jù)格式。
2) 運用RLE編碼壓縮報頭行內(nèi)的重復字符串。結(jié)合固定位長算法的特點,預設字符選擇為0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,以保證預設字符滿足兩種算法的兼容性。
3) 對新的報頭行采用固定位長算法進行編碼。數(shù)字的ASCII碼值范圍為0x30~0x39,與預設字符的高位相同,可進一步提高數(shù)據(jù)壓縮率。
4) 對數(shù)據(jù)進行整理,并添加相應的標記位。保證預警信息壓縮包在進行數(shù)據(jù)解碼時,系統(tǒng)能夠識別報頭行內(nèi)各信息要素。
3 ?基于預警信息壓縮包的傳輸協(xié)議設計
為提高預警信息的衛(wèi)星傳輸成功率,本文設計了基于預警信息壓縮包的預警信息傳輸協(xié)議,如圖3所示。
圖3描述了預警信息的編碼過程,協(xié)議底層是由服務器發(fā)布原始預警信息,[K]表示相應的區(qū)域碼取值。經(jīng)過數(shù)據(jù)壓縮后,得到預警信息壓縮包;然后,把預警信息壓縮包當作電文內(nèi)容進行封裝,上層協(xié)議完全按照短報文通信格式組織數(shù)據(jù),接收地址(ID號)為災害發(fā)生區(qū)域?qū)倍仿?lián)絡設備的ID號。
發(fā)送一條被拆分為[N]個包的預警信息,北斗短報文通信理論丟包率為[P]。本協(xié)議與聯(lián)合補包傳輸協(xié)議性能對比如表2所示。從表中可以看出,在發(fā)送周期相同的情況下,在本文傳輸協(xié)議體系下的系統(tǒng)結(jié)構(gòu)簡單,成本低,預警信息發(fā)送理論成功率更高。
圖3 ?預警信息衛(wèi)星傳輸協(xié)議
4 ?預警信息發(fā)布與播報
4.1 預警信息發(fā)布平臺
地面控制中心為工作人員提供預警信息編輯、校對、發(fā)布的工作界面[9]。為減小預警信息播報平臺搭建的工作量,本文使用可跨平臺GUI系統(tǒng)Qt作為開發(fā)工具,選擇SQlite3作為數(shù)據(jù)庫[10?12],數(shù)據(jù)庫內(nèi)保存了預警信息的政府機構(gòu)、部門、行業(yè)代碼[13],以及《中華人民共和國行政區(qū)劃代碼》[14]等。預警信息發(fā)布界面如圖4所示。
圖4 ?預警信息發(fā)布界面
圖5展示了地面控制中心框架圖。預警信息發(fā)布的具體實現(xiàn)流程如下:
1) 接收來自北斗模塊壓縮數(shù)據(jù)包。通過北斗指揮機接收來自地面控制中心的北斗短報文,其中包含預警信息壓縮數(shù)據(jù)包。
2) 壓縮數(shù)據(jù)包預處理。根據(jù)短報文通信回執(zhí)協(xié)議,按位提取相應壓縮數(shù)據(jù),并利用QString類函數(shù)QString.split(const QString ?&str)對預警信息標記位進行預處理。
3) 預警信息報頭行數(shù)據(jù)解析。使用QString類函數(shù)QString.replace(const QString ?&str,const QString
&str)按照RLE編碼表進行反演,得到完整的報頭行數(shù)據(jù)。
4) 編輯和校對預警信息正文行。通過查詢法根據(jù)數(shù)據(jù)庫內(nèi)預警信息的政府機構(gòu)、部門、行業(yè)代碼, 以及《中華人民共和國行政區(qū)劃代碼》得到相應的發(fā)布部門、發(fā)布單位及影響范圍;接著,按照預警信息正文行的格式順序,進行編輯、校對;最終,顯示并存儲預警信息壓縮包的解碼結(jié)果。
5) 發(fā)布預警信息。利用北斗指揮機通播功能將預警信息壓縮包發(fā)送至災害區(qū)域的北斗用戶機群。
圖5 ?地面控制中心架構(gòu)圖
4.2 基于誤報避免機制的預警信息播報
北斗信道存在不穩(wěn)定性,可能會出現(xiàn)誤報、錯報等情況。因此,本文采用了一套誤報避免機制實現(xiàn)預警信息播報[15]。誤報避免機制流程圖如圖6所示。當播報系統(tǒng)接收到預警報文時,會將預警信息的報頭行的發(fā)送時間、影響范圍分別與當時時刻和所在地行政區(qū)代碼進行對比,確保預警信息的準確性。當確定數(shù)據(jù)接收正確后,對預警信息進行解碼,解碼過程與地面控制中心一致;然后,將解碼后的內(nèi)容與列表中的報文進行對比,如果發(fā)現(xiàn)收到報文內(nèi)容為陳舊信息,則丟棄。當出現(xiàn)預警解除時,預警界面會進行超時清理,避免預警信息影響人們的正常生活和出行。
5 ?系統(tǒng)測試與驗證
本文開發(fā)的原型系統(tǒng)主要完成預警信息的壓縮編碼、數(shù)據(jù)傳輸和播報等功能。數(shù)據(jù)壓縮編碼實現(xiàn)采用MSP430作為主控芯片,配合雙通信串口,分別與發(fā)布服務器和北斗用戶機相連。在測試過程中將預警信息區(qū)域碼[K]分別設置為1,5,9,分別統(tǒng)計原始預警信息的數(shù)據(jù)量、壓縮編碼后的數(shù)據(jù)量、發(fā)送短報文條數(shù)、壓縮率及成功率。壓縮傳輸性能如表3所示。
圖6 ?誤報避免機制流程圖
由統(tǒng)計分析結(jié)果可知,預警信息的平均壓縮率最小為87.5%,且隨著區(qū)域碼[K]的增加,壓縮率也在遞增;當區(qū)域碼[K]最大時,原本需要拆分為多條短報文的預警信息被壓縮為75.5 B,該數(shù)據(jù)量小于北斗衛(wèi)星的短報文通信系統(tǒng)的單次最大通信量。因此,只需要發(fā)送一個短報文就能完整傳輸一條長預警信息,從而提高了發(fā)送效率和傳輸成功率。
6 ?結(jié) ?論
本文在分析預警信息數(shù)據(jù)結(jié)構(gòu)和傳輸協(xié)議的基礎上,提出一種預警信息壓縮編碼的設計方法。研究表明:
1) 通過研究預警信息主要信息元素,對報頭行的壓縮,實現(xiàn)了預警信息的高效壓縮,解決了預警信息單次短報文通信數(shù)據(jù)受限制的問題,提高了預警信息,特別是長預警信息的傳輸效率;
2) 在完成預警信息壓縮編碼的基礎上,利用預警信息壓縮包的傳輸協(xié)議進行數(shù)據(jù)通信,減小了系統(tǒng)構(gòu)建的成本與復雜程度,提高了衛(wèi)星通信傳輸?shù)某晒β?
3) 基于誤報避免機制完成了預警信息播報,保證了預警信息的及時性、準確性,為公眾提供了良好的預警服務。
參考文獻
[1] 裴順強,孫健,繆旭明,等.國家突發(fā)事件預警信息發(fā)布系統(tǒng)設計[J].中國應急管理,2012(8):32?35.
PEI Shunqiang, SUN Jian, MIAO Xuming, et al. Design of national emergency warning information release system [J]. China emergency management, 2012(8): 32?35.
[2] 羅慧,李良序,胡勝,等.公路交通事故與氣象條件關系及其氣象預警模型[J].應用氣象學報,2007,18(3):350?357.
LUO Hui, LI Liangxu, HU Sheng, et al. The relationship between road traffic crashes and meteorological condition with construction of its road weather warning model [J]. Journal of applied meteorological science, 2007, 18(3): 350?357.
[3] 張勇,陳蘇婷,張燕.基于北斗衛(wèi)星的自動氣象站數(shù)據(jù)傳輸管理系統(tǒng)[J].電子技術應用,2014,40(5):21?23.
ZHANG Yong, CHEN Suting, ZHANG Yan. The data transmission and management system of automatic meteorological station based on Beidou satellite [J]. Application of electronic technique, 2014, 40(5): 21?23.
[4] 鄧玉芬,張博,沈明,等.基于北斗衛(wèi)星的海洋測量數(shù)據(jù)傳輸系統(tǒng)[J].海洋測繪,2009,29(4):67?69.
DENG Yufen, ZHANG Bo, SHEN Ming, et al. Transfer system of the survey data based on the Beidou satellite navigation system [J]. Hydrographic surveying and charting, 2009, 29(4): 67?69.
[5] 王春芳,陳永濤,李春來,等.基于北斗衛(wèi)星的預警信息發(fā)布技術研究及實現(xiàn)[J].應用氣象學報,2014,25(3):375?384.
WANG Chunfang, CHEN Yongtao, LI Chunlai, et al. Technology and implementation of warning information distribution based on Beidou satellite [J]. Journal of applied meteorological science, 2014, 25(3): 375?384.
[6] 谷軍霞,王春芳,林潤生,等.基于北斗衛(wèi)星預警信息發(fā)布的通信參數(shù)設計[J].應用氣象學報,2014,25(6):761?768.
GU Junxia, WANG Chunfang, LIN Runsheng, et al. Design of communication parameters for Beidou satellite?based early warning information distribution method [J]. Journal of applied meteorological science, 2014, 25(6): 761?768.
[7] 周桂宇,馬憲民,李衛(wèi)斌.改進的混合壓縮算法在GPS數(shù)據(jù)壓縮中的應用[J].計算機應用與軟件,2013,30(12):167?169.
ZHOU Guiyu, MA Xianmin, LI Weibin. Application of improved hybrid compression algorithm in GPS data compression [J]. Computer applications and software, 2013, 30(12): 167?169.
[8] 王春芳,李春來,陳永濤,等.衛(wèi)星通信預警信息發(fā)布編碼研究[J].電信科學,2009,25(12):36?40.
WANG Chunfang, LI Chunlai, CHEN Yongtao, et al. Information encoding for satellite based alert distribution [J]. Telecommunications science, 2009, 25(12): 36?40.
[9] 王潤民,趙祥模,惠飛,等.基于嵌入式Linux與QT的汽車虛擬儀表設計[J].現(xiàn)代電子技術,2012,35(6):1?4.
WANG Runmin, ZHAO Xiangmo, HUI Fei, et al. Design of automotive vitual instrument based on embedded Linux and QT [J]. Modern electronics technique, 2012, 35(6): 1?4.
[10] 劉治國,陳新華.基于Linux和Qt的智能家居系統(tǒng)的設計與實現(xiàn)[J].電子技術應用,2012,38(4):23?26.
LIU Zhiguo, CHEN Xinhua. Design and implementation of smart home system based on Linux and Qt [J]. Application of electronic technique, 2012, 38(4): 23?26.
[11] 邱鐵,周玉,張民壘.Linux環(huán)境下Qt4圖形界面與MySQL編程[M].北京:機械工業(yè)出版社,2012.
QIU Tie, ZHOU Yu, ZHANG Minlei. Linux?based Qt4 GUI and MySQL programming [M]. Beijing: China Machine Press, 2012.
[12] 張穎,易金花,張曉玉,等.基于嵌入式Linux的上肢康復機器人用戶系統(tǒng)研究[J].電子技術應用,2014,40(5):14?17.
ZHANG Ying, YI Jinhua, ZHANG Xiaoyu, et al. A research of upper limb rehabilitation robot user system based on embedded Linux [J]. Application of electronic technique, 2014, 40(5): 14?17.
[13] 中國標準化研究院.中央黨政機關、人民團體及其他機構(gòu)代碼:GB/T 4657—2009 [S].北京:中國標準出版社,2009.
China National Institute of Standardization. Codes of Central party and state organs, people′s communities and the other state organizations: GB/T 4657—2009 [S]. Beijing: Standards Press of China, 2009.
[14] 全國信息分類編碼標準化技術委員會.中華人民共和國行政區(qū)劃代碼:GB/T 2260—2007 [S].北京:中國標準出版社,2007.
SAC/TC 353. Codes for the administrative divisions of the People′s Republic of China: GB/T 2260—2007 [S]. Beijing: Standards Press of China, 2007.
[15] 柴艷峰,熊運余,吳志紅.基于i.MX53嵌入式公交電子站牌設計[J].計算機工程與設計,2014,35(1):102?106.
CHAI Yanfeng, XIONG Yunyu, WU Zhihong. Design of embedded electronic bus?stop board based on i.MX53 [J]. Computer engineering and design, 2014, 35(1): 102?106.