999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種改進(jìn)的高效報文編碼方式

2006-12-31 00:00:00王江峰包衛(wèi)東黃金才
計算機(jī)應(yīng)用研究 2006年10期

摘 要:提出一種改進(jìn)的報文編碼方式,實現(xiàn)了對不同大小要求和多種報文元素動態(tài)組合成的報文進(jìn)行編碼,經(jīng)過實例比較體現(xiàn)出該方式的優(yōu)越性并很好地實現(xiàn)了數(shù)據(jù)鏈仿真信息傳遞的功能。

關(guān)鍵詞:報文; 消息結(jié)構(gòu); 編碼

中圖法分類號:TP309 文獻(xiàn)標(biāo)識碼:A 文章編號:1001-3695(2006)10-0101-02

Improved Effective Message Encoding Technique

WANG Jiangfeng,BAO Weidong,HUANG Jincai

(College of Information System Management, National University of Defense Technology, Changsha Hunan 410073, China)

Abstract:This paper offers an improved effective message encoding technique, which can be used to encode message that has different length or composed of various message elements dynamically. This technique shows its superiority and well satisfies the simulation demand.

Key words:Message; Message Structure; Encoding

戰(zhàn)術(shù)數(shù)據(jù)鏈,在美國稱為TADIL(Tactical Data Information Link),在北約稱為Link,采用無線電通信裝備和數(shù)據(jù)通信規(guī)程,是直接為作戰(zhàn)指揮和武器控制系統(tǒng)提供支持、服務(wù)的數(shù)據(jù)通信與計算機(jī)控制密切結(jié)合的系統(tǒng)。它不僅能實現(xiàn)機(jī)載、陸基和艦載戰(zhàn)術(shù)數(shù)據(jù)系統(tǒng)之間的數(shù)據(jù)信息交換,而且可以構(gòu)成點對點、一點對多點的數(shù)據(jù)鏈路和網(wǎng)狀數(shù)據(jù)鏈路,使作戰(zhàn)平臺的計算機(jī)系統(tǒng)形成戰(zhàn)術(shù)數(shù)據(jù)傳輸、交換和信息處理網(wǎng)絡(luò),為指揮員和戰(zhàn)斗人員同時提供有關(guān)的數(shù)據(jù)和完整的戰(zhàn)場態(tài)勢信息。

數(shù)據(jù)鏈?zhǔn)乾F(xiàn)代高技術(shù)條件下作戰(zhàn)對通信及信息共享提出更高要求的必然產(chǎn)物。數(shù)據(jù)鏈一詞應(yīng)用于現(xiàn)代作戰(zhàn)概念之中,從作戰(zhàn)的角度應(yīng)該對它這樣理解:數(shù)據(jù)鏈?zhǔn)遣捎脽o線網(wǎng)絡(luò)通信技術(shù)和應(yīng)用協(xié)議實現(xiàn)陸、海、空,乃至天、電諸軍、兵種的戰(zhàn)術(shù)數(shù)據(jù)系統(tǒng)間的實時傳輸,使戰(zhàn)區(qū)內(nèi)各種指揮控制系統(tǒng)和各種作戰(zhàn)平臺(主戰(zhàn)兵器的載體)之間實現(xiàn)無縫連接,融為一體,最大限度地提高作戰(zhàn)效能,實現(xiàn)真正意義上的聯(lián)合作戰(zhàn)。

數(shù)據(jù)鏈與一般通信系統(tǒng)最大的不同點是不僅提供各種通信信道,而且提供標(biāo)準(zhǔn)格式的數(shù)據(jù)和控制報文,也可直接連向特定的指揮控制系統(tǒng)和武器控制系統(tǒng)。報文是數(shù)據(jù)鏈發(fā)揮作用的核心技術(shù)之一,本文針對其具體的應(yīng)用背景,提出了一個改進(jìn)的報文編碼方案,包括新的報文消息結(jié)構(gòu)定義,經(jīng)過檢驗,提高了報文編碼的效率、增加了編碼函數(shù)的通用性。

1 問題描述

現(xiàn)代高技術(shù)條件下的戰(zhàn)場態(tài)勢信息復(fù)雜多變,同時也就需要更及時、更精確的指揮控制命令,這就對報文傳送信息內(nèi)容提出了很高的要求。由于受到傳輸帶寬的限制,報文消息結(jié)構(gòu)應(yīng)當(dāng)盡可能精簡,這就引出了報文編碼的主要問題,即如何用盡可能小的數(shù)據(jù)結(jié)構(gòu)有效地傳遞盡可能多的信息。為了節(jié)省空間,在定義報文消息結(jié)構(gòu)時,在不影響信息傳遞的基礎(chǔ)上元素大小應(yīng)盡可能小。例如有些元素傳遞的信息比較簡單,只傳遞一個布爾類型的信息,在最終的數(shù)據(jù)幀里只占2bits。但為了便于在編碼前對其進(jìn)行有效賦值,同樣也為了在解碼后能夠解析出有價值的信息,我們定義的消息結(jié)構(gòu)最小數(shù)據(jù)類型為Byte,應(yīng)大于元素實際占用空間。如何有效地將這些元素壓縮到用于傳輸?shù)臄?shù)據(jù)幀里,就是我們這里提到的編碼問題。

假設(shè)一條數(shù)據(jù)鏈對傳輸報文的要求是每個消息72bits長,報文由有具體含義的報文元素組成。例如一個傳遞空中目標(biāo)位置的消息可能包含的元素即幀結(jié)構(gòu)如表1所示。

表1 目標(biāo)位置消息報文元素表

元素名稱長度(bit)意 義備 注報文頭10包括接收方編號等固定信息每個消息固定部分目標(biāo)屬性2表示敵我屬性目標(biāo)類型8屬于哪種機(jī)型目標(biāo)編號6目標(biāo)的編號航向12目標(biāo)航向速度10目標(biāo)速度高度13目標(biāo)高度備用11報文中元素可以分為兩類:①目標(biāo)屬性、目標(biāo)類型等。這類元素根據(jù)不同取值表示不同意義,通過預(yù)先的宏定義在編碼解碼時獲取有意義的取值。例如目標(biāo)屬性取0時表示不明,1表示我方飛機(jī),2表示敵方飛機(jī)。目標(biāo)類型取不同值時,根據(jù)相應(yīng)定義表示不同類型的目標(biāo),我們稱這類元素為枚舉型。②接收方編號、目標(biāo)編號、速度、高度、航向等。編碼解碼時只需進(jìn)行相應(yīng)的單位轉(zhuǎn)換,其取值不用再作其他解釋。我們稱這類元素為數(shù)值型。

每個消息根據(jù)類型的不同,由不同長度、類型的元素組成。每個報文根據(jù)傳遞內(nèi)容的要求,由不同類型和個數(shù)的消息組合而成,這樣每次發(fā)送的報文根據(jù)內(nèi)容要求與報文組合的規(guī)則可能發(fā)送個數(shù)不等的消息。

2 改進(jìn)的報文編碼方式

在實際應(yīng)用中,報文編碼主要存在兩個問題:①如何定義消息的結(jié)構(gòu)。為了能夠傳輸多種信息,報文往往是由多個不同內(nèi)容的消息字組成。如何合理地定義消息的結(jié)構(gòu)是提高編碼效率的基礎(chǔ)。②用哪種編碼方式既合理又簡單。選擇合適的編碼方式能大大地提高效率、簡化代碼。下面將從這兩方面對比原有的編碼方法與改進(jìn)的編碼方法。

對于bit小于Byte的問題即移位操作的復(fù)雜性問題,解決方法是bit到Byte的轉(zhuǎn)換。對于消息結(jié)構(gòu)的定義方法問題,每個消息單獨編碼,解決方法是定義統(tǒng)一結(jié)構(gòu),添加Bool標(biāo)識符進(jìn)行編碼。

2.1 原有的編碼方法存在的缺陷

在原方法中對于消息的結(jié)構(gòu)沒有重新定義,完全是按照報文消息的原有結(jié)構(gòu)進(jìn)行定義的,如下所示:

struct msgTargetPosition//目標(biāo)位置消息

{

short msgHead;//報文頭10

byte TargetAttr;//目標(biāo)屬性2

byte TargetType;//目標(biāo)類型8

byte TargetNo;//目標(biāo)編號6

short Course;//航向12

short Velocity;//速度10

short Altitude;//高度13

short Standby;//備用11

}

可以看出這個定義是專門針對空中目標(biāo)消息的,而報文一般包含多個消息字,所以如果采用這種方式定義消息結(jié)構(gòu),針對每個報文方案需要對每個消息字均定義單獨的結(jié)構(gòu)。

原方法采用的編碼方式是針對每個元素進(jìn)行移位操作,將所有元素按照真實占位大小移到相互連續(xù)的位置,最后組成一個連續(xù)的72位字符串。空中目標(biāo)消息編碼函數(shù)如下:

void EncodeTargetPosition(msgTargetPosition amsg, unsigned char MsgStr[])

{

MsgStr[0]=0; //初始化

unsigned char tempbyte;//報文頭 10

tempbyte=amsg.msgHead 0x03FC;//取出前八位

tempbyte >>= 2; //右移兩位

MsgStr[0]=MsgStr[0]| tempbyte;

tempbyte=amsg.msgHead 0x0003;//取出后兩位

tempbyte <<=6; //左移六位

MsgStr[1]=0; //初始化

MsgStr[1]=MsgStr[1]| tempbyte;//目標(biāo)類型樹型 2

tempbyte=amsg.TargetAttr 0x03;//取出后兩位

tempbyte <<=4; //左移四位

MsgStr[1]=MsgStr[1]| tempbyte;

}

解碼函數(shù)是編碼函數(shù)的逆過程,空中目標(biāo)消息解碼函數(shù)如下:

void DecodeTargetPosition(unsigned char MsgStr[],msgTargetPosition amsg)

{

unsigned char tempbyte;//報文頭 10

short tempHead=0; //初始化

tempHead=MsgStr[0] 0xFF;//取出八位

tempHead<<=2; //左移兩位

amsg.msgHead=tempHead;

tempHead=MsgStr[1] 0xC0;//取出前兩位

tempHead>>=6; //右移六位

amsg.msgHead=amsg.msgHead|tempHead;//目標(biāo)屬性 2

tempbyte=MsgStr[1] 0x30;

tempbyte>>=4;

amsg.TargetAttr=tempbyte;

}

這個方法的缺點在于,針對每個消息都要有單獨的結(jié)構(gòu)定義、單獨的編碼與解碼函數(shù),而且移位操作非常煩瑣,也沒有通用性與動態(tài)可編輯性。因此,我們提出了改進(jìn)的編碼方式。

2.2 改進(jìn)的編碼方法

針對原有方法存在的兩個問題,改進(jìn)的編碼方法主要從消息結(jié)構(gòu)定義與編碼方式兩個方面對原有方法進(jìn)行了改進(jìn)。對于消息結(jié)構(gòu)的定義,我們改為通用的結(jié)構(gòu)定義,如下所示:

struct msgBody

{

short msgHead;

int pData[MAX_MSG_ELEMENT];

bool pDataOK[MAX_MSG_ELEMENT];

struct msgBody*pNext;

}

其中,消息頭為每個消息的共有部分,pData[i]為元素值變量,MAX_MSG_ELEMENT是總的元素個數(shù),i為元素的索引號,每個元素均有唯一的索引號,如可規(guī)定pData[6]表示目標(biāo)屬性。pDataOK[i]是表示該索引號的元素是否有賦值,在編碼(或解碼)時用來判斷是否要對該元素進(jìn)行編碼(或解碼)操作。例如,若pDataOK[i]為True,則說明pData[i]有賦值,應(yīng)對其進(jìn)行編碼與解碼。在給元素賦值時,若pData[i]有賦值則pDataOK[i]變?yōu)門rue否則為False。結(jié)構(gòu)最后為一個指向下一個消息機(jī)構(gòu)體(如果有的話)的指針,這樣就實現(xiàn)了多個消息的組合,滿足報文要求。

因為報文是由多個消息組合而成的,包含的元素更多。我們定義的結(jié)構(gòu)更能適合復(fù)雜的消息結(jié)構(gòu),只需一個通用的編碼函數(shù)減輕編碼的負(fù)擔(dān)。新編碼函數(shù)的結(jié)構(gòu)定義如下:

void EncodemsgBody(msgBody amsg, unsigned char frame[])

{

for(int i=0;i

{

if(pDataOK[i]=true)

{

Encode(pData[i])

}

}

}

新的編碼函數(shù)放棄了較為麻煩且通用性差的移位操作,而是采用定義一個臨時的由72Bytes組成的字符串tepmbyte[71]作轉(zhuǎn)換。其原理是:①將元素的真實取值轉(zhuǎn)換成由0和1組成的二進(jìn)制串,對于72bits長的消息字,不管其內(nèi)部取值為多少,最終均可以轉(zhuǎn)換成由72個0和1組成的字符串;②按每個0或1賦給一個Byte,將所有01按位賦給臨時Byte串;③將這個72位Bytes串按每八位截取一次,轉(zhuǎn)換成十進(jìn)制數(shù),賦給用于傳輸?shù)臄?shù)據(jù)幀中的一個Byte,逐次完成數(shù)據(jù)幀中的填充。這樣就實現(xiàn)了將消息元素取值壓縮到數(shù)據(jù)幀中去,卻比移位操作更方便、通用性更強(qiáng)。這個過程可逆,即為解碼時的過程:先將數(shù)據(jù)幀解壓縮到臨時Byte串,然后按照元素取值有效位數(shù)截取相應(yīng)段,再解析取值即可。例如對于實例中的消息元素目標(biāo)屬性,其實際取值為2,表示敵方目標(biāo)。首先將其轉(zhuǎn)換為二進(jìn)制串10,按照目標(biāo)屬性元素對應(yīng)位(1011)將10分別賦給Byte[10]與Byte[11];然后將它們同Byte[8]到Byte[15]這個段內(nèi)的八個Byte一起轉(zhuǎn)換成一個十進(jìn)制數(shù)賦給數(shù)據(jù)幀中的第二個Byte用于傳輸。在解碼時首先將數(shù)據(jù)幀解壓成72個Byte的01串,截取Byte[10]和Byte[11]將其轉(zhuǎn)換為有效值即目標(biāo)屬性的取值。

本方法在消息結(jié)構(gòu)的通用性與編碼函數(shù)的通用性方面都有很大提高,可用于動態(tài)、長度可變的報文消息,并且編碼函數(shù)操作更為簡單方便。改進(jìn)方法與原方法的性能比較如表2所示。

表2 改進(jìn)編碼方法與原方法的性能對比

性 能原方法改進(jìn)的方法消息結(jié)構(gòu)通用性不通用能通用編碼函數(shù)通用性不通用能通用編碼函數(shù)簡單性比較復(fù)雜比較簡單對于動態(tài)可變報文實用性不適用適用內(nèi)存占用無冗余有冗余3 結(jié)論

本文提出了一種改進(jìn)的報文編碼方式,有效地解決了編碼過程中的兩個問題,即移位操作的復(fù)雜性問題和報文多消息字的統(tǒng)一結(jié)構(gòu)問題。由于現(xiàn)在內(nèi)存價格的降低,本方法雖然在數(shù)據(jù)結(jié)構(gòu)上有冗余,但與提高的通用性、操作的方便性相比,這樣的改進(jìn)是有意義的。經(jīng)過實例檢驗,完全滿足數(shù)據(jù)鏈仿真過程中報文信息傳遞的要求。

本方法還有可改進(jìn)的地方,如編碼時可以按照事先約定的規(guī)則隨機(jī)組合元素內(nèi)容,這樣在解碼時按照相應(yīng)的規(guī)則截取信息可以更好地起到加密效果。

參考文獻(xiàn):

[1]廖長清,龔誠,等.航空戰(zhàn)術(shù)數(shù)據(jù)鏈系統(tǒng)及關(guān)鍵技術(shù)的探討[J]. 航空電子技術(shù),2005,36(1):1115.

[2]吳德偉,高曉光,等.戰(zhàn)術(shù)數(shù)據(jù)鏈的建設(shè)與發(fā)展[J]. 火力與指揮控制,2004,29(1):1013.

[3]李建軍,張軍,等.空地數(shù)據(jù)鏈機(jī)載仿真系統(tǒng)設(shè)計研究[J]. 航空電子技術(shù),2003,34(3):24-28.

[4]薛均義,虞鶴松,等.微型計算機(jī)原理及應(yīng)用[M]. 西安:西安交通大學(xué)出版社,2000.35-75.

作者簡介:

王江峰(1980-),男,陜西咸陽人,碩士研究生,研究方向為管理科學(xué)與工程、指揮自動化;包衛(wèi)東(1971-),男(蒙古族),內(nèi)蒙古呼和浩特人,副教授,博士后,研究方向為管理科學(xué)與工程、指揮自動化;黃金才 (1945-),男,安徽人,副教授,研究方向為指揮自動化、輔助決策技術(shù)。

注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文

主站蜘蛛池模板: 国产超碰在线观看| 久久99精品国产麻豆宅宅| 国产成人精品免费av| 亚洲人成网站在线播放2019| 欧美影院久久| 午夜福利无码一区二区| 免费A∨中文乱码专区| 午夜久久影院| 天堂av综合网| 国产一级α片| 国产成人久视频免费| 在线看片中文字幕| 毛片最新网址| 伊人无码视屏| 波多野结衣视频一区二区| 欧美丝袜高跟鞋一区二区| 福利视频一区| 欧美精品另类| 高清免费毛片| 日韩欧美国产另类| 国产成人亚洲精品无码电影| 中文字幕在线观| 国产黄色片在线看| 97人妻精品专区久久久久| 伊人精品视频免费在线| 综合久久久久久久综合网| 欧美综合中文字幕久久| 亚洲天堂伊人| 美女潮喷出白浆在线观看视频| 国内99精品激情视频精品| 国产精品自在在线午夜区app| 亚洲狼网站狼狼鲁亚洲下载| 亚洲国产中文在线二区三区免| 欧美精品xx| 亚洲国产中文在线二区三区免| 亚洲九九视频| 国产理论一区| 国产色婷婷| 色综合天天综合| www.亚洲色图.com| 国产免费a级片| 国产高清又黄又嫩的免费视频网站| 国产69精品久久久久孕妇大杂乱 | 亚洲无码视频一区二区三区| 欧美无专区| 亚洲欧美天堂网| 久久精品人人做人人爽| 国产特一级毛片| 国产成人亚洲精品色欲AV| 在线精品亚洲一区二区古装| 精品国产美女福到在线不卡f| 亚洲免费福利视频| 综合网久久| 国产国产人免费视频成18| 欧美日韩国产系列在线观看| 久久黄色一级片| 视频一区视频二区日韩专区| 深爱婷婷激情网| 久久视精品| 狠狠色成人综合首页| www.99精品视频在线播放| 亚洲福利网址| 久夜色精品国产噜噜| 亚洲精品国产自在现线最新| 毛片在线播放网址| 日韩a在线观看免费观看| 十八禁美女裸体网站| 青青草原国产精品啪啪视频| 欧美在线一级片| 久草热视频在线| 免费看的一级毛片| 中文字幕亚洲乱码熟女1区2区| 日本在线视频免费| 一区二区影院| 黑色丝袜高跟国产在线91| 中文成人在线| 国产精品成人一区二区不卡| 97综合久久| 国产AV无码专区亚洲精品网站| 综合人妻久久一区二区精品 | 国产精品内射视频| 国产乱子伦手机在线|