论文部分内容阅读
[摘 要]飞行模拟器是飞行员常用的训练装备之一,包括飞行解算仿真,仪表仿真、视景仿真和音效仿真等多个相对独立而又互相交联的软硬件系统。本文主要围绕某型飞机的音效仿真进行了深入研究,重点对音效仿真系统的硬件组成、软件仿真进行了深入探讨和算法实现。通过调研某型飞机的真实状态采集了约200个飞机声音原音数据,采用若干种声音处理技术和实现方法对其进行测试,最终利用DirectSound技术实现了某型直升机飞行模拟器的音效仿真,为飞行模拟器复杂战场环境下的音效仿真提供了一种有效的实现方法和手段。
[关键词]仿真 飞行模拟器 DirectSound TCP/IP
中图分类号:TM75 文献标识码:A 文章编号:1009-914X(2016)28-0161-02
一、引言
飞行模拟训练是飞行员进行飞行技能学习和训练的重要方式方法之一,其研制涉及飞机结构、飞行原理、模拟仿真、系统工程、电子电路、机械加工等多学科多领域,是一个人在回路的大型实时软硬件综合集成系统。音效仿真系统是飞行模拟器的重要子系统之一,包括飞机飞行整个过程中的通电自检、发动机运行、旋翼转动、危险告警、环境音效、语音通信以及其他操作等多种声音,需要根据飞机实时飞行状态对各种声音进行声音采集,音效处理、实时调整和控制输出。DirectSound是微软多媒体技术DirectX的组件之一,封装了大量音频处理API函数,它可以提供快速的多个声音的混合输出,允许进行波形声音的捕获、重放,提供了3D声效算法,模拟出真实的3D立体声,并且可以直接访问相关设备,通过控制硬件提供更为丰富的音效处理功能,是进行飞行模拟器音效仿真系统开发的关键技术之一。
音效仿真系统的硬件系统主要由音效处理主机(运行音效仿真系统)、交换机、功放、音箱、话筒、耳麦等部分组成,包括系统控制单元、音频混音单元、功率放大单元和音效输出单元等四部分,其中大部分都集成在标准4U机箱内,有4个通道的功放输出,8路麦克/线性输入,6路耳机/线性输出,通过以太网与飞行主仿真系统之间进行数据、语音通信。音效仿真系统从音源库中取出原音数据,对其进行采样、变频、3D立体等多种音频处理,并对多种声源进行混合控制,生成各种现实混合音效,最终通过三种声音输出设备输出,达到模拟仿真飞行环境的效果。
环境音响:发动机运行、旋翼转动风燥、操作起落架、话音告警等情况发生的声音。
飞行员耳麦:话音告警、音调告警、导航台站识别码等,模拟无线电通信系统实现的直升机与直升机之间,直升机与地面台站(教员)之间的话音联络。
教员耳麦:进行飞行通话控制,监听话音告警、音调告警、导航台站识别码等,模拟地面台站(教员)与直升机进行话音联络。
二、声音处理技术分析和DirectSound方法
在Windows环境下使用C#进行音效处理,除DirectSound技术外一般常用的还有三种方法。(1)引用System.Media.SoundPlayer类。(2)直接使用微软语音对象库。(3)调用第三方播放器控件。这三种声音处理技术是比较常见的几种方法,每种方式都各有利弊,比如第一、第三种方法调用和使用代码都相对简单,但相应的声音处理功能就比较少,混合、变频和3D等音效都无法实现;第二种方法功能强大,但是使用和理解起来相对比较复杂。
DirectSound是微软封装的声音处理核心技术之一,功能强大使用快捷,与其他技术相比具有速度快、可控性强等优点,主要包括以下特点:一是当硬件空闲时自动启用硬件加速。二是不受数量限制的声音混音。三是声音重现延迟时间短暂。四是可以实现较为复杂的3D声音定位效果。五是自动将输入的Wave数据转换成与输出匹配的格式。六是支持属性设置,包括频率、均衡、音量和位置通告等,并利用硬件的新特性而不改变API函数。
三、直升机模拟器音效仿真系统实现算法
使用Visual Studio 2010和DirectSound实现飞行模拟器音效仿真系统。首先需要采集并处理某型飞机的各种原音数据,这些数据主要包括通电电流,发动机运行、收放起落架、各频率电台和各类告警提示等约200个原音数据,这些数据都以wav格式的波形文件采集存储。
(一)通信模块实现
某机型飞行模拟器主仿真系统根据飞行操作的实时状态发送控制指令和飞机当前状态信息至音效仿真系统,音效仿真系统使用同步TCP/IP通信机制通过设置监听进程接收主仿真系统的指令和飞机状态信息,分析其内容并执行相关操作。
(二)某机型音效编码
音效仿真系统根据主仿真系统的控制指令,分析飞机之前和當前的飞行状态,根据分析结果处理原音并模拟现实飞机音效。根据某型飞机的声音分析、音效需求和实现方法,对声音指令进行格式化编码以进一步处理。
(三)音效处理模块解析及实现
DirectSound声音进行输出的基本流程如下:(1)创建一个设备对象,设置设备对象的协作度。(2)创建一个从缓冲区,也叫辅助缓冲区或后备缓冲区。(3)获取PCM类型的数据,即将WAV文件或者其他资源的数据读到缓冲区中。(4)将数据读取到缓冲区。(5)播放缓冲区中的数据。
设计中需要定义支持音效处理的缓冲区、创建设备对象,设置对象的协作度,设置动态缓存可用、设置音量可调节、设置频率可调节等。最后根据声音指令编码对声音进一步处理并进行仿真输出。对不同类别的声音做不同处理,对于正常飞行声音和基本环境等在飞行过程中不断或间断需要输出的声音可定义为全局变量以便于使用。對于异常告警和操作提示等在激发某种条件下才输出的声音可定义为局部变量随调随用,用完释放。
四、实例分析及结果
以某型直升机旋翼和发动机混合音效为例,利用本文中基于Directsound的算法,结合动态调度法、声音合成建模法来进行仿真。短时傅里叶分析与合成技术适用于准平稳(缓慢时变)的信号。直升机飞行员在驾驶座舱中听到的大部分声音是一种有节奏的旋翼旋转、气流震动和发动机转动的声音,幅值和频率在飞机开车到旋翼转速稳定时是平稳增长,在旋翼转速稳定后基本无变化,属于准平稳信号,适合用短时傅里叶分析与合成技术将声音信号处理域与人的听觉感知域结合在一起。短时傅里叶分析是通过短时傅里叶变换(Short—time Fourier transform,STFT)来分析声音信号。STFT的数学定义为: (1)
式中:为给定帧的复频谱;为离散声音信号;n为离散时间索引;k为离散频率索引;N为快速傅里叶变换(FFT)长度;为离散弧度频率;为分析窗函数;m为帧数;H为跳跃长度。
完成对输人声音的短时傅里叶分析之后,获得声音的复频谱,就要对这些复频谱进行处理。这里对声音频谱进行的处理有降噪以及诸如低通、高通、带通等滤波处理。降噪就是衰减混在声音信号中的不期望噪声。短时频谱完成降噪处理后,还需要对其进行必要的滤波处理,这就要求设计各种滤波器来完成相应的滤波。
最后,对修改过的短时频谱通过计算短时傅里叶逆变换来合成输出声音。如图3所示,再采用短时重叠加,从而生成一种合成方法,它的数学表达式为:
(2)
(3)
声音处理结束后,基于Directsound的算法会获取旋翼和发动机混合音效,利用频率设置和幅值设置函数等对要播放的文件做实时处理,然后再将次缓冲区中已调整的声音送入主缓冲区中混音并输送到音响系统进行播放。
五、结语
近年来,随着仿真技术的不断提高,音效仿真作为模拟飞行的重要功能之一,不仅需要在功能上与实际飞机一致,更要在逼真度上接近真实的战场环境,这样才能为飞行人员提供更有效的战术训练。在以后的音效仿真中,一是要进一步提高3D音效仿真效果,使飞行人员在飞机的不同位置,飞机在不同的飞行状态下与真实的飞行环境一致。二是要实现模拟器在广域联网环境下的实时音效仿真。三是要探索模拟复杂战场作战环境下的多维音效仿真。
参考文献:
[1](美) Nagel.C,Bill Evjen,Jay Glynn.C#高级编程(第8版)[M].北京:清华大学出版社,2012.
[2]李林,翁冬冬,王宝奇,等.飞行模拟器[M].北京:北京理工大学出版社,2012.
[3]胡建学,范敏毅,张万泽,李想.飞行模拟器协同训练网络互操作仿真[J].系统仿真学报,2013(08):1795-1800.
[4]盛晓伟,郑淑涛,韩俊伟.飞行模拟器音效系统声音分析与合成技术[J].吉林大学学报(工学版),2013(05):1443-1440.
完成單位:空军西安飞行学院
完成人:张 亮 93995部队模拟训练中心工程师
陈盖凯 93995部队领航研究所助理研究员
程 健 93995部队模拟训练中心高级工程师
作者简介:张亮,1982.01.27,男,漢,籍贯(精确到市):陕西省西安市,当前职务:工程师,学历:硕士,研究方向:飞行模拟器
陈盖凯,作者单位: 93995部队,单位所在地(精确到市):陕西省西安市,单位所在地邮编: 710306
程 健,作者单位: 93995部队,单位所在地(精确到市):陕西省西安市,单位所在地邮编: 710306
[关键词]仿真 飞行模拟器 DirectSound TCP/IP
中图分类号:TM75 文献标识码:A 文章编号:1009-914X(2016)28-0161-02
一、引言
飞行模拟训练是飞行员进行飞行技能学习和训练的重要方式方法之一,其研制涉及飞机结构、飞行原理、模拟仿真、系统工程、电子电路、机械加工等多学科多领域,是一个人在回路的大型实时软硬件综合集成系统。音效仿真系统是飞行模拟器的重要子系统之一,包括飞机飞行整个过程中的通电自检、发动机运行、旋翼转动、危险告警、环境音效、语音通信以及其他操作等多种声音,需要根据飞机实时飞行状态对各种声音进行声音采集,音效处理、实时调整和控制输出。DirectSound是微软多媒体技术DirectX的组件之一,封装了大量音频处理API函数,它可以提供快速的多个声音的混合输出,允许进行波形声音的捕获、重放,提供了3D声效算法,模拟出真实的3D立体声,并且可以直接访问相关设备,通过控制硬件提供更为丰富的音效处理功能,是进行飞行模拟器音效仿真系统开发的关键技术之一。
音效仿真系统的硬件系统主要由音效处理主机(运行音效仿真系统)、交换机、功放、音箱、话筒、耳麦等部分组成,包括系统控制单元、音频混音单元、功率放大单元和音效输出单元等四部分,其中大部分都集成在标准4U机箱内,有4个通道的功放输出,8路麦克/线性输入,6路耳机/线性输出,通过以太网与飞行主仿真系统之间进行数据、语音通信。音效仿真系统从音源库中取出原音数据,对其进行采样、变频、3D立体等多种音频处理,并对多种声源进行混合控制,生成各种现实混合音效,最终通过三种声音输出设备输出,达到模拟仿真飞行环境的效果。
环境音响:发动机运行、旋翼转动风燥、操作起落架、话音告警等情况发生的声音。
飞行员耳麦:话音告警、音调告警、导航台站识别码等,模拟无线电通信系统实现的直升机与直升机之间,直升机与地面台站(教员)之间的话音联络。
教员耳麦:进行飞行通话控制,监听话音告警、音调告警、导航台站识别码等,模拟地面台站(教员)与直升机进行话音联络。
二、声音处理技术分析和DirectSound方法
在Windows环境下使用C#进行音效处理,除DirectSound技术外一般常用的还有三种方法。(1)引用System.Media.SoundPlayer类。(2)直接使用微软语音对象库。(3)调用第三方播放器控件。这三种声音处理技术是比较常见的几种方法,每种方式都各有利弊,比如第一、第三种方法调用和使用代码都相对简单,但相应的声音处理功能就比较少,混合、变频和3D等音效都无法实现;第二种方法功能强大,但是使用和理解起来相对比较复杂。
DirectSound是微软封装的声音处理核心技术之一,功能强大使用快捷,与其他技术相比具有速度快、可控性强等优点,主要包括以下特点:一是当硬件空闲时自动启用硬件加速。二是不受数量限制的声音混音。三是声音重现延迟时间短暂。四是可以实现较为复杂的3D声音定位效果。五是自动将输入的Wave数据转换成与输出匹配的格式。六是支持属性设置,包括频率、均衡、音量和位置通告等,并利用硬件的新特性而不改变API函数。
三、直升机模拟器音效仿真系统实现算法
使用Visual Studio 2010和DirectSound实现飞行模拟器音效仿真系统。首先需要采集并处理某型飞机的各种原音数据,这些数据主要包括通电电流,发动机运行、收放起落架、各频率电台和各类告警提示等约200个原音数据,这些数据都以wav格式的波形文件采集存储。
(一)通信模块实现
某机型飞行模拟器主仿真系统根据飞行操作的实时状态发送控制指令和飞机当前状态信息至音效仿真系统,音效仿真系统使用同步TCP/IP通信机制通过设置监听进程接收主仿真系统的指令和飞机状态信息,分析其内容并执行相关操作。
(二)某机型音效编码
音效仿真系统根据主仿真系统的控制指令,分析飞机之前和當前的飞行状态,根据分析结果处理原音并模拟现实飞机音效。根据某型飞机的声音分析、音效需求和实现方法,对声音指令进行格式化编码以进一步处理。
(三)音效处理模块解析及实现
DirectSound声音进行输出的基本流程如下:(1)创建一个设备对象,设置设备对象的协作度。(2)创建一个从缓冲区,也叫辅助缓冲区或后备缓冲区。(3)获取PCM类型的数据,即将WAV文件或者其他资源的数据读到缓冲区中。(4)将数据读取到缓冲区。(5)播放缓冲区中的数据。
设计中需要定义支持音效处理的缓冲区、创建设备对象,设置对象的协作度,设置动态缓存可用、设置音量可调节、设置频率可调节等。最后根据声音指令编码对声音进一步处理并进行仿真输出。对不同类别的声音做不同处理,对于正常飞行声音和基本环境等在飞行过程中不断或间断需要输出的声音可定义为全局变量以便于使用。對于异常告警和操作提示等在激发某种条件下才输出的声音可定义为局部变量随调随用,用完释放。
四、实例分析及结果
以某型直升机旋翼和发动机混合音效为例,利用本文中基于Directsound的算法,结合动态调度法、声音合成建模法来进行仿真。短时傅里叶分析与合成技术适用于准平稳(缓慢时变)的信号。直升机飞行员在驾驶座舱中听到的大部分声音是一种有节奏的旋翼旋转、气流震动和发动机转动的声音,幅值和频率在飞机开车到旋翼转速稳定时是平稳增长,在旋翼转速稳定后基本无变化,属于准平稳信号,适合用短时傅里叶分析与合成技术将声音信号处理域与人的听觉感知域结合在一起。短时傅里叶分析是通过短时傅里叶变换(Short—time Fourier transform,STFT)来分析声音信号。STFT的数学定义为: (1)
式中:为给定帧的复频谱;为离散声音信号;n为离散时间索引;k为离散频率索引;N为快速傅里叶变换(FFT)长度;为离散弧度频率;为分析窗函数;m为帧数;H为跳跃长度。
完成对输人声音的短时傅里叶分析之后,获得声音的复频谱,就要对这些复频谱进行处理。这里对声音频谱进行的处理有降噪以及诸如低通、高通、带通等滤波处理。降噪就是衰减混在声音信号中的不期望噪声。短时频谱完成降噪处理后,还需要对其进行必要的滤波处理,这就要求设计各种滤波器来完成相应的滤波。
最后,对修改过的短时频谱通过计算短时傅里叶逆变换来合成输出声音。如图3所示,再采用短时重叠加,从而生成一种合成方法,它的数学表达式为:
(2)
(3)
声音处理结束后,基于Directsound的算法会获取旋翼和发动机混合音效,利用频率设置和幅值设置函数等对要播放的文件做实时处理,然后再将次缓冲区中已调整的声音送入主缓冲区中混音并输送到音响系统进行播放。
五、结语
近年来,随着仿真技术的不断提高,音效仿真作为模拟飞行的重要功能之一,不仅需要在功能上与实际飞机一致,更要在逼真度上接近真实的战场环境,这样才能为飞行人员提供更有效的战术训练。在以后的音效仿真中,一是要进一步提高3D音效仿真效果,使飞行人员在飞机的不同位置,飞机在不同的飞行状态下与真实的飞行环境一致。二是要实现模拟器在广域联网环境下的实时音效仿真。三是要探索模拟复杂战场作战环境下的多维音效仿真。
参考文献:
[1](美) Nagel.C,Bill Evjen,Jay Glynn.C#高级编程(第8版)[M].北京:清华大学出版社,2012.
[2]李林,翁冬冬,王宝奇,等.飞行模拟器[M].北京:北京理工大学出版社,2012.
[3]胡建学,范敏毅,张万泽,李想.飞行模拟器协同训练网络互操作仿真[J].系统仿真学报,2013(08):1795-1800.
[4]盛晓伟,郑淑涛,韩俊伟.飞行模拟器音效系统声音分析与合成技术[J].吉林大学学报(工学版),2013(05):1443-1440.
完成單位:空军西安飞行学院
完成人:张 亮 93995部队模拟训练中心工程师
陈盖凯 93995部队领航研究所助理研究员
程 健 93995部队模拟训练中心高级工程师
作者简介:张亮,1982.01.27,男,漢,籍贯(精确到市):陕西省西安市,当前职务:工程师,学历:硕士,研究方向:飞行模拟器
陈盖凯,作者单位: 93995部队,单位所在地(精确到市):陕西省西安市,单位所在地邮编: 710306
程 健,作者单位: 93995部队,单位所在地(精确到市):陕西省西安市,单位所在地邮编: 710306