汪連賀
(天津海事測繪中心,天津 300222)
關(guān)鍵字:北斗短報文;數(shù)據(jù)壓縮;連續(xù)軌跡
北斗衛(wèi)星系統(tǒng)接收機終端能夠向指定終端號的接收機終端發(fā)送短報文信息,也能夠接收其它接收機終端發(fā)送的短報文;民用北斗接收機終端發(fā)送短報文頻度為每分鐘發(fā)送一次,每次最多發(fā)送70個字節(jié)的信息。船舶在航行的過程中定位儀不間斷地輸出船舶航行的軌跡,形成(時間、經(jīng)度、緯度)的坐標序列;一般情況下,坐標序列時間格式為HH:MM:SS格式(8字節(jié)),經(jīng)度為dddmmss.ssss格式(12字節(jié)),緯度為ddmmss.ssss格式(11字節(jié));每個位置信息的坐標對字節(jié)總數(shù)為31字節(jié);利用民用北斗卡每次最多傳輸兩個坐標對(傳輸信息總字節(jié)數(shù)需不大于70字節(jié)),也就是30 s傳輸一個點坐標;對于航行船速為20 kn船舶,30 s航行距離為 300 m左右,對于航行船速為40 kn船舶,30 s航行距離為600 m;因坐標位置時間間隔過長,船舶航行距離間隔過大,故此不能真實地記錄船舶航行軌跡,造成船舶航行路線失真;在現(xiàn)實生活中有很多需要查看船舶運行連續(xù)軌跡的需求,比如:因船舶事故等原因需要追蹤船舶運行航線,不能記錄真實的軌跡則無法準確地回放。
因此,如何改變現(xiàn)有常規(guī)手段進行傳輸船舶位置的信息,使其快捷有效傳輸船舶航行連續(xù)軌跡,提供一種基于北斗短報文的船舶連續(xù)軌跡傳輸壓縮方法,是該領(lǐng)域技術(shù)人員應(yīng)著手解決的問題之一。
船舶在航行的過程中船舶定位儀不間斷地輸出船舶航行的軌跡,形成時間、經(jīng)度、緯度的坐標序列;因為船舶運行不屬于劇烈的運動,根據(jù)不同運動速度每間隔1~5 s記錄一個位置可以滿足常規(guī)工作需要,如果每秒鐘記錄一個點則每分鐘可以記錄60組相應(yīng)的坐標序列;在傳輸船舶連續(xù)軌跡過程中,發(fā)射端和接收端均使用具有短報文傳輸功能的北斗衛(wèi)星系統(tǒng)接收機,并為兩端終端配置北斗sim卡,通過北斗sim卡號確定唯一的北斗接收機終端;北斗短報文可以傳輸代碼、漢字、混合三種信息類型;針對本方法采用代碼類型進行傳輸,代碼類型的信息可以更好的節(jié)約短報文存儲空間。
在船舶北斗接收終端機發(fā)送坐標時,對坐標序列進行抽稀壓縮處理,根據(jù)不同船速進行不同程度的抽稀,形成新的坐標序列;在對坐標序列壓縮過程中,總是把第一個坐標對中時間、經(jīng)度、緯度作為起始基準,坐標序列中后面的坐標對總是以前面坐標對的時間、經(jīng)度、緯度作為相對基準值,計算每兩個相鄰坐標對的差值,即時間差、經(jīng)度值的差值、緯度值的差值,形成坐標差值序列進行記錄并組合生成短報文;在此方案中,北斗接收機短報文前10個字節(jié)為本次發(fā)送短報文信息的文件頭信息,包含當前坐標序列的時間、經(jīng)度、緯度基準值信息,數(shù)據(jù)格式分別為時間(時分,占2字節(jié))、經(jīng)度(度分秒,占3字節(jié))、緯度(度分秒,占3字節(jié)),另外一個字節(jié)表示信息類型,一個字節(jié)作為保留字節(jié),共10個字節(jié),如表1。
表1 短報文頭信息
表1中,type表示信息類別,取值可以是16進制的A5、A6,A5表示用方案一傳輸,A6表示用方案二傳輸。其余60個字節(jié)用于傳輸本分鐘時間內(nèi)坐標序列信息,計算要傳輸?shù)淖鴺诵蛄邢噜徫恢玫慕?jīng)度值的差值和緯度值的差值,把計算的差值按照設(shè)計的壓縮編碼規(guī)則填寫到60個字節(jié)空間內(nèi)。根據(jù)不同船速確定兩種壓縮編碼方案。
表2 坐標對壓縮方案一
表2中,點號同時代表時間,如點號1表示當前基準分鐘時間的第0秒,點號2表示第2秒,點號3表示第4秒,點號n代表第2×(n-1)秒,直到點號30表示第58秒,n取1,2,...,30。L1表示點1的經(jīng)度值與表1中基準點經(jīng)度值的差值;B1表示點1的緯度值與表1中基準點緯度值的差值;L2表示點2的經(jīng)度值與點1經(jīng)度值的差值;B2表示點2的緯度值與點1緯度值的差值;L3表示點3的經(jīng)度值與點2經(jīng)度值的差值;B3表示點3的緯度值與點2緯度值的差值;Ln表示點n的經(jīng)度值與點n-1經(jīng)度值的差值;Bn表示點n的緯度值與點n-1緯度值的差值。
如果船速小于40 kn時,經(jīng)度值的差值占用1個字節(jié),單位為0.01 s,字節(jié)的第一個bit標識正負,0為正,1為負,則表示的經(jīng)度值的差值范圍可以滿足-1.28~1.28 s,同樣緯度值的差值也占用1個字節(jié),字節(jié)的第一個bit標識正負,0為正,1為負,則表示的緯度值的差值范圍可以滿足-1.28~1.28 s;在地球表面,每秒最大距離是33 m,相當于船速為80 kn的船舶每秒航行的距離;每個點包含經(jīng)度值的差值和緯度值的差值的信息,所以每個點占用2個字節(jié),60個字節(jié)可以包含30個點的信息;在方案一中對60個坐標進行抽稀,只選取0,2,4,...,58 s處的經(jīng)緯度差值形成坐標序列,坐標對在坐標序列中的點號也就表示了該坐標對的時間,如點號1表示當前基準分鐘時間的第0秒,點號2表示第2秒,點號3表示第4秒......直到點號30表示第58秒;也就是船速小于40 kn時可以采用方案一。
表3 坐標對壓縮方案二
表3中,點號同時代表時間,如點號1表示當前基準分鐘時間的第0秒,點號2表示第4秒,點號3表示第8秒,點號n代表第4×(n-1)秒,直到點號15表示第56秒,n取1,2,...,15。L1表示點1的經(jīng)度值與表1中基準點經(jīng)度值的差值;B1表示點1的緯度值與表1中基準點緯度值的差值;L2表示點2的經(jīng)度值與點1經(jīng)度值的差值;B2表示點2的緯度值與點1緯度值的差值;L3表示點3的經(jīng)度值與點2經(jīng)度值的差值;B3表示點3的緯度值與點2緯度值的差值;Ln表示點n的經(jīng)度值與點n-1經(jīng)度值的差值;Bn表示點n的緯度值與點n-1緯度值的差值。
如果船速大于40 kn時,經(jīng)度值的差值占用2個字節(jié),單位為0.01 s,字節(jié)的第一個bit標識正負,0為正,1為負,則表示的經(jīng)度值的差值范圍可以滿足-327.67~327.67 s,同樣緯度值的差值也占用2個字節(jié),字節(jié)的第一個bit標識正負,0為正,1為負,則表示的緯度值的差值范圍可以滿足-327.67~327.67 s;基本滿足現(xiàn)實中的任何船速;每個點包含經(jīng)度值的差值和緯度值的差值的信息,所以每個點占用4個字節(jié),60個字節(jié)可以包含15個點的信息;在方案二中對60個點坐標序列進行抽稀,只選取0,4,8,...,56 s處的經(jīng)緯度差值形成坐標序列,坐標對在坐標序列中的點號也就表示了該坐標對的時間,如點號1表示當前基準分鐘時間的第0秒,點號2表示第4秒,點號3表示第8秒......直到點號15表示第56秒;也就是船速大于40 kn時可以采用方案二。
表4為船舶定位儀某日13點50分每秒輸出一次的船舶一分鐘的連續(xù)軌跡坐標,共60個點,因篇幅關(guān)系,本文僅列取前后各5個點。
船舶航行速度小于40 kn,按照方案一進行編碼壓縮根據(jù)規(guī)則,只選取0,2,4,...,58 s處的經(jīng)緯度形成坐標序列,共30個點,僅列取前后各5個特征點坐標,如表5。
表4 1 分鐘船舶連續(xù)軌跡坐標對示例
表5 1 分鐘船舶連續(xù)軌跡抽稀坐標對示例
根據(jù)短報文的編碼規(guī)則計算短報文文件頭各個字節(jié)的值:船速小于40 kn,字節(jié)0信息類別為A5。
第一個點的經(jīng)度為117度43分57.93405秒,字節(jié)1、字節(jié)2、字節(jié)3分別為第一個點經(jīng)度值的度分秒,即:117、43、57(秒只取整數(shù)部分);第一個點的緯度為38度59分19.763928秒,字節(jié)4、字節(jié)5、字節(jié)6分別為第一個點緯度值的度分秒,即:38、59、19(秒只取整數(shù)部分);第一個點時間為13點50分,字節(jié)7、字節(jié)8為第一個點時間的時分,即:13、50。把得到的數(shù)值按照表1填寫,即得到短報文的文件頭信息,如表6。
表6 短報文文件頭示例
再計算短報文的信息,根據(jù)方案一得到的0,2,4,...,58 s處的經(jīng)緯度差值形成坐標序列,坐標對在坐標序列中的位置(點號)也就表示了該坐標對的時間,最終形成下表的坐標序列,共30個坐標序列,僅列取前后各5個坐標序列,如表7。
根據(jù)表7計算結(jié)果,把30個點的經(jīng)緯度值的差值填寫到60個字節(jié)中,第n個點(n取0,1,2,3,...,29)的經(jīng)度值的差值和緯度值的差值分別放在第2n和2n+1字節(jié)的位置,形成如下短報文信息,如表8。
表7 1 分鐘船舶連續(xù)軌跡壓縮坐標序列示例
表8 1 分鐘船舶連續(xù)軌跡壓縮短報文信息示例
文件頭的10個字節(jié)與短報文信息的60個字節(jié)連接在一起就形成了70字節(jié)的一分鐘的船舶航行的連續(xù)軌跡,這70個字節(jié)可以通過安裝sim1卡的發(fā)射北斗接收機發(fā)送到安裝sim2卡的接收北斗接收機。sim2北斗接收機終端接收到短報文信息后再按照方案一的反過程解析壓縮的短報文信息得到船舶航行的連續(xù)軌跡的(時間、經(jīng)度、緯度)坐標序列,數(shù)據(jù)傳輸軌跡流程如圖1。
圖1 北斗吳雙短報文數(shù)據(jù)傳輸流程
對于船速大于40 kn的船舶,發(fā)射端北斗終端機部分同樣可以按照方案二進行壓縮船舶航行軌跡坐標序列,接收端北斗接收機終端部分解析壓縮的短報文信息得到船舶航行的連續(xù)軌跡的(時間、經(jīng)度、緯度)坐標序列。
經(jīng)過采用本壓縮方法壓縮后,航行船速為40 kn以下的船舶每分鐘可以傳輸30個坐標對,即每2 s有一個坐標對;對于航行船速為20 kn船舶,2 s航行距離為20 m左右,對于航行船速為40 kn船舶每分鐘可以傳輸15個坐標對,即每4 s有一個坐標對,4 s航行距離為80 m左右;通過比較可以發(fā)現(xiàn),船舶連續(xù)軌跡的真實性分別提高了15倍和7.5倍,但對于高速船舶運行軌跡曲率變化更小,傳輸?shù)淖鴺诵蛄谢菊鎸嵉挠涗浟舜斑B續(xù)運行軌跡;需要回放船舶運行軌跡時能夠真實有效的反映船舶實時航行位置。
采用該傳輸壓縮方法在不增加其它成本的情況下船舶連續(xù)運行軌跡的真實性極大提高,從根本上解決了船舶連續(xù)航行軌跡的傳輸問題。