李志煒,傅 軍,劉李歡,韓洪祥
(1. 海參航保局,北京 100847;2.海軍工程大學,武漢 430033;3.湛江航保廠,湛江 524000)
目前,我國的無線通信系統主要采用建立地面基站的方式進行通信,但是這種無線通信方式尚未覆蓋我國的全部區域。在野外遇險以及未覆蓋區域發生重大火災等突發事件時,當事者無法及時與有關部門取得聯系從而導致救援受阻,而偏遠地區存在的通信盲區對于監控管理也帶來了極大的不便[1]。
此外,馬航MH370客機的失聯引起了社會各界的密切關注,如何實現有效的航空監管,確保航空安全,是當前亟待解決的問題。影響航空安全的因素很多,其中恐怖活動是威脅航空安全的主要原因之一,嚴重威脅乘客的生命財產安全。當前,航空監管主要采用航空雷達技術,少數飛機可以使用通信衛星,這種監控方式的成本較高,后期維護費用昂貴,增加了客機的運營成本,且存在雷達系統無法獲取飛機位置的情況。這是因為飛機處于雷達盲區,或應答機出現故障等情況,都會導致雷達系統對飛機的監控失效。因此,利用北斗短報文通信費用低廉的優點,本文設計了一款可進行遠程圖像傳輸的系統,對災害救援、無人區監控、反恐行動等工作有著重要的意義。
每個北斗用戶接收機都有唯一的北斗通信ID卡,通信均需經過地面中心站轉發,通信流程是:1)發送端接收機首先將包含接收方ID號和通信內容的通信申請信號加密后通過衛星轉發入站;2)地面中心站接收到通信申請信號后,經解密和再加密后加入持續出站廣播電文中,經衛星廣播給用戶;3)終端接收機接收出站信號,解調解密出站電文,完成一次通信[2-5]。從具體應用方面來看,北斗的短報文通信在遠程數據傳輸控制中還存在限制[6],具體如下:1)單次通信的容量有限,每次進行短報文通信所能傳輸的數據量是有限的,一般來說,民用北斗一次通信量僅有80字節左右;2)通信頻度有限,北斗系統每發送完一條報文后需等待很長的時間才能進行下一條報文的發送,一般來說,民用北斗通信頻度是60s左右;3)北斗衛星通信鏈路是不可靠的通信連接,在連續傳輸多條報文后成功率會大大降低。而且,民用北斗通信沒有回執,即發送方不知道接收方是否正確收到了數據。
由于北斗短報文通信在數據傳輸方面的限制,在進行圖像數據傳輸時,需要對圖像數據進行高效壓縮,從而提高數據傳輸效率。圖像壓縮是圖像存儲、處理和傳輸的基礎,它是用盡可能少的數據來進行圖像的存儲和傳輸[7-9]。圖像壓縮的過程既包括圖像編碼,也包括圖像解碼,使圖像數據得到部分或完全恢復,從而獲得原始圖像數據所表達的信息量[10-12]。本文采用JPEG壓縮算法,它用有損壓縮方式去除冗余的圖像數據,在獲得極高的壓縮率的同時能夠較好地展現原始圖像。
本系統基于北斗短報文的設計,為更好地獲取圖像數據以及圖像處理,選擇OV2640攝像頭來獲取圖像;選擇低功耗、高性能的STM32F429單片機進行數據處理;選擇RD0538B1北斗短報文通信模塊進行數據發送與接收。攝像頭與單片機之間采用DCMI接口進行連接,單片機與北斗短報文通信模塊用USART進行連接。系統硬件及設計方案如圖1所示。

圖1 北斗通信模塊及系統設計方案圖Fig.1 Design scheme of Beidou communication module and system
軟件功能算法設計如圖2所示。

圖2 算法設計方案圖Fig.2 Algorithm design scheme diagram
1)發送端數據處理:OV2640攝像頭拍攝的一幀圖像通過接口存儲在STM32單片機的SDRAM中;存儲完畢后,北斗短報文通信模塊開始獲取當地位置信息、拍攝圖像時間以及其他導航信息。圖像信息和導航信息會按順序分成每份70字節的數據包,并對數據包進行編號,通過北斗短報文通信模塊進行圖像數據包的發送;當北斗短報文通信模塊發送完最后一個數據包時,發送端完成發送任務。
2)接收端數據處理:從接收的數據格式中依次提取圖像信息,將圖像信息按接收順序進行整合,整合后的圖像信息會形成圖像文件。在最后一包數據中提取發送端的位置信息、拍攝圖像的時間信息和其他導航信息,并將其附在圖像上。最終的合成圖像會存儲在指定文件夾中。
3)顯示結果:最終的合成圖像在上位機的界面上可以得到顯示。圖像周圍的信息欄顯示各類導航信息。
為解決圖像和導航數據的傳輸問題,基于北斗短報文的通信協議,自定義系統通信協議,對北斗通信電文內容進行擴充。本文采用分包策略實現圖像數據和導航數據的正確傳輸,采用丟包反饋機制以保證可靠的數據傳輸,采用差錯校驗策略實現無失真通信,采用數據多卡發送解決北斗短報文通信頻度有限的問題。
1)數據分包發送機制。由于北斗短報文每次通信能力的限制,一張圖片信息必須通過北斗通信模塊發送多次才能發送完畢,故需將圖像信息進行分包處理,并按照北斗衛星導航系統通用數據接口4.0協議進行編排。接收端為了正確地解析數據包的內容,準確地還原圖像信息,需對每個數據包末尾附上序列號。采用數據分包發送方式,較好地解決了北斗短報文通信能力受限的問題,同時確保了圖像信息傳輸的完整性。
2)數據接收查詢反饋機制。每發送完最后一個數據包,發送端會發送一個請求查詢包,接收端接收到請求查詢包后,進行序列號的檢測,若有缺包項,則將缺失的包序列號以響應包的形式發送至發送端,發送端再重新發送缺失的數據包[13-15]。發送完畢后重復上述查詢步驟,直至序列號檢測完整,完成數據的接收。
3)采用數據多卡發送機制。由于北斗短報文通信能力的限制,若發送端和接收端采用一對一的方式進行數據傳輸,勢必嚴重影響數據傳輸效率。為了提高數據傳輸效率,發送端與接收端采用多對一的方式,即在發送端,通過對多個北斗通信模塊進行設置,配置成多卡共天線數據發送模式,即將數據包依次分給各個北斗通信模塊,通過同一根天線進行無線數據傳輸,接收端卻只使用一個北斗通信模塊進行數據接收。這種多對一和多卡共天線的無線數據傳輸方式極大地提高了數據的傳輸效率。
4)圖像數據包與導航信息數據包的區分。提前計算好圖像數據包的數量,以最后一個圖像數據包的序列號為標識符,表示圖像數據已經發送完畢。在導航信息數據包中,電文內容的最后4個字節為“12 34 56 78”,作為導航信息數據包的標識符。
數據可靠傳輸的設計流程如圖3所示。

圖3 數據可靠傳輸的設計流程Fig.3 Design process for reliable data transmission
為了驗證基于北斗短報文的遠程圖像通信系統能否按照預計的效果工作,進行了圖像的拍攝、當地導航信息的獲取,以及數據包的發送與接收顯示實驗。攝像頭抓拍1張場景圖片,北斗衛星導航模塊采集此時的導航信息,將采集的數據有線傳輸至STM32核心處理器;STM32核心處理器對接收到的圖像信息進行壓縮,并將其按照順序和北斗衛星導航系統通用數據接口4.0協議進行數據分包,設置每個數據包最大為72字節,將導航信息作為最后一個數據包,數據包的末尾附上序列號;對5個北斗通信模塊進行設置,將其配置成多卡共用同一天線的發送模式,實現了多對一的數據無線傳輸;接收端對接收的數據包進行防丟包驗證,得到完整、準確的數據包;對接收的數據包進行圖像還原,將還原得到的圖像疊加對應的導航信息,并在顯控端進行顯示,如圖4所示。拍攝圖片經數據壓縮處理后,利用數據多卡發送機制,能夠較快地完成圖像數據的傳輸功能。

圖4 上位機顯示的接收圖像Fig.4 Received image displayed by the host computer
本文利用北斗短報文通信費用低廉的優點,設計了一款可進行遠程圖像傳輸的系統,針對北斗短報文通信的局限性,提出了相應的數據傳輸機制以保證可靠有效的遠程數據傳輸。系統測試結果表明,系統能夠較快地完成圖像數據傳輸功能。系統可進一步推廣應用于野外、航空、航海等應用領域,為各領域的安全提供了保障,且成本低廉,便于大面積推廣使用。