董鴻鵬,金 雷,王春財(cái)
(中國人民解放軍92728部隊(duì), 上海 200040)
飛行模擬器能夠模擬航空器執(zhí)行飛行任務(wù)時(shí)的飛行狀態(tài)、飛行環(huán)境和飛行條件,能給飛行員提供近似真實(shí)的操縱負(fù)荷、視覺、聽覺以及運(yùn)動感覺,是提高飛行人員飛行訓(xùn)練水平的重要裝備。而通過對各飛行模擬器間的聯(lián)網(wǎng)建設(shè),能夠?qū)崿F(xiàn)不同種類的飛行模擬器(如戰(zhàn)斗機(jī)、運(yùn)輸機(jī)、直升機(jī)等),多臺模擬器分別扮演紅藍(lán)方進(jìn)行聯(lián)網(wǎng)模擬實(shí)時(shí)空戰(zhàn)訓(xùn)練的功能,能夠有效提高多機(jī)協(xié)同作戰(zhàn)的訓(xùn)練水平,是提高我軍戰(zhàn)斗力的重要保障[1]。在飛行模擬器聯(lián)網(wǎng)建設(shè)中,語音通信系統(tǒng)建設(shè)是其中非常重要的一個(gè)方面,它是保證多臺飛行模擬器共同訓(xùn)練過程中指揮命令能夠順利傳達(dá)的基礎(chǔ),是聯(lián)網(wǎng)訓(xùn)練任務(wù)能夠正常進(jìn)行的前提保障[2]。本文結(jié)合具體的工程項(xiàng)目要求,根據(jù)聯(lián)網(wǎng)模擬器的系統(tǒng)鏈路結(jié)構(gòu),設(shè)計(jì)了一種聯(lián)網(wǎng)飛行模擬器語音通信系統(tǒng)的實(shí)現(xiàn)方法,開發(fā)了一種語音切換軟件。
飛行模擬器聯(lián)網(wǎng)網(wǎng)絡(luò)系統(tǒng)的主要功能是提供模擬器之間的互聯(lián)互通及網(wǎng)絡(luò)通信管理功能,包括數(shù)據(jù)傳輸、語音通信和網(wǎng)絡(luò)管理等。其中的網(wǎng)絡(luò)語音通信系統(tǒng)是模擬在飛行模擬器聯(lián)網(wǎng)訓(xùn)練過程中總導(dǎo)調(diào)室、紅/藍(lán)方模擬指揮所與聯(lián)網(wǎng)模擬器相互之間的語音通話功能,是聯(lián)網(wǎng)模擬器建設(shè)的一個(gè)重要方面[3]。
聯(lián)網(wǎng)模擬器的語音通信系統(tǒng),主要包括總導(dǎo)調(diào)室、紅藍(lán)方指揮所、紅藍(lán)方模擬器教練員、紅藍(lán)方模擬器飛行員四個(gè)方面,其各自職能為:
1) 總導(dǎo)調(diào)室:負(fù)責(zé)整個(gè)飛行模擬器聯(lián)網(wǎng)訓(xùn)練想定的生成、訓(xùn)練過程的監(jiān)控、訓(xùn)練勝負(fù)的評判和演習(xí)結(jié)果的講評,協(xié)調(diào)訓(xùn)練過程各方人員間的指揮通信等;
2) 紅藍(lán)方指揮所:模擬地面指揮所進(jìn)行指揮引導(dǎo)的功能,包括模擬指揮所領(lǐng)航臺系統(tǒng)和雷達(dá)臺,接收態(tài)勢數(shù)據(jù),實(shí)現(xiàn)目標(biāo)的雷達(dá)態(tài)勢和綜合態(tài)勢畫面顯示,并進(jìn)行語音的指揮引導(dǎo)等;
3) 紅藍(lán)方模擬器教練員:根據(jù)訓(xùn)練想定設(shè)置模擬器相關(guān)參數(shù),監(jiān)控模擬器飛行員的飛行動作,訓(xùn)練后對飛行員進(jìn)行指導(dǎo)講評;
4) 紅藍(lán)方模擬器飛行員:根據(jù)接受的命令操作模擬器進(jìn)行飛行訓(xùn)練。
為實(shí)現(xiàn)飛行模擬器聯(lián)網(wǎng)訓(xùn)練的功能,必須具備語音通信系統(tǒng),能夠模擬出總導(dǎo)調(diào)室、紅藍(lán)方模擬指揮所與聯(lián)網(wǎng)飛行模擬器相互之間的語音通話功能。語音通信系統(tǒng)結(jié)構(gòu)如圖1所示,系統(tǒng)各個(gè)部分通過模擬器聯(lián)網(wǎng)網(wǎng)絡(luò)系統(tǒng)的主干網(wǎng)進(jìn)行連接和通信。
圖1 語音通信系統(tǒng)結(jié)構(gòu)示意圖
語音通信系統(tǒng)中每個(gè)聯(lián)網(wǎng)節(jié)點(diǎn)(總導(dǎo)調(diào)室,紅藍(lán)方模擬指揮所和飛機(jī)模擬器)將語音輸入到相應(yīng)的語音計(jì)算機(jī),然后語音計(jì)算機(jī)根據(jù)分組情況通過網(wǎng)絡(luò)發(fā)送給可通話的其他節(jié)點(diǎn)的語音計(jì)算機(jī)。語音計(jì)算機(jī)一般由各個(gè)分系統(tǒng)的網(wǎng)絡(luò)服務(wù)器來擔(dān)當(dāng),在總導(dǎo)調(diào)室的語音計(jì)算機(jī)為總語音計(jì)算機(jī),其他節(jié)點(diǎn)語音計(jì)算機(jī)啟動后發(fā)送網(wǎng)絡(luò)命令給總語音計(jì)算機(jī),總語音計(jì)算機(jī)根據(jù)作戰(zhàn)想定設(shè)置紅、藍(lán)方等。紅、藍(lán)方通過總語音計(jì)算機(jī)中轉(zhuǎn)實(shí)現(xiàn)各自音頻通訊互不干擾,同時(shí)又可跟總導(dǎo)調(diào)室進(jìn)行語音通信。整個(gè)聯(lián)網(wǎng)語音通信系統(tǒng)的聲音收發(fā)邏輯關(guān)系如表1所示。
表1 聲音收發(fā)關(guān)系
語音通信系統(tǒng)包括軟件和硬件兩部分,硬件主要包括數(shù)字音頻處理服務(wù)器、計(jì)算機(jī)、網(wǎng)絡(luò)交換機(jī)、指揮話筒、揚(yáng)聲器、耳機(jī)等,軟件是指數(shù)字音頻處理切換軟件。
負(fù)責(zé)總導(dǎo)調(diào)語音系統(tǒng)的計(jì)算機(jī)需安裝音頻切換軟件,計(jì)算機(jī)聲卡的輸入連接話筒,使用兩個(gè)通道的聲音輸出分別作為紅藍(lán)方聲音信號輸出??倢?dǎo)調(diào)通話鏈路圖如圖2,總導(dǎo)調(diào)語音系統(tǒng)的功能有:
1) 實(shí)時(shí)播放紅藍(lán)方模擬器人員的通話情況;
2) 實(shí)時(shí)播放紅藍(lán)方指揮所人員的通話情況;
3) 給系統(tǒng)中所有的人員發(fā)出語音廣播;
4) 按模擬器分組即紅、藍(lán)方角色設(shè)置語音通信的范圍。
紅藍(lán)方指揮所語音系統(tǒng)均需有一臺安裝語音切換軟件的計(jì)算機(jī),該計(jì)算機(jī)的聲卡輸入連接話筒,輸出播放接收到的所有聲音。雙方指揮所語音系統(tǒng)功能主要有:
1) 實(shí)時(shí)播放本方模擬器人員的通話情況;
2) 給本方所有的人員發(fā)出語音廣播;
3) 設(shè)置本方模擬器的通信波道。
聯(lián)網(wǎng)模擬器語音系統(tǒng)由音頻處理器、模擬器信號采集計(jì)算機(jī)、聯(lián)網(wǎng)語音計(jì)算機(jī)組成,如圖3所示。模擬器語音系統(tǒng)中由模擬器信號采集計(jì)算機(jī)將采集的聲音操作相關(guān)信號通過UDP數(shù)據(jù)包,發(fā)給聯(lián)網(wǎng)語音計(jì)算機(jī)和音頻處理器。音頻處理器將一路輸入輸出語音連到聯(lián)網(wǎng)語音計(jì)算機(jī),聯(lián)網(wǎng)語音計(jì)算機(jī)通過使用語音切換軟件,實(shí)現(xiàn)網(wǎng)絡(luò)語音通信[4]。
圖3 模擬器語音系統(tǒng)組成
為滿足上述語音系統(tǒng)所需的功能要求,設(shè)計(jì)了一種數(shù)字音頻切換軟件,能夠?qū)崿F(xiàn)對數(shù)字音頻的聯(lián)網(wǎng)控制。該軟件是基于微軟.NET平臺進(jìn)行開發(fā),保證軟件的適應(yīng)性和先進(jìn)性[5-6]。
數(shù)字音頻切換軟件主要由通訊模塊、音頻切換模塊和音頻配置模塊等三個(gè)模塊組成。軟件的結(jié)構(gòu)圖如圖4所示。
圖4 音頻切換軟件結(jié)構(gòu)
軟件使用UDP網(wǎng)絡(luò)通信協(xié)議,將用戶命令通過Socket通訊發(fā)送至模擬器,再利用Socket通訊方式接收模擬器反饋的命令執(zhí)行狀態(tài)和音頻設(shè)備當(dāng)前狀態(tài),并將信息轉(zhuǎn)發(fā)至音頻切換模塊,音頻切換模塊將信息在界面上展示。
音頻切換模塊啟動時(shí)首先從數(shù)據(jù)庫中查詢配置好的音頻設(shè)備信息,根據(jù)音頻設(shè)備信息的通道類型、編號和名稱,在顯示界面顯示。當(dāng)用戶在操作界面點(diǎn)擊相應(yīng)的打開或者關(guān)閉音頻通道按鈕時(shí),模塊根據(jù)用戶的點(diǎn)擊按鈕,生成打開或關(guān)閉命令消息,通過調(diào)用通信模塊將命令發(fā)送至模擬器。本模塊對通信模塊將收到的反饋信息進(jìn)行處理,將其和發(fā)送命令共同在軟件顯示界面上進(jìn)行狀態(tài)更新展示。音頻切換顯示界面如圖5所示。
圖5 音頻切換顯示界面
軟件界面中的左通道區(qū)域顯示所有的左通道音頻設(shè)備信息,右通道區(qū)域顯示所有的右通道音頻設(shè)備信息,用戶可將左右通道區(qū)域自行定義為主機(jī)和從機(jī)區(qū)域。鏈接信息下方文本框顯示用戶發(fā)送的命令、命令的反饋信息詳情。用戶可通過本功能實(shí)現(xiàn)將相應(yīng)音頻設(shè)備從通話狀態(tài)切換至空閑狀態(tài)或從空閑狀態(tài)切換至通話狀態(tài)。
音頻設(shè)備顏色標(biāo)識:藍(lán)色表示主機(jī)空閑狀態(tài);綠色表示主機(jī)通話狀態(tài);橙色表示從機(jī)空閑狀態(tài);紅色表示從機(jī)通話狀態(tài)。
音頻配置模塊主要功能是從數(shù)據(jù)庫信息中查詢當(dāng)前配置好的音頻設(shè)備,并對其進(jìn)行增加、刪除和修改可用的音頻設(shè)備,生成的音頻設(shè)備數(shù)據(jù)庫文件供音頻切換模塊使用,軟件界面如圖6所示。
圖6 音頻設(shè)備配置界面
音頻設(shè)備數(shù)據(jù)庫使用小型關(guān)系型SQLite數(shù)據(jù)庫來存儲可用的音頻設(shè)備信息。SQLite數(shù)據(jù)庫是一種嵌入式開源的關(guān)系型數(shù)據(jù)庫,具有零配置、無服務(wù)器、自包含等特點(diǎn),能方便、快捷地實(shí)現(xiàn)對音頻設(shè)備信息的增加、刪除和修改[7]。
經(jīng)過實(shí)際測試證明,本文設(shè)計(jì)的語音通信系統(tǒng)能夠滿足飛行模擬器聯(lián)網(wǎng)訓(xùn)練的使用需求,多方通話過程中語音數(shù)據(jù)流正常,語音質(zhì)量良好,語音延遲小于100 ms,滿足系統(tǒng)設(shè)計(jì)的指標(biāo)要求,在飛行模擬器聯(lián)網(wǎng)訓(xùn)練中收到良好效果。
[1] 張偉,閆景波.飛機(jī)模擬器與模擬訓(xùn)練[M].北京:航空工業(yè)出版社,2017.
[2] 高煊,鄭康平.飛行模擬系統(tǒng)中分布交互式視景的設(shè)計(jì)與實(shí)現(xiàn)[J].指揮控制與仿真,2013,35(5):84-87.
[3] 李雪青,艾祖亮,王再奎,等.飛行模擬器聯(lián)網(wǎng)訓(xùn)練系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(4):54-60.
[4] 司聿宣,蘇遠(yuǎn)興,楊正芳.分布式環(huán)境實(shí)時(shí)語音通訊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].武漢工程大學(xué)學(xué)報(bào),2012,34(5):60-63.
[5] 李寧溪,張峽.基于LAN的語音通訊軟件設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2003(4):137-139.
[6] 李建忠.Microsoft.Net框架程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2003.
[7] MICHAEL O.The Definitive Guide to SQLite[M].US:APress,2006.
[8] 鄧晴鶯,李國翬,王寶奇,等. 某飛行模擬器視景系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].兵工自動化,2016(8):75-79.