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