飛行試驗(yàn)遙測監(jiān)控語音播報(bào)軟件設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
飛行試驗(yàn),指的是在真實(shí)飛行環(huán)境條件下對飛機(jī)進(jìn)行試驗(yàn)的過程。飛行試驗(yàn)是一項(xiàng)投資成本大、風(fēng)險(xiǎn)系數(shù)高、測試周期長的綜合性試驗(yàn)項(xiàng)目,為保證飛行試驗(yàn)的安全進(jìn)行,必須對飛行試驗(yàn)的全過程實(shí)施遙測監(jiān)控。開展遙測監(jiān)控是確保飛行試驗(yàn)安全、提高試驗(yàn)效率、縮短試驗(yàn)周期的重要措施,也是確保試飛安全和各試飛科目順利進(jìn)行的基本前提。長期的實(shí)踐經(jīng)驗(yàn)和事實(shí)表明,遙測監(jiān)控對飛行試驗(yàn)技術(shù)的發(fā)展產(chǎn)生了重大影響和促進(jìn)作用。
隨著飛行指揮員及地面試飛工程師對試飛要求的不斷提高,他們對遙測監(jiān)控軟件的功能也提出了更高的要求。
1需求分析
目前,飛行指揮員及地面試飛工程師使用的遙測監(jiān)控軟件大部分是在LabVIEW開發(fā)環(huán)境下進(jìn)行開發(fā)的,且實(shí)時(shí)監(jiān)控參數(shù)以數(shù)值、曲線、狀態(tài)燈和告警燈等形式進(jìn)行顯示。
飛機(jī)在飛行試驗(yàn)過程中需要飛行指揮員及地面試飛工程師始終關(guān)注遙測監(jiān)控軟件界面,但在實(shí)際飛行試驗(yàn)過程中,由于試飛時(shí)間往往長達(dá)幾個(gè)小時(shí),監(jiān)控參數(shù)又多達(dá)幾千個(gè),飛行指揮員及地面試飛工程師難免會出現(xiàn)注意力不集中的情況,當(dāng)飛機(jī)的系統(tǒng)工作狀態(tài)發(fā)生改變或出現(xiàn)故障時(shí),如果沒有及時(shí)發(fā)現(xiàn),就容易影響飛行試驗(yàn)的安全。
基于此,本文介紹了一種基于TTS語音合成技術(shù)的飛行試驗(yàn)遙測監(jiān)控語音播報(bào)軟件。在飛機(jī)的系統(tǒng)工作狀態(tài)發(fā)生改變或出現(xiàn)故障時(shí),除了以原有形式顯示實(shí)時(shí)監(jiān)控參數(shù)外,該軟件可同時(shí)播報(bào)出系統(tǒng)工作狀態(tài)或故障信息的內(nèi)容,使飛行指揮員及地面試飛工程師能立即了解飛機(jī)實(shí)時(shí)狀態(tài)并做出相應(yīng)處置,在最大程度上保證試飛安全。
2TTS語音合成技術(shù)
TTS是TextToSpeech的縮寫,即"從文本到語音",是將文字信息轉(zhuǎn)換成計(jì)算機(jī)語音信息,并通過計(jì)算機(jī)聲卡說出來。
TTS語音合成技術(shù)由語言學(xué)處理、韻律處理和聲學(xué)處理三個(gè)模塊組成,其中的聲學(xué)處理是最核心的模塊,主要功能是根據(jù)韻律處理的結(jié)果,從原始語音庫中取出相應(yīng)的聲音樣本,利用語音合成技術(shù)對聲音樣本進(jìn)行韻律特性的調(diào)整和修改,最終使合成的語音清晰自然和富有感染力。TTS語音合成技術(shù)的基本結(jié)構(gòu)如圖1所示。
3軟件的設(shè)計(jì)與實(shí)現(xiàn)
3.1遙測監(jiān)控語音播報(bào)軟件的設(shè)計(jì)與實(shí)現(xiàn)
遙測監(jiān)控系統(tǒng)采用C/S結(jié)構(gòu),由實(shí)時(shí)信號處理服務(wù)器和遙測監(jiān)控客戶端組成。實(shí)時(shí)信號處理服務(wù)器主要將遙測地面接收天線接收的被測飛機(jī)發(fā)射的遙測信號轉(zhuǎn)變?yōu)檫b測PCM信號,再將遙測PCM信號進(jìn)行PCM反變換,包括進(jìn)行碼同步、幀同步、信號下變頻、調(diào)制解調(diào)、物理量轉(zhuǎn)換等一系列的實(shí)時(shí)變換處理后,通過網(wǎng)絡(luò)傳輸至遙測監(jiān)控客戶端,實(shí)現(xiàn)遙測監(jiān)控軟件的調(diào)度和數(shù)據(jù)顯示。飛行指揮員及地面試飛工程師由此實(shí)現(xiàn)對飛行試驗(yàn)過程的遙測監(jiān)控。飛行試驗(yàn)遙測監(jiān)控系統(tǒng)的軟件功能結(jié)構(gòu)如圖2所示。
圖2 飛行試驗(yàn)遙測監(jiān)控系統(tǒng)的軟件功能結(jié)構(gòu)
本文設(shè)計(jì)的遙測監(jiān)控語音播報(bào)軟件在LabVIEW開發(fā)環(huán)境下利用MicroSoftSpeechSDK語音開發(fā)包提供的TTS語音合成引擎接口進(jìn)行開發(fā),由實(shí)時(shí)監(jiān)控模塊和語音播報(bào)模塊兩個(gè)模塊組成。實(shí)時(shí)監(jiān)控模塊通過讀取遙測監(jiān)控客戶端數(shù)據(jù)通信接口發(fā)出的遙測數(shù)據(jù)進(jìn)行自動(dòng)判斷,當(dāng)飛機(jī)的系統(tǒng)工作狀態(tài)發(fā)生改變或出現(xiàn)故障時(shí),實(shí)時(shí)監(jiān)控參數(shù)除了以原有的形式顯示外,還同時(shí)觸發(fā)語音播報(bào)模塊播報(bào)出系統(tǒng)工作狀態(tài)或故障信息的內(nèi)容,使飛行指揮員及地面試飛工程師能立即了解飛機(jī)實(shí)時(shí)狀態(tài),在最大程度上保證飛行安全。
為了在遙測監(jiān)控軟件中實(shí)現(xiàn)語音播報(bào)的同時(shí)不影響實(shí)時(shí)監(jiān)控模塊中監(jiān)控?cái)?shù)據(jù)的接收,必須使實(shí)時(shí)監(jiān)控模塊和語音播報(bào)模塊并行運(yùn)行,即雙線程并行運(yùn)行,否則,軟件會等待語音播報(bào)完畢后再繼續(xù)接收實(shí)時(shí)監(jiān)控參數(shù)的數(shù)據(jù),從而產(chǎn)生延遲,嚴(yán)重影響遙測監(jiān)控軟件的實(shí)時(shí)性。
3.2實(shí)時(shí)監(jiān)控模塊的設(shè)計(jì)與實(shí)現(xiàn)
實(shí)時(shí)信號處理服務(wù)器通過UDP協(xié)議廣播/組播的方式,將需要實(shí)時(shí)監(jiān)控參數(shù)的物理量發(fā)送到遙測監(jiān)控客戶端,再由客戶端實(shí)現(xiàn)遙測監(jiān)控軟件的調(diào)度和數(shù)據(jù)顯示。針對遙測監(jiān)控客戶端與遙測監(jiān)控軟件的數(shù)據(jù)通信接口,設(shè)計(jì)實(shí)時(shí)監(jiān)控模塊。
實(shí)時(shí)監(jiān)控模塊可實(shí)現(xiàn)當(dāng)飛機(jī)的系統(tǒng)工作狀態(tài)發(fā)生改變或出現(xiàn)故障時(shí),相應(yīng)指示燈亮起,同時(shí)該指示燈的值同步傳遞至語音播報(bào)模塊。主要實(shí)現(xiàn)步驟如下:
(1)在LabVIEW環(huán)境下,單擊函數(shù)一編程一數(shù)組一索引數(shù)組:
(2)在該控件的左側(cè)"索引"連線分支單擊右鍵,選擇創(chuàng)建一常量,輸入需要實(shí)時(shí)監(jiān)控參數(shù)的索引號:
(3)依次單擊函數(shù)二編程二數(shù)值二轉(zhuǎn)換二轉(zhuǎn)換為無符號長整型控件、數(shù)值至布爾數(shù)組轉(zhuǎn)換:
(4)同(1)步驟創(chuàng)建索引數(shù)組,根據(jù)實(shí)時(shí)監(jiān)控參數(shù)中的狀態(tài)或故障信息所在的數(shù)據(jù)位輸入索引號:
(5)在該控件右側(cè)與"索引號"相對應(yīng)的"元素"連線分支單擊右鍵,選擇創(chuàng)建二顯示控件,即創(chuàng)建指示燈控件:
(6)右鍵單擊(5)中創(chuàng)建的指示燈控件,選擇創(chuàng)建二局部變量,并轉(zhuǎn)換為讀取。
實(shí)時(shí)監(jiān)控模塊部分程序框圖如圖3所示。
圖3 實(shí)時(shí)監(jiān)控模塊部分程序框圖
3.3語音播報(bào)模塊的設(shè)計(jì)與實(shí)現(xiàn)
語音播報(bào)模塊主要功能由"布爾值轉(zhuǎn)換"、實(shí)時(shí)監(jiān)控模塊中顯示飛機(jī)系統(tǒng)工作狀態(tài)或故障信息的局部變量和TTS子VI實(shí)現(xiàn)。
當(dāng)顯示飛機(jī)系統(tǒng)工作狀態(tài)或故障信息的指示燈以"局部變量"的形式傳至該模塊時(shí),可通過"布爾值轉(zhuǎn)換"對該"局部變量"的值加以判斷,確認(rèn)其狀態(tài)由"falSe一true"即"從無到有"變化時(shí),觸發(fā)"TTS子VI",從而實(shí)現(xiàn)語音播報(bào)的功能。此外,在語音播報(bào)模塊中另創(chuàng)建與顯示飛機(jī)系統(tǒng)工作狀態(tài)或故障信息的指示燈相對應(yīng)的開關(guān)按鈕??赏ㄟ^開關(guān)按鈕選擇單獨(dú)關(guān)閉某一個(gè)語音播報(bào)程序。
其中,TTS語音合成子VI的具體實(shí)現(xiàn)步驟如下:
(1)在WindoWS操作系統(tǒng)下安裝MicroSoftSpeechSDK:
(2)在LabVIEW環(huán)境下,單擊函數(shù)二互連接口二Activex二打開自動(dòng)化,即打開聲音引擎:
(3)右鍵單擊該控件的左側(cè)"自動(dòng)化引用句柄"連線分支,選擇Activex類二SpechLib.ISpeechVoice:
(4)繼續(xù)在該控件的右側(cè)"自動(dòng)化引用句柄"連線分支單擊右鍵,選擇創(chuàng)建二SpeechLib.ISpeechVoice類的方法二Speak,調(diào)用方法節(jié)點(diǎn):
(5)在(3)中調(diào)用方法節(jié)點(diǎn)控件的"Text"連線分支單擊右鍵,選擇創(chuàng)建二輸入控件,即可將語音告警的文本信息輸入到該輸入控件中:
(6)繼續(xù)在(3)中調(diào)用方法節(jié)點(diǎn)控件的"引用輸出"連線分支單擊右鍵,選擇Activex選板二關(guān)閉引用,即關(guān)閉聲音引擎。
TTS子VI前面板如圖4所示,TTS子VI程序框圖如圖5所示。
圖4 TTS子V1前面板圖
圖5 TTS子V1程序框圖
語音播報(bào)模塊主要實(shí)現(xiàn)步驟如下:
(1)在LabVIEW環(huán)境下,單擊函數(shù)二信號處理二逐點(diǎn)二其他函數(shù)二布爾值轉(zhuǎn)換:
(2)在該控件的左側(cè)"輸入"連線分支單擊左鍵,與實(shí)時(shí)監(jiān)控模塊中顯示飛機(jī)系統(tǒng)工作狀態(tài)或故障信息的局部變量連接:
(3)繼續(xù)在該控件的左側(cè)"方向"連線分支單擊右鍵,選擇創(chuàng)建二常量,選擇"falSe一true":
(4)單擊函數(shù)二布爾二與:
(5)在該控件的左側(cè)"x"連線分支單擊右鍵,選擇創(chuàng)建二輸入控件:
(6)繼續(xù)在該控件的左側(cè)"y"連線分支單擊左鍵,與(1)中創(chuàng)建控件的右側(cè)"轉(zhuǎn)換"連線分支連接:
(7)單擊函數(shù)二編程二結(jié)構(gòu)二條件結(jié)構(gòu):
(8)在該控件的左側(cè)"分支選擇器"連線分支單擊左鍵,與(4)中創(chuàng)建的"與"控件的右側(cè)"x=y?"連線分支連接:當(dāng)分支為真時(shí),運(yùn)行TTS子VI,當(dāng)分支為假時(shí),不運(yùn)行TTS子VI。
語音播報(bào)模塊部分程序框圖如圖6所示。
圖6 語音播報(bào)模塊部分程序框圖
4軟件的應(yīng)用效果
目前,該軟件已經(jīng)成功地應(yīng)用于某型教練機(jī)飛行試驗(yàn)的遙測監(jiān)控中,飛行試驗(yàn)遙測監(jiān)控語音播報(bào)軟件的用戶界面如圖7所示。在飛行試驗(yàn)的過程中,如出現(xiàn)"起落架收起""飛控系統(tǒng)故障"或"發(fā)動(dòng)機(jī)不工作"等狀態(tài),遙測監(jiān)控軟件中相應(yīng)的指示燈亮起,同時(shí)語音播報(bào)出"起落架收起""飛控系統(tǒng)故障"或"發(fā)動(dòng)機(jī)不工作"。
5 結(jié)語
將TTS語音合成技術(shù)引入飛行試驗(yàn)遙測監(jiān)控系統(tǒng) ,可以使飛行指揮員及地面試飛工程師在第一 時(shí)間了解飛機(jī)的系統(tǒng)工作狀態(tài)或故障信息的內(nèi)容 ,做出相應(yīng)處置,尤其是在高風(fēng)險(xiǎn)的飛行試驗(yàn)科目中 , 能起到及時(shí)提醒飛行指揮員及地面試飛工程師飛機(jī)實(shí)時(shí)狀態(tài)的作用 ,相對于僅有數(shù)值、曲線、狀態(tài)燈和告警燈等顯示形式的傳統(tǒng)遙測監(jiān)控軟件 ,大大提高了遙測監(jiān)控的效率 ,有效保證了試飛安全、順利地進(jìn)行 。此外 ,在LabVIEW開發(fā)環(huán)境下開發(fā)的語音播報(bào)軟件具有開發(fā)實(shí)用性好 、人機(jī)界面友好等特點(diǎn) 。根據(jù)飛行指揮員及地面試飛工程師的需求 ,后續(xù)還可修改或增加飛機(jī)的其他系統(tǒng)狀態(tài)或故障信息 , 以便更好地完成飛行試驗(yàn)任務(wù)。