国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

分隊(duì)?wèi)?zhàn)術(shù)訓(xùn)練系統(tǒng)中基于HLA和組播技術(shù)的通信仿真*

2014-06-12 12:16:19劉慶國(guó)
火力與指揮控制 2014年9期
關(guān)鍵詞:通信網(wǎng)席位通話

劉慶國(guó)

(沈陽(yáng)炮兵學(xué)院,沈陽(yáng) 110162)

分隊(duì)?wèi)?zhàn)術(shù)訓(xùn)練系統(tǒng)中基于HLA和組播技術(shù)的通信仿真*

劉慶國(guó)

(沈陽(yáng)炮兵學(xué)院,沈陽(yáng) 110162)

在戰(zhàn)術(shù)仿真訓(xùn)練中,通信仿真是實(shí)現(xiàn)作戰(zhàn)指揮訓(xùn)練的重要手段。結(jié)合基于HLA技術(shù)的戰(zhàn)術(shù)仿真訓(xùn)練系統(tǒng),探討了采用組播技術(shù)和HLA交互手段實(shí)現(xiàn)通信仿真的方法,并對(duì)其擴(kuò)展功能進(jìn)行了研究。

高層體系結(jié)構(gòu),組播,通信仿真

引言

在軍事仿真領(lǐng)域,指揮控制訓(xùn)練是分隊(duì)?wèi)?zhàn)術(shù)訓(xùn)練的一個(gè)重要內(nèi)容,主要通過(guò)通信聯(lián)絡(luò)完成,一個(gè)實(shí)用的戰(zhàn)術(shù)仿真系統(tǒng)要對(duì)戰(zhàn)場(chǎng)上的各種通信手段作出功能模擬。HLA技術(shù)為分布式仿真應(yīng)用的開(kāi)發(fā)提供了有力的平臺(tái),但也存在局限性:它是基于對(duì)象屬性的,在仿真中語(yǔ)音通信產(chǎn)生的是二進(jìn)制數(shù)據(jù),該數(shù)據(jù)的交互傳遞無(wú)法從HLA技術(shù)本身獲得支持,網(wǎng)絡(luò)組播技術(shù)可以有效彌補(bǔ)其不足,通過(guò)二者的結(jié)合可很好地實(shí)現(xiàn)通信仿真功能,并可實(shí)現(xiàn)功能擴(kuò)展。本文介紹了一個(gè)基于IPv4組播技術(shù)的虛擬通信網(wǎng)JVRadio的設(shè)計(jì)與實(shí)現(xiàn),通過(guò)在某型反坦克火炮戰(zhàn)術(shù)對(duì)抗仿真系統(tǒng)的應(yīng)用,取得了較好的效果。

1 組播技術(shù)

組播(multicast)是允許一個(gè)或多個(gè)發(fā)送者發(fā)送單一的數(shù)據(jù)包到多個(gè)接收者的網(wǎng)絡(luò)技術(shù)[1]。

1.1 組播工作原理

組播能夠一次傳送數(shù)據(jù)包到多個(gè)同屬一個(gè)組播組的接收成員,且只有屬于該組播組的地址才能接收到數(shù)據(jù)包,這樣,網(wǎng)絡(luò)出現(xiàn)擁塞的可能性大大減小,提高了數(shù)據(jù)傳送效率。

組播組的成員可以是動(dòng)態(tài)的,即一個(gè)主機(jī)可以在任何時(shí)間加入一個(gè)組或者離開(kāi)。一個(gè)主機(jī)可以是多個(gè)組的成員,組播組中的主機(jī)可以是在同一個(gè)物理網(wǎng)絡(luò),也可以來(lái)自不同的物理網(wǎng)絡(luò)。組播工作模式如下頁(yè)圖1所示。

組播結(jié)合了單播和廣播的優(yōu)點(diǎn),以非常有效的方式傳輸組播數(shù)據(jù)。對(duì)組播而言,所有的請(qǐng)求端加入到組播組,服務(wù)器只向所有的請(qǐng)求端發(fā)送一路數(shù)據(jù)拷貝。數(shù)據(jù)通過(guò)組播地址,向加入組播組的成員(主機(jī)或者網(wǎng)絡(luò))發(fā)送,這樣在共享的鏈路上只需要1份數(shù)據(jù)拷貝,大大減輕了內(nèi)容服務(wù)器和源鏈路的負(fù)載壓力。

圖1 組播工作模式

1.2 組播地址與組播Mac映射

根據(jù)IANA(Internet Assigned Numbers Authority)規(guī)定,組播報(bào)文的目的地址使用D類(lèi)IP地址。該類(lèi)地址范圍從224.0.0.0到239.255.255.255。在局域網(wǎng)內(nèi)傳輸組播報(bào)文時(shí),由于傳輸目的主機(jī)是一個(gè)組播組內(nèi)的多個(gè)組成員,而不是單一的主機(jī),必須使用組播MAC地址。IANA將高24位為01:00:5E(16進(jìn)制)的MAC地址分配給組播使用。具體映射方式為:將組播地址中的低23位直接放入MAC中的低23位中(多補(bǔ)位0形成24位),再與01:00:5E結(jié)合成為完整的48位MAC地址。如圖2所示。

圖2 組播地址映射

2 通信仿真需求分析及通信組網(wǎng)建模

經(jīng)過(guò)分析某反坦克炮戰(zhàn)術(shù)對(duì)抗仿真系統(tǒng)對(duì)語(yǔ)音通信的需求,需要建立4套通信組網(wǎng):一是導(dǎo)演部通信網(wǎng),用于演習(xí)中總導(dǎo)演、紅藍(lán)導(dǎo)演以及干預(yù)席、戰(zhàn)場(chǎng)觀察席之間的通話;二是上行電臺(tái)通信網(wǎng),實(shí)現(xiàn)連長(zhǎng)與各導(dǎo)演間的通話;三是分隊(duì)本級(jí)通信網(wǎng),實(shí)現(xiàn)分隊(duì)各火炮間的通話;四是火炮單車(chē)通信網(wǎng),實(shí)現(xiàn)炮長(zhǎng)與車(chē)上乘員的通話,用于對(duì)車(chē)內(nèi)通話器的模擬。

通信組網(wǎng)是多人在一個(gè)共享的信道上發(fā)送和接收語(yǔ)音信息,此時(shí)共享介質(zhì)是一個(gè)通信頻段,共享介質(zhì)可以看成是一個(gè)聲音可及的空間范圍。分隊(duì)通信仿真需要滿足兩個(gè)要求:在一個(gè)通信網(wǎng)空間內(nèi)某一成員發(fā)話,只有網(wǎng)內(nèi)成員才可聽(tīng)到,即語(yǔ)音數(shù)據(jù)只有網(wǎng)內(nèi)成員才可收到;特定成員(如連長(zhǎng))可收發(fā)兩個(gè)以上通信組網(wǎng)的語(yǔ)音數(shù)據(jù)。通過(guò)以上分析,利用組播技術(shù)可很好地滿足系統(tǒng)中對(duì)通信組網(wǎng)的要求。根據(jù)組播原理,可將位于同一通信網(wǎng)內(nèi)的成員抽象為一個(gè)組播組,如圖3所示。

圖3 通信網(wǎng)抽象模型

這樣,該戰(zhàn)術(shù)對(duì)抗系統(tǒng)為實(shí)現(xiàn)通信仿真功能可建立4個(gè)組播組:導(dǎo)演部組播組、上行電臺(tái)組播組、本級(jí)分隊(duì)組播組和火炮單車(chē)乘員組播組。

3 通信仿真的設(shè)計(jì)與實(shí)現(xiàn)

3.1 總體設(shè)計(jì)

根據(jù)以上分析,通信仿真子系統(tǒng)JVRadio使用socket傳輸語(yǔ)音數(shù)據(jù),利用IP組播地址建立通信組網(wǎng),利用Windows Waveform Audio API采集和播放語(yǔ)音。系統(tǒng)結(jié)構(gòu)如圖4所示。

圖4 系統(tǒng)結(jié)構(gòu)圖

電臺(tái)操作模塊,為電臺(tái)的各項(xiàng)操作(如發(fā)話,頻率選擇等)提供操作界面。當(dāng)按下發(fā)話鍵后,向管理控制模塊發(fā)出發(fā)話請(qǐng)求,然后根據(jù)管理控制模塊返回的信息決定是否向語(yǔ)音傳輸模塊發(fā)送傳輸指令。當(dāng)用戶(hù)進(jìn)行頻率設(shè)置時(shí),電臺(tái)操作模塊將頻率信息輸入信息記錄模塊。

信息記錄模塊,負(fù)責(zé)存儲(chǔ)電臺(tái)信息,包括電臺(tái)類(lèi)型、頻率等。

管理控制模塊,負(fù)責(zé)電臺(tái)發(fā)言權(quán)限的授予。具體功能:一是判斷席位是否屬于某一組播組,而后根據(jù)判斷結(jié)果決定是否進(jìn)行語(yǔ)音的發(fā)送與接收。二是模擬電臺(tái)單工通信。即當(dāng)某席位發(fā)話時(shí),組播組內(nèi)其他成員不能發(fā)話。

語(yǔ)音采集模塊,負(fù)責(zé)采集通話人員的語(yǔ)音信息,并將其轉(zhuǎn)換為可在網(wǎng)絡(luò)上傳輸?shù)亩M(jìn)制數(shù)據(jù)。

語(yǔ)音傳輸模塊,負(fù)責(zé)將語(yǔ)音采集模塊提供的數(shù)據(jù)通過(guò)網(wǎng)絡(luò)傳輸?shù)浇M播組內(nèi)各成員主機(jī),以及接收網(wǎng)絡(luò)上的數(shù)據(jù)以供語(yǔ)音播放模塊轉(zhuǎn)換為語(yǔ)音并播放。

語(yǔ)音播放模塊,負(fù)責(zé)播放語(yǔ)音傳輸模塊接收到的數(shù)據(jù)。

3.2 系統(tǒng)執(zhí)行流程

以分隊(duì)本級(jí)通信為例,在訓(xùn)練過(guò)程中參訓(xùn)人員選擇相應(yīng)席位登錄系統(tǒng)。而后通過(guò)電臺(tái)操作模塊完成頻率設(shè)置,輸入的頻率通過(guò)RTI發(fā)送給連長(zhǎng)席位,連長(zhǎng)驗(yàn)證傳入的頻率是否與本連電臺(tái)頻率一致,若一致則授權(quán)該席位加入組播組,此時(shí),該席位處于收聽(tīng)狀態(tài)。參訓(xùn)人員如需發(fā)言,則按下鍵盤(pán)與電臺(tái)相對(duì)應(yīng)的鍵位,如果此刻該組播組內(nèi)無(wú)其他人員發(fā)言,便會(huì)得到發(fā)言權(quán)限,參訓(xùn)人員可進(jìn)行發(fā)言。

為了增強(qiáng)實(shí)戰(zhàn)效果,在演習(xí)過(guò)程中,各席位可以動(dòng)態(tài)設(shè)置電臺(tái)頻率,以防敵軍通信干擾,設(shè)置及驗(yàn)證方法與前面相同。若輸入頻率與連長(zhǎng)頻率不一致,則不能進(jìn)行通信,具體做法是強(qiáng)制該席位退出組播組。如圖5所示。

圖5 電臺(tái)系統(tǒng)流程

3.3 通信網(wǎng)絡(luò)的組建

3.3.1 IP組播編程接口介紹

RFC1112推薦了一些支持組播的程序接口:

a.加入一個(gè)組播組;

b.離開(kāi)一個(gè)組播組;

c.對(duì)一個(gè)組播數(shù)據(jù)的IP TTL值進(jìn)行設(shè)定;

d.為組播傳輸和接收設(shè)定本地接口;

e.禁止輸出的組播數(shù)據(jù)回送。

多數(shù)TCP/IP實(shí)現(xiàn)都支持RFC1112所提到的要求,本系統(tǒng)采用Berkeley Socket API的setsockopt()的“套接字選項(xiàng)”功能來(lái)設(shè)置。表1描述了setsockopt()組播命令。

表1 setsockopt()組播命令說(shuō)明

在電臺(tái)網(wǎng)的組建過(guò)程中,利用套接字編程實(shí)現(xiàn)[2]。首先調(diào)用InitWinSocket()函數(shù)初始Socket,然后調(diào)用socket()函數(shù)創(chuàng)建一個(gè)UDP套接字,在套接字中指定要?jiǎng)?chuàng)建套接字所使用的屬性,再調(diào)用bind()函數(shù)將創(chuàng)建的套接字與本地端口綁定。

3.3.2 具體實(shí)現(xiàn)

JVRadio的核心功能由TRutil類(lèi)提供,該類(lèi)中的枚舉類(lèi)型TR_TYPE定義了系統(tǒng)范圍內(nèi)可用的語(yǔ)音分組類(lèi)別。

每個(gè)席位對(duì)應(yīng)一個(gè)或多個(gè)通話分組,TRUtil類(lèi)使用struct addr_struct來(lái)管理每個(gè)分組的地址信息及訪問(wèn)控制。struct addr_struct結(jié)構(gòu)如下:

其中,send_priority用于保存當(dāng)前席位在該分組中發(fā)送數(shù)據(jù)的優(yōu)先級(jí)。當(dāng)某一席位向分組中寫(xiě)入數(shù)據(jù)時(shí),其他分組無(wú)法同時(shí)寫(xiě)入。該獨(dú)占式的訪問(wèn)通過(guò)send_priority來(lái)控制:發(fā)起者首先檢查本地send_priority,如果為false,說(shuō)明其他席位正在發(fā)送數(shù)據(jù),發(fā)起者返回。如果為true,則發(fā)送一個(gè)檢測(cè)開(kāi)始報(bào)文到組播地址上,并將本地send_priority置為true,接著發(fā)送語(yǔ)音數(shù)據(jù)。統(tǒng)一分組內(nèi)的其他席位首先收到檢測(cè)開(kāi)始報(bào)文,將各自的send_priority置為false,接著收到發(fā)送者傳來(lái)的語(yǔ)音數(shù)據(jù)。發(fā)送者結(jié)束傳送時(shí)發(fā)出檢測(cè)結(jié)束報(bào)文,分組內(nèi)其他席位收到報(bào)文將各自的send_priority置為true。

組播的加入與退出通過(guò)setsockopt()函數(shù)實(shí)現(xiàn),setsockopt()的原型如下:

通過(guò)設(shè)置不同的optname值,可以實(shí)現(xiàn)不同功能,例如函數(shù)調(diào)用 setsockopt(s,IPPROTO_IP, IP_ADD_MEMBERSHIP,(char*) &mreq,sizeof(mreq)),使席位加入組播,其中,s為套接字,mreq中包含組播地址IP信息;

加入組播后,使用函數(shù)sendto()發(fā)送數(shù)據(jù),使用recvfrom()從組播組中接收數(shù)據(jù)。組播實(shí)現(xiàn)框架如圖6所示。

圖6 組播框架

3.4 語(yǔ)音的采集與播放

語(yǔ)音的采集與播放采用 Windows Waveform Audio API,提供的功能有:打開(kāi)/關(guān)閉/查詢(xún)聲音設(shè)備;播放波形文件;設(shè)置播放速度;錄音;調(diào)節(jié)音量[3]。

錄音的主要功能在函數(shù)RecStart()中完成,過(guò)程分為以下幾步:

a.打開(kāi)錄音設(shè)備,由函數(shù)waveInOpen()完成。

b.為錄音設(shè)備準(zhǔn)備緩存,由函數(shù)waveInPrepare-Header()完成。

c.為輸入設(shè)備增加一個(gè)緩存,由函數(shù)waveInAdd-Buffer()完成。

d.開(kāi)始錄音,由函數(shù)waveInStart()完成。

e.停止錄音,由函數(shù)waveInReset()完成。

播放的過(guò)程主要分為以下幾步:

a.打開(kāi)播放設(shè)備,由函數(shù)waveOutOpen()完成。

b.為回放設(shè)備準(zhǔn)備內(nèi)存塊,由函數(shù)waveOutPrepareHeader()完成。

c.播放錄音,由函數(shù)waveOutWrite()完成。

4 通信仿真的功能擴(kuò)展

通信仿真系統(tǒng)除了要完成4個(gè)通信組網(wǎng)語(yǔ)音通信任務(wù)外,在演習(xí)過(guò)程中,導(dǎo)演要能夠監(jiān)控演習(xí)情況,進(jìn)行必要的干預(yù)和演習(xí)后的分析講評(píng)。為此,系統(tǒng)提供了導(dǎo)演部席位監(jiān)聽(tīng)和部分席位廣播的擴(kuò)展功能。該功能主要通過(guò)發(fā)送HLA交互和動(dòng)態(tài)加入(建立)組播組機(jī)制實(shí)現(xiàn)。

4.1 席位監(jiān)聽(tīng)

席位監(jiān)聽(tīng)實(shí)現(xiàn)導(dǎo)演對(duì)任一參演席位語(yǔ)音通信的監(jiān)聽(tīng)。實(shí)現(xiàn)方法如下:

a.導(dǎo)演向被監(jiān)聽(tīng)席位發(fā)送HLA交互,獲取組播地址;

b.導(dǎo)演加入組播組;

c.接收語(yǔ)音數(shù)據(jù),進(jìn)行監(jiān)聽(tīng);

d.退出組播組,結(jié)束監(jiān)聽(tīng)。

4.2 部分席位廣播

在演習(xí)中,導(dǎo)演可能與部分席位進(jìn)行通話,這些席位可能屬于不同電臺(tái)網(wǎng),實(shí)現(xiàn)部分席位廣播不能簡(jiǎn)單通過(guò)加入某一組播組實(shí)現(xiàn),因?yàn)閷?dǎo)演只是對(duì)該組播組的特定成員發(fā)話。解決方案:由導(dǎo)演向通話的目標(biāo)席位發(fā)送建立新的組播組的HLA交互,建立新的組播組,各席位收到交互后加入該組播組,形成一個(gè)獨(dú)立的通信網(wǎng)進(jìn)行通話。具體流程如圖7所示。

圖7 部分席位通話流程

在本系統(tǒng)中,導(dǎo)演通過(guò)樹(shù)形控件選擇需要進(jìn)行部分通話的席位,如圖8所示。

圖8 部分通話席位操作界面

5 結(jié)束語(yǔ)

本文利用組播技術(shù)實(shí)現(xiàn)了分隊(duì)通信網(wǎng)絡(luò)的組建和功能仿真,通過(guò)與HLA技術(shù)有機(jī)結(jié)合,實(shí)現(xiàn)了分隊(duì)?wèi)?zhàn)術(shù)通信仿真的功能擴(kuò)展,下步工作主要在通信干擾和跳頻通信組網(wǎng)仿真作進(jìn)一步研究。

[1]Tanenbaum A S.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2004.

[2]Jones A,Ohluhd J.Windows網(wǎng)絡(luò)編程技術(shù)[M].北京:機(jī)械工業(yè)出版社,2005.

[3]黃一斌.分布式電臺(tái)仿真訓(xùn)練平臺(tái)研究[J].系統(tǒng)仿真學(xué)報(bào),2009,21(3):3951-3954.

Research on Communication Simulation Based on Multicast and HLA Technology in Element Tactical Training System

LIU Qing-guo
(Shenyang Artillery Academy,Shenyang 110162,China)

At the tactical simulation training,communication simulation is an important means to achieve combat command training.The paper discusses the methods to realize communication simulation by multicast technology and interaction of HLA by the development of a HLA-based tactical simulation training system,and the extended functions of the communication simulation in the system are also discussed.

HLA,multicast,communication simulation

TP391.9

A

1002-0640(2014)09-0135-04

2013-06-05

2013-09-03

軍隊(duì)重點(diǎn)項(xiàng)目;獲2011年軍隊(duì)科技進(jìn)步三等獎(jiǎng)。

劉慶國(guó)(1979- ),男,遼寧昌圖人,碩士研究生,講師。研究方向:作戰(zhàn)仿真。

猜你喜歡
通信網(wǎng)席位通話
基于SDN-MEC配用電通信網(wǎng)任務(wù)遷移策略
電子制作(2019年24期)2019-02-23 13:22:28
GSM-R通信網(wǎng)多徑干擾解決案例
《戊戌元日與友人通話》
PTN在電力通信網(wǎng)中的工程應(yīng)用
機(jī)構(gòu)席位買(mǎi)賣(mài)股追蹤
機(jī)構(gòu)席位買(mǎi)賣(mài)股追蹤
低成本視頻通話APP
機(jī)構(gòu)席位買(mǎi)賣(mài)股追蹤
電力通信網(wǎng)引入ASON技術(shù)探討
2013年11月通信業(yè)主要指標(biāo)完成情況(一)
大同县| 中山市| 大方县| 贵阳市| 烟台市| 屏南县| 从江县| 长沙市| 大石桥市| 会泽县| 和顺县| 城口县| 香河县| 固安县| 古交市| 厦门市| 通许县| 噶尔县| 长顺县| 班玛县| 榆中县| 冷水江市| 寿光市| 金寨县| 永春县| 阜新| 清新县| 凉城县| 阳高县| 沾化县| 同仁县| 武宁县| 清新县| 罗平县| 喀喇沁旗| 民权县| 绥江县| 昌吉市| 墨玉县| 务川| 灵台县|