一种飞行模拟器声音参数化阵列实时控制装置制造方法
【专利摘要】本发明的一种飞行模拟器声音参数化阵列实时控制装置,通过指令编辑模块事先编辑好声音播放控制指令并存储,便于声音播放单元随时调用;接口单元实时接收来自飞行模拟器的控制指令,按照时间先后顺序,在一个程序执行周期内发送给声音控制单元;声音控制单元通过系统的需求分析确定声音信号的产生条件和变化范围,建立符合真实飞机声音环境的数学模型并解算,将解算结果实时发送给声音播放单元;声音播放单元可以根据指令进行音源的选择和调用,改变声音的频率和幅值、音量、循环状态,始终保持与飞行模拟器控制指令一致的状态。结构简单,使用方便。不但可以完成对声音信号的编辑,而且能实现多路同时控制和输出,与飞行模拟器声音环境符合性好。
【专利说明】一种飞行模拟器声音参数化阵列实时控制装置
[0001]
【技术领域】
[0002]本发明涉及仿真声音控制【技术领域】,特别是涉及一种飞行模拟器声音参数化阵列实时控制装置。
【背景技术】
[0003]在大型飞行模拟器中,逼真的声音环境会帮助飞行员建立起良好的座舱环境,并帮助其有效完成对飞机状态的判定。目前声音系统已经成为飞行模拟器必须配备的系统之一。目前公开的通信方式通常是单纯通过硬件产生音源或计算机软件生成音源。即通过电路设计实现各种噪声的产生,或者通过计算机产生声音信号,通过程序控制完成播放。这两种声音环境建立的方式不足之处在于:通过硬件产生音源电路设计复杂,可靠性不高,且电路一旦设计好之后不可更改,音源可编辑性差;通过计算机软件产生声音信号可以完成对声音信号的编辑,但对其控制不能实现多路同时控制和输出,与飞行模拟器声音环境要求不符。
【发明内容】
[0004]本发明的目的是解决上述声音环境建立方式的不足,公开了一种飞行模拟器声音参数化阵列实时控制装置。本发明的技术解决方案如下:
本发明的一种飞行模拟器声音参数化阵列实时控制装置包括一台声音控制机101、数字矩阵116、数字功放机117、音箱118 ;所述声音控制机101是一台配置多块声卡的PC计算机或工业控制计算机,使用UDP协议,通过网卡与飞行模拟器通讯;通过声卡与数字矩阵116连接,数字矩阵116与数字功放机117、音箱118顺次连接;
声音控制机101里存储和运行有程序,涉及接口、声音控制、声音播放,其程序流程图如图3所示。
[0005]所述声音控制机101的接口单元(102)与声音控制单元(105)、声音播放单元(109)、音源数据库单元(113)顺次连接;
所述接口单元102包括数据接收模块103、数据转发模块104 ;
所述声音控制单元105包括音源调用模块106、逻辑控制模块107、输出模块108 ;
所述声音播放单元109包括指令编辑模块110、声音播放模块111、矩阵控制模块112 ; 所述音源数据库单元113包括音源数据模块114、音源管理模块115 ;
所述接口单元102:接口单元102在系统运行时,用于定义飞行模拟器的控制指令119与声音控制单元105之间数据交换的通信数据包的结构,以实现数据通信;接口单元102执行接口程序,用网卡通过以太网线实时接收来自飞行模拟器的控制指令119,包括发动机转速、座舱设备工作状态、教员控制台控制信息;数据转发模块104将这些关于飞行模拟器座舱声音环境建立的控制指令转发给声音控制单元105 ; 所述的声音控制单兀105:声音控制单兀105在系统初始化时,通过声音控制程序,由音源调用模块106调用音源数据库单元113中的音源管理模块115和音源数据模块114的信息,将所有待播放音源一次性放入声音控制机101内存次缓冲区中;
声音控制单元105接收数据转发模块104发来的飞行模拟器的控制指令119,根据指令类型,逻辑控制模块107进行逻辑分析和判断以及范围选择,完成对发动机转速数学模型、座舱设备工作状态模型及教员控制台控制指令调用或解算,将结果转变成可执行的声音播放指令;输出模块108发送给声音播放单兀109 ;所述的座舱设备工作状态模型表不座舱中所有设备工作状态的变化情况,其可以用座舱设备工作状态信号来表示;
所述声音播放单元109:通过声音播放程序,接收来自声音控制单元105的播放指令进行解释,按照声音类型调用指令编辑模块110中已经编辑好的播放指令;声音播放模块111将声音播放信号发送给矩阵控制模块112,由矩阵控制模块112判断是否循环播放以及是否停止播放,和通道选择指令,将声音播放指令转变成数字矩阵116能够执行的信号,控制并输出到数字矩阵116的选择通道中去
所述的数字矩阵116:接收到控制指令后,根据指令编辑模块110中已经编辑好的播放指令,选择声音信号的通道标志,将信号发送给数字功放机117 ;
所述的数字功放机117将信号过滤、放大后发到音箱118中将声音播放出来。
[0006]有益效果:本发明的一种飞行模拟器声音参数化阵列实时控制装置,通过指令编辑模块110事先编辑好声音播放控制指令并存储,便于声音播放单元109随时调用;接口单元102实时接收来自飞行模拟器的控制指令,按照时间先后顺序,在一个程序执行周期内发送给声音控制单元105 ;声音控制单元105通过系统的需求分析确定声音信号的产生条件和变化范围,建立符合真实飞机声音环境的数学模型并解算,将解算结果实时发送给声音播放单元109 ;声音播放单元109可以根据指令进行音源的选择和调用,改变声音的频率和幅值、音量、循环状态,始终保持与飞行模拟器控制指令一致的状态。
[0007]本发明的一种飞行模拟器声音参数化阵列实时控制装置,结构简单,使用方便。不但可以完成对声音信号的编辑,而且能实现多路同时控制和输出,与飞行模拟器声音环境符合性好。
【专利附图】
【附图说明】
[0008]图1是本发明涉及的声音参数化阵列实时控制装置的构成示意框图。
[0009]图2是本发明涉及的声音参数化阵列实时控制装置的硬件连接示意图。
[0010]图3是本发明的声音控制机的流程图。
[0011]
【具体实施方式】
实施例1如图1所示,本发明的一种飞行模拟器声音参数化阵列实时控制装置包括一台声音控制机101、数字矩阵116、数字功放机117、音箱118 ;所述声音控制机101是一台配置多块声卡的PC计算机或工业控制计算机,使用UDP协议,通过网卡与飞行模拟器通讯;如图2所示,通过计算机机上的声卡采用4.5mm卡侬头、3.5mm标准音频接头、5cm金属屏蔽音频线与数字矩阵116相连,数字矩阵116、数字功放机117、音箱118通过5cm金属屏蔽音频线顺次相连。
[0012]声音控制机101里存储和运行有程序,涉及接口、声音控制、声音播放,其程序流程图如图3所不。
[0013]所述声音控制机101的接口单元(102)与声音控制单元(105)、声音播放单元
(109)、音源数据库单元(113)顺次连接;
所述接口单元102包括数据接收模块103、数据转发模块104 ;
所述声音控制单元105包括音源调用模块106、逻辑控制模块107、输出模块108 ;
所述声音播放单元109包括指令编辑模块110、声音播放模块111、矩阵控制模块112 ;所述音源数据库单元113有存储音源数据的音源数据库,其包括音源数据模块114、音源管理模块115 ;
所述接口单元102:接口单元102在系统运行时,用于定义飞行模拟器的控制指令119与声音控制单元105之间数据交换的通信数据包的结构,以实现数据通信;数据接收模块103执行接口程序,用网卡通过以太网线实时接收来自飞行模拟器的控制指令119,包括发动机转速、座舱设备工作状态、教员控制台控制信息;数据转发模块104将这些关于飞行模拟器座舱声首环境建立的控制指令转发给声首控制单兀105 ;
所述的声音控制单兀105:声音控制单兀105在系统初始化时,通过声音控制程序,由音源调用模块106调用音源数据库单元113中的音源管理模块115和音源数据模块114的信息,将所有待播放音源一次性放入声音控制机101内存次缓冲区中;
声音控制单元105接收数据转发模块104发来的飞行模拟器的控制指令119,根据指令类型,逻辑控制模块107进行逻辑分析和判断以及范围选择,完成对发动机转速数学模型、座舱设备工作状态模型及教员控制台控制指令调用或解算,将结果转变成可执行的声音播放指令;输出模块108发送给声音播放单兀109 ;所述的座舱设备工作状态模型表不座舱中所有设备工作状态的变化情况,其可以用座舱设备工作状态信号来表示;
所述声音播放单元109:通过声音播放程序,接收来自声音控制单元105的播放指令进行解释,按照声音类型调用指令编辑模块110中已经编辑好的播放指令;声音播放模块111将声音播放信号发送给矩阵控制模块112,由矩阵控制模块112判断是否循环播放以及是否停止播放,和通道选择指令,将声音播放指令转变成数字矩阵116能够执行的信号,控制并输出到数字矩阵116的选择通道中去
所述的数字矩阵116:接收到控制指令后,根据指令编辑模块110中已经编辑好的播放指令,选择声音信号的通道标志,将信号发送给数字功放机117 ;
所述的数字功放机117将信号过滤、放大后发到音箱118中将声音播放出来。
[0014]如图3所示,下面介绍声音控制机101的程序流程:
执行步骤100,开始;
执行步骤105,初始化,声音控制机101的声音控制单元105,通过音源调用模块106调用音源数据库单元113中的音源数据模块114和音源管理模块115的信息,将所有待播放音源一次性放入声音控制机101内存次缓冲区中;
执行步骤110,是否接收到控制指令?是,执行步骤115 ;否,执行步骤135,结束;
执行步骤115,声音控制机101的接口单元102,通过通接口程序,在系统运行时,用于定义飞行模拟器的控制指令119与声音控制单元105之间数据交换的通信数据包的结构,以实现数据通信;用网卡通过以太网线实时接收来自飞行模拟器的控制指令119,包括发动机转速、座舱设备工作状态、教员控制台控制信息,并将这些关于飞行模拟器座舱声音环境建立的控制指令转发给声音控制单元105 ;
所述的接口单元102的接口程序定义格式是:
数据结构格式:
数据结构:struct数据结构名{数据结构成员变量列表};
变量类型变量名称变量说明:
unsigned char size交换数据字节数
floatfvol音量
unsigned char bMuteTotal全静音标志
unsigned char bMuteEng发动机静音标志
unsigned char bMuteOthers其它静音
unsigned char bFlag[20]标志
floatSpeedlI发动机转速
floatSpeed22发动机转速
floatSpeed33发动机转速
floatSpeed44发动机转速
intnlight[20] 数据长度
执行步骤120,声音控制单元105接收数据转发模块104发来的飞行模拟器的控制指令119,根据指令类型,逻辑控制模块107进行逻辑分析和判断以及范围选择,完成对发动机转速、座舱设备工作状态、教员控制台控制指令诸多信息,调用不同数学模型并解算,将解算结果转变成可执行的声音播放指令;输出模块108发送给声音播放单兀109 ;
所述数学模型具体内容如下:
(一)发动机转速数学模型
发动机转速与声音频率、幅值之间的对应关系是构成发动机油门位置与发动机噪声输出的最主要因素,由于不同机型发动机类型、转速范围都不同,而这些影响因素可以通过数学模型、音源录制而具体确定,因此在本发明中所涉及的发动机转速数学模型只阐述基本模型。具体如下:
Hz=N/ a2*speed2
其中Hz为发动机噪声输出频率,N为发动机转速输出最大值,speed为发动机转速的实时输出值,N的取值范围依据不同机型而具体确定,a为控制系数,其大小及取值范围由发动机噪音实际频率范围及发动机转速输出值确定;确定的方法为:以某种机型为例,当音源数据模块114中发动机噪声音源确定后,即可确定其频率范围,此时取其最大值,代入上述模型中的Hz,同时发动机的型号一旦确定,即可确定其转速输出最大值N代入上述模型,再把发动机转速的实时输出值speed代入上述模型,通过计算即可得出这种机型下的模型公式中的a值。
[0015]声音控制单元105接收数据转发模块104发来的飞行模拟器发动机转速值,通过模型运算得出发动机噪声输出频率Hz,之后将Hz通过输出模块108发送给发送给声音播放单元109,由声音播放单元109判断发动机噪声输出频率Hz的具体值,并控制实际音源输出的频率值。
[0016](二)座舱设备工作状态模型座舱设备工作状态模型表示座舱中所有设备工作状态的变化情况,其可以用座舱设备工作状态信号来表示,信号分为两种,一种为连续变化信号,另一种为单一信号。
[0017]连续变化信号
对于连续变化信号,数学模型如下:
T=A/ (B2) *X
其中T为连续变化声音信号输出频率值;Hz为发动机噪声输出频率,A为连续变化信号输出最大值,X为连续变化信号的实时输出值;B为控制系数,其大小及取值范围由设备噪音的频率范围及连续变化信号输出值确定,确定的方法为:以某种设备为例,当音源数据模块114中设备工作噪声音源确定后,即可确定其频率范围,此时取其最大值,代入上述模型中的T,同时设备的型号一旦确定,即可确定其连续变化信号输出范围最大值,也代入上述模型的X,通过计算即可得出这种机型下的模型公式中的B值。
[0018]声音控制单元105接收数据转发模块104发来的飞行模拟器控制设备状态X,通过模型运算得出连续变化声音信号输出频率值T,之后将T通过输出模块108发送给声音播放单元109,由声音播放单元109判断连续变化声音信号输出频率T的具体值,并控制实际音源输出的频率值。
[0019]单一信号
static int bPlaying=0; //声音信号播放状态,为I则正在播放,为O则//没有播放,初始值置为O
If(Status==I)//设备工作状态是否为1,为I则播放,为O则停止播放
{
if ( ! bPlaying)
{
SendCmd(〃播放指令n〃);//此指令为向声音播放单元109发送播放//指令
bPlaying =1;
}//此处表示发送播放指令状态的判断结束 }//此处表示设备工作状态判断结束 else if(bPlaying)
{
SendCmd (〃停止指令〃);//此指令为向声音播放单元109发送停止播放 Il指令
bPlaying =0;
}
对于单一信号,虽然其又分为循环播放及一次播放,但控制模型相同,只是在声音播放单元109通过选择不同播放状态而控制其是否为循环播放。因此这里不再赘述。
[0020]声音控制单元105接收数据转发模块104发来的飞行模拟器控制设备状态,通过上述模型进行单一信号的控制。
[0021](三)教员控制台控制指令
教员控制台控制指令的执行方式与单一信号一致,只是指令来源于教员控制台。这里不再赘述。
[0022]教员控制台控制指令包括: fvol 音量 bMuteTotal全静音标志 bMuteEng 发动机静音标志 bMuteOthers 其它静音
(四)指令编辑
上述发动机转速数学模型、座舱设备工作状态模型及教员控制台控制指令都要通过输出模块108发送给声音播放单元109,之后声音播放单元109要通过UDP协议调用指令编辑模块110中已经编辑好的指令。这些指令依据不同机型的要求而不同,可以根据设备要求的不同而定义。根据这些指令,声音控制单元105的控制指令可以指定数字矩阵116中的32路输出通道中的某一路进行声音的实际播放,以实现多路同时控制和输出。
[0023]声音控制单元105的声音控制程序结构如下:
定义静态变量
输出控制指令状态打印信息接收事件判断事件类型接收变量
判断变量类型和范围将变量赋值给数学模型初值解算数学模型输出数学模型解算结果
执行步骤125,声音播放单元109接收来自声音控制单元105的播放指令进行解释,按照声音类型调用指令编辑模块110中已经编辑好的播放指令;音播放模块111将声音播放信号发送给矩阵控制模块112,由矩阵控制模块112判断是否循环播放以及是否停止播放,和通道选择指令,将声音播放指令转变成数字矩阵116能够执行的信号,控制并输出到数字矩阵116的选择通道中去。
[0024]所述的指令编辑模块110的指令编辑程序结构如下:
发动机转速 Speedl play::发动机转速1.wav
发动机转速 Speed2 play::发动机转速2.wav 发动机转速 Speed3 play::发动机转速3.wav 发动机转速 Speed4 play::发动机转速4.wav 设备状态标志 Status [20] play:: equipment, wav
执行步骤130,数字矩阵116接收到声音播放控制指令后,选择声音信号的通道数,将信号发送给数字功放机117,数字功放机117将信号过滤、放大后发到音箱118中将声音播放出来。
[0025]执行步骤135,结束。
【权利要求】
1.一种飞行模拟器声音参数化阵列实时控制装置,其特征在于,包括一台声音控制机(101)、数字矩阵(116)、数字功放机(117)、音箱(118);所述声音控制机(101)是一台配置多块声卡的PC计算机或工业控制计算机,使用UDP协议,通过网卡与飞行模拟器通讯;通过声卡与数字矩阵(116)连接,数字矩阵(116)与数字功放机(117)、音箱(118)顺次连接; 声音控制机(101)里存储和运行有程序,涉及接口、声音控制、声音播放; 所述声音控制机101的接口单元(102)与声音控制单元(105)、声音播放单元(109)、音源数据库单元(113)顺次连接; 所述接口单元(102)包括数据接收模块(103)、数据转发模块(104); 所述声音控制单元(105)包括音源调用模块(106)、逻辑控制模块(107)、输出模块(108); 所述声音播放单元(109)包括指令编辑模块(110)、声音播放模块(111)、矩阵控制模块(112); 所述音源数据库单元(113)包括音源数据模块114、音源管理模块115 ; 所述接口单元(102)用于定义飞行模拟器的控制指令(119)与声音控制单元(105)之间数据交换的通信数据包的结构,以实现数据通信;数据接收模块(103)执行接口程序,用网卡通过以太网线实时接收来自飞行模拟器的控制指令(119);数据转发模块(104)将这些关于飞行模拟器座舱声音环境建立的控制指令转发给声音控制单元(105); 所述的声音控制单元(105)在系统初始化时,通过声音控制程序,由音源调用模块(106)调用音源数据库单元(113)中的音源管理模块(115)和音源数据模块(114)的信息,将所有待播放音源一次性放入声音控制机(101)内存次缓冲区中; 声音控制单元(105)接收数据转发模块(104)发来的飞行模拟器的控制指令(119),根据指令类型,逻辑控制模块(107)进行逻辑分析和判断以及范围选择,完成对发动机转速数学模型、座舱设备工作状态模型及教员控制台控制指令调用或解算,将结果转变成可执行的声音播放指令;输出模块(108)发送给声音播放单元(109);所述的座舱设备工作状态模型表示座舱中所有设备工作状态的变化情况,其可以用座舱设备工作状态信号来表示。
2.所述声音播放单元(109),通过声音播放程序,接收来自声音控制单元(105)的播放指令进行解释,按照声音类型调用指令编辑模块(110)中已经编辑好的播放指令;声音播放模块(111)将声音播放信号发送给矩阵控制模块(112),由矩阵控制模块(112)判断是否循环播放以及是否停止播放,和通道选择指令,将声音播放指令转变成数字矩阵(116)能够执行的信号,控制并输出到数字矩阵(116)的选择通道中去 所述的数字矩阵(116)接收到控制指令后,根据指令编辑模块(110)中已经编辑好的播放指令,选择声音信号的通道标志,将信号发送给数字功放机(117); 所述的数字功放机(117)将信号过滤、放大后发到音箱(118)中将声音播放出来。
3.如权利要求所述的一种飞行模拟器声音参数化阵列实时控制装置,其特征在于,所述的发动机转速数学模型为
Hz=N/ a2*speed2 其中Hz为发动机噪声输出频率,N为发动机转速输出最大值,speed为发动机转速的实时输出值;a为控制系数,其由发动机噪音输出频率Hz的最大值、发动机转速输出值的最大值N及发动机转速的实时输出值speed,通过所述的发动机转速数学模型计算得出。
4.如权利要求所述的一种飞行模拟器声音参数化阵列实时控制装置,其特征在于,所述的座舱设备工作状态信号分为两种,一种为连续变化信号,另一种为单一信号。
【文档编号】G09B9/22GK104361784SQ201410604908
【公开日】2015年2月18日 申请日期:2014年11月3日 优先权日:2014年11月3日
【发明者】胥文, 熊壮, 吴东岩, 王冠超, 肖景新 申请人:中国人民解放军空军航空大学军事仿真技术研究所