飞行试验遥测监控语音播报软件设计与实现
扫描二维码
随时随地手机看文章
引言
飞行试验,指的是在真实飞行环境条件下对飞机进行试验的过程。飞行试验是一项投资成本大、风险系数高、测试周期长的综合性试验项目,为保证飞行试验的安全进行,必须对飞行试验的全过程实施遥测监控。开展遥测监控是确保飞行试验安全、提高试验效率、缩短试验周期的重要措施,也是确保试飞安全和各试飞科目顺利进行的基本前提。长期的实践经验和事实表明,遥测监控对飞行试验技术的发展产生了重大影响和促进作用。
随着飞行指挥员及地面试飞工程师对试飞要求的不断提高,他们对遥测监控软件的功能也提出了更高的要求。
1需求分析
目前,飞行指挥员及地面试飞工程师使用的遥测监控软件大部分是在LabVIEW开发环境下进行开发的,且实时监控参数以数值、曲线、状态灯和告警灯等形式进行显示。
飞机在飞行试验过程中需要飞行指挥员及地面试飞工程师始终关注遥测监控软件界面,但在实际飞行试验过程中,由于试飞时间往往长达几个小时,监控参数又多达几千个,飞行指挥员及地面试飞工程师难免会出现注意力不集中的情况,当飞机的系统工作状态发生改变或出现故障时,如果没有及时发现,就容易影响飞行试验的安全。
基于此,本文介绍了一种基于TTS语音合成技术的飞行试验遥测监控语音播报软件。在飞机的系统工作状态发生改变或出现故障时,除了以原有形式显示实时监控参数外,该软件可同时播报出系统工作状态或故障信息的内容,使飞行指挥员及地面试飞工程师能立即了解飞机实时状态并做出相应处置,在最大程度上保证试飞安全。
2TTS语音合成技术
TTS是TextToSpeech的缩写,即"从文本到语音",是将文字信息转换成计算机语音信息,并通过计算机声卡说出来。
TTS语音合成技术由语言学处理、韵律处理和声学处理三个模块组成,其中的声学处理是最核心的模块,主要功能是根据韵律处理的结果,从原始语音库中取出相应的声音样本,利用语音合成技术对声音样本进行韵律特性的调整和修改,最终使合成的语音清晰自然和富有感染力。TTS语音合成技术的基本结构如图1所示。
3软件的设计与实现
3.1遥测监控语音播报软件的设计与实现
遥测监控系统采用C/S结构,由实时信号处理服务器和遥测监控客户端组成。实时信号处理服务器主要将遥测地面接收天线接收的被测飞机发射的遥测信号转变为遥测PCM信号,再将遥测PCM信号进行PCM反变换,包括进行码同步、帧同步、信号下变频、调制解调、物理量转换等一系列的实时变换处理后,通过网络传输至遥测监控客户端,实现遥测监控软件的调度和数据显示。飞行指挥员及地面试飞工程师由此实现对飞行试验过程的遥测监控。飞行试验遥测监控系统的软件功能结构如图2所示。
图2 飞行试验遥测监控系统的软件功能结构
本文设计的遥测监控语音播报软件在LabVIEW开发环境下利用MicroSoftSpeechSDK语音开发包提供的TTS语音合成引擎接口进行开发,由实时监控模块和语音播报模块两个模块组成。实时监控模块通过读取遥测监控客户端数据通信接口发出的遥测数据进行自动判断,当飞机的系统工作状态发生改变或出现故障时,实时监控参数除了以原有的形式显示外,还同时触发语音播报模块播报出系统工作状态或故障信息的内容,使飞行指挥员及地面试飞工程师能立即了解飞机实时状态,在最大程度上保证飞行安全。
为了在遥测监控软件中实现语音播报的同时不影响实时监控模块中监控数据的接收,必须使实时监控模块和语音播报模块并行运行,即双线程并行运行,否则,软件会等待语音播报完毕后再继续接收实时监控参数的数据,从而产生延迟,严重影响遥测监控软件的实时性。
3.2实时监控模块的设计与实现
实时信号处理服务器通过UDP协议广播/组播的方式,将需要实时监控参数的物理量发送到遥测监控客户端,再由客户端实现遥测监控软件的调度和数据显示。针对遥测监控客户端与遥测监控软件的数据通信接口,设计实时监控模块。
实时监控模块可实现当飞机的系统工作状态发生改变或出现故障时,相应指示灯亮起,同时该指示灯的值同步传递至语音播报模块。主要实现步骤如下:
(1)在LabVIEW环境下,单击函数一编程一数组一索引数组:
(2)在该控件的左侧"索引"连线分支单击右键,选择创建一常量,输入需要实时监控参数的索引号:
(3)依次单击函数二编程二数值二转换二转换为无符号长整型控件、数值至布尔数组转换:
(4)同(1)步骤创建索引数组,根据实时监控参数中的状态或故障信息所在的数据位输入索引号:
(5)在该控件右侧与"索引号"相对应的"元素"连线分支单击右键,选择创建二显示控件,即创建指示灯控件:
(6)右键单击(5)中创建的指示灯控件,选择创建二局部变量,并转换为读取。
实时监控模块部分程序框图如图3所示。
图3 实时监控模块部分程序框图
3.3语音播报模块的设计与实现
语音播报模块主要功能由"布尔值转换"、实时监控模块中显示飞机系统工作状态或故障信息的局部变量和TTS子VI实现。
当显示飞机系统工作状态或故障信息的指示灯以"局部变量"的形式传至该模块时,可通过"布尔值转换"对该"局部变量"的值加以判断,确认其状态由"falSe一true"即"从无到有"变化时,触发"TTS子VI",从而实现语音播报的功能。此外,在语音播报模块中另创建与显示飞机系统工作状态或故障信息的指示灯相对应的开关按钮。可通过开关按钮选择单独关闭某一个语音播报程序。
其中,TTS语音合成子VI的具体实现步骤如下:
(1)在WindoWS操作系统下安装MicroSoftSpeechSDK:
(2)在LabVIEW环境下,单击函数二互连接口二Activex二打开自动化,即打开声音引擎:
(3)右键单击该控件的左侧"自动化引用句柄"连线分支,选择Activex类二SpechLib.ISpeechVoice:
(4)继续在该控件的右侧"自动化引用句柄"连线分支单击右键,选择创建二SpeechLib.ISpeechVoice类的方法二Speak,调用方法节点:
(5)在(3)中调用方法节点控件的"Text"连线分支单击右键,选择创建二输入控件,即可将语音告警的文本信息输入到该输入控件中:
(6)继续在(3)中调用方法节点控件的"引用输出"连线分支单击右键,选择Activex选板二关闭引用,即关闭声音引擎。
TTS子VI前面板如图4所示,TTS子VI程序框图如图5所示。
图4 TTS子V1前面板图
图5 TTS子V1程序框图
语音播报模块主要实现步骤如下:
(1)在LabVIEW环境下,单击函数二信号处理二逐点二其他函数二布尔值转换:
(2)在该控件的左侧"输入"连线分支单击左键,与实时监控模块中显示飞机系统工作状态或故障信息的局部变量连接:
(3)继续在该控件的左侧"方向"连线分支单击右键,选择创建二常量,选择"falSe一true":
(4)单击函数二布尔二与:
(5)在该控件的左侧"x"连线分支单击右键,选择创建二输入控件:
(6)继续在该控件的左侧"y"连线分支单击左键,与(1)中创建控件的右侧"转换"连线分支连接:
(7)单击函数二编程二结构二条件结构:
(8)在该控件的左侧"分支选择器"连线分支单击左键,与(4)中创建的"与"控件的右侧"x=y?"连线分支连接:当分支为真时,运行TTS子VI,当分支为假时,不运行TTS子VI。
语音播报模块部分程序框图如图6所示。
图6 语音播报模块部分程序框图
4软件的应用效果
目前,该软件已经成功地应用于某型教练机飞行试验的遥测监控中,飞行试验遥测监控语音播报软件的用户界面如图7所示。在飞行试验的过程中,如出现"起落架收起""飞控系统故障"或"发动机不工作"等状态,遥测监控软件中相应的指示灯亮起,同时语音播报出"起落架收起""飞控系统故障"或"发动机不工作"。
5 结语
将TTS语音合成技术引入飞行试验遥测监控系统 ,可以使飞行指挥员及地面试飞工程师在第一 时间了解飞机的系统工作状态或故障信息的内容 ,做出相应处置,尤其是在高风险的飞行试验科目中 , 能起到及时提醒飞行指挥员及地面试飞工程师飞机实时状态的作用 ,相对于仅有数值、曲线、状态灯和告警灯等显示形式的传统遥测监控软件 ,大大提高了遥测监控的效率 ,有效保证了试飞安全、顺利地进行 。此外 ,在LabVIEW开发环境下开发的语音播报软件具有开发实用性好 、人机界面友好等特点 。根据飞行指挥员及地面试飞工程师的需求 ,后续还可修改或增加飞机的其他系统状态或故障信息 , 以便更好地完成飞行试验任务。