一种基于人工神经网络的脉动压力预测方法
文献发布时间:2023-06-19 10:06:57
技术领域
本发明属于航空飞行器领域,涉及一种飞行器气动特性预测方法,具体为一种基于人工神经网络的脉动压力预测方法。
背景技术
飞行器表面脉动压力是飞行器飞行时的一项重要气动载荷,直接影响到飞行安全。产生脉动压力的机制主要是来流和边界层的湍流特性、绕流分离特性和激波振荡特性。
一般来讲飞行器的表面脉动压力在跨声速情况下最严重,此时飞行器的脉动压力主要由绕流分离和再附及激波振荡与边界层相互干扰造成。脉动压力具有强烈的局部特性,较大的脉动压力发生在激波振荡区域、绕流的分离再附区、湍流区内,出了此区域脉动压力明显减小,所以一般的测量方法是在预估的区域内尽可能密布测量点,以捕捉最严重的压力脉动情况。
脉动压力试验需要在飞行器模型表面安装脉动压力传感器,传感器将测点处的压力信号转换成电信号,经信号调理仪调制放大,再通过数据采集器A/D板转换成数字信号,供微机存储和分析。
脉动压力风洞试验是测量脉动压力大小的主要手段。由于脉动压力的大小对来流速度很敏感,一般来讲,为了确定脉动压力的最大值,需要在较宽的马赫数范围以较小的马赫数间隔逐次进行试验以确定脉动压力的最大值,这大大增加了试验的工作量和成本。
发明内容
在传统试验流程的基础上,本发明提出了一种基于神经网络的脉动压力预测方法,可利用较少的试验数据快速给出不同试验来流条件下的脉动压力大小,缩小试验的马赫数范围,从而提高试验的效率。
本发明的目的是在飞行器脉动压力风洞试验中,通过训练人工神经网络得到一个能预测新的试验气流参数下脉动压力大小的模型。该模型训练完成后输入流动的速度和动压即可得到测点的脉动压力系数预测结果。
本发明提供了一种基于人工神经网络的脉动压力预测方法,包括:
获得部分来流条件下飞行器表面脉动压力的风洞试验测量结果;
建立人工神经网络模型,利用所述风洞试验测量结果训练人工神经网络模型;
利用所述人工神经网络模型获得新的来流条件下的脉动压力预测结果。
进一步地,基于获得的不同点的脉动压力变化规律,通过不同的人工神经网络模型建立脉动压力与流动参数的关系。
进一步地,对于脉动压力在不同流动条件下变化较大的测点,分别对每个测点单独建立人工神经网络模型进行训练并预测;
对于脉动压力变化量较小的几个测点合并建立一个人工神经网络模型进行训练并预测。
进一步地,通过进行有限次的吹风,获得部分来流速度下的脉动压力之后,建立试验的数据库,包含输入数据和输出数据。
进一步地,来流速度和动压作为输入数据,多个测量点的脉动压力系数C
进一步地,所述脉动压力系数C
其中,q
进一步地,所述脉动压力均方根P
其中,P′(n)是压力脉动量。
进一步地,所述压力脉动量的计算公式为:
其中,P′(t)是压力脉动量,P(t)是原始压力信号,
进一步地,使用matlab软件建立人工神经网络模型,采用BP神经网络。
进一步地,训练人工神经网络模型包括:
BP神经网络使用误差反向传播算法进行学习,数据从输入层经隐含层逐层向后传播,传到输出层,输出层的结果与目标输出结果不符,则两者之间的误差信号再反向传播,以误差修正各单元权值;
输入正向传播和误差反向传播的过程周而复始,直到输出误差减小到可接受的范围内,或者进行到预先设定的学习次数为止。
本发明建立了一种新的脉动压力预测手段,将人工神经网络的学习能力和智能化的特点应用于空气动力学试验领域。与现有的手段相比,本发明的有益效果是:本发明将智能化的预测飞行器脉动压力试验值的大小,从而减少风洞试验次数,提升试验效率;或用于对数据进行扩充,增加飞行器载荷设计参考数据。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1为本发明的基于人工神经网络的脉动压力预测方法的流程图。
图2为根据本发明实施例的训练和预测一个测点处脉动压力的神经网络。
图3为根据本发明实施例的同时训练和预测6个测点处脉动压力的神经网络。
图4为根据本发明实施例的同时训练和预测27个测点处脉动压力的神经网络。
图5为根据本发明实施例的matlab神经网络工具开始界面。
图6为根据本发明实施例的数据选取界面。
图7为根据本发明实施例的数据分组界面。
图8为根据本发明实施例的隐含层设置。
图9为根据本发明实施例的训练开始界面。
图10为根据本发明实施例的保存完成训练的神经网络。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本发明涉及一种飞行器气动特性预测方法,具体为一种基于人工神经网络的脉动压力预测方法。本发明方法包括:利用部分来流条件下飞行器表面脉动压力风洞试验测量结果,通过建立和训练人工神经网络模型,获得新的来流条件下的脉动压力预测结果,从而指导风洞试验开展,或用于对试验数据进行扩充,增加飞行器载荷设计参考数据。
本发明通过分析影响脉动压力测试结果的关键试验条件(气流参数),寻找用人工神经网络建立二者之间联系的方法,最终建立应用人工神经网络预测给定来流条件下脉动压力系数大小的方法。
本发明可智能化地预测飞行器脉动压力的大小,从而可适当减少风洞试验次数,提升试验效率,相比另一种获得气动特性的常用方法CFD(计算流体力学),该方法的计算量小得多,具有快速高效的特点,非常适合工程应用。
如图1所示,本发明提出了一种基于人工神经网络的脉动压力预测方法,包括:
获得部分来流条件下飞行器表面脉动压力的风洞试验测量结果;
建立人工神经网络模型,利用所述风洞试验测量结果训练人工神经网络模型;
利用所述人工神经网络模型获得新的来流条件下的脉动压力预测结果。
首先,获取部分试验状态下脉动压力数据。可以按照传统脉动压力风洞试验的步骤,进行测量,获得部分来流条件下的飞行器模型表面脉动压力系数。
脉动压力是指飞行器表面的非定常压力,其大小用脉动压力系数表示,风洞试验是测量脉动压力大小的主要手段。通过在飞行器模型表面安装脉动压力传感器,试验时传感器将模型表面的压力信号转换成电信号,再通过数据采集系统采集记录,供计算机存储和分析。试验的目的是获得不同来流马赫数下脉动压力的最大值,一般来讲,需要在较宽的马赫数范围以较小的马赫数间隔(ΔMa=0.01)逐次进行试验以确定脉动压力的最大值,在本方法中可以适当加大马赫数间隔。通过试验获得部分马赫数来流下的脉动压力系数。
脉动压力试验的一般过程为,首先在试验前进行传感器、信号调理仪和数据采集系统联调,并标定传感器,然后将传感器安装到模型上,注意传感器头部与模型表面齐平,试验时将模型安装到风洞内,连接传感器与信号调理仪和数据采集器,确定模型安装状态无误。风洞试验时,调节试验风速,待流场稳定后作数据采集,再调到下一状态测量。
试验记录的数据是经信号调理仪放大的压力敏感元件输出的电信号。数据处理首先将电信号转换成压力敏感元件感受到的脉动压力时间序列信号。针对脉动压力信号采用统计分析方法获得脉动压力统计信息。
压力脉动信号:
式中,P′(t)是压力脉动量;P(t)是原始压力信号;
脉动压力均方根P
通常用脉动压力系数C
式中q
在获得了部分来流条件下的飞行器模型表面脉动压力系数之后,可以建立试验数据库。
试验数据将被用来进行神经网络的训练,训练结束后,输入新的气流参数,神经网络即可输出脉动压力的大小。从脉动压力产生的机理来说,来流速度和动压是影响脉动压力大小的关键参数,因此选取这两个参数作为神经网络的输入参数。神经网络的输出为多个测量点的脉动压力系数。
接下来,建立matlab神经网络模型并训练该神经网络模型。
具体地,分析脉动压力试验的机理,利用人工神经网络建立试验状态与脉动压力试验结果之间的关系;神经网络训练采用反向传播(BP)算法,基本原理是学习过程由信号的正向传播与误差的反向传播两个过程组成。
神经网络模型实质上是建立一个输入数据和目标输出的映射,该模型常见的例子有根据燃油消耗和速度来评估发动机排放,以及用体重和身高预测体脂率等。matlab神经网络拟合程序提供了一种快捷的操作方法,可在图形界面中完成大部分操作,主要包括建立神经网络模型,选择训练输入、训练目标输出、训练算法,保存训练完成的模型。得到的模型即可用于预测新的输入条件下的结果。
神经网络模型一般由输入层、隐含层和输出层组成,在实际应用中采用的是BP神经网络,其核心部分是误差反向传播(Error Back Propagation)算法。BP神经网络由多层构成,层与层之间全连接,同一层之间的神经元无连接。BP神经网络一般使用Sigmoid函数作为隐含层中的传递函数,其表达式为f(x)=1/(1+e
利用试验数据库中的试验数据,将试验气流参数与脉动压力大小分别作为输入和输出来训练神经网络。训练时BP神经网络使用误差反向传播算法进行学习,数据从输入层经隐含层逐层向后传播,传到输出层,输出层的结果与目标输出结果不符,则两者之间的误差信号再反向传播,以误差修正各单元权值;输入正向传播和误差反向传播的过程周而复始,这一过程也是神经网络自主学习的过程,直到输出误差减小到可接受的范围内,或者进行到预先设定的学习次数为止。
最后,并将训练得到的模型用于预测新的试验条件下的脉动压力大小。
在某种特定外形的飞行器模型脉动压力试验数据组成的数据空间中,预测工作相当于在现有的较少数据点基础上对脉动压力系数随试验条件变化规律的拟合;应有一个映射f满足:
F:M->R
该映射是二维输入向量(速度、动压)向n个测量点脉动压力系数的映射。根据产生脉动压力的流动特性,对于一种特定外形的飞行器,其表面脉动压力随流场参数的变化规律是确定存在的,因此无需具体的解法,知道问题解的存在,即可利用神经网络模型的特点,让其学习在部分试验条件下的试验结果,并用几组数据用于检验学习到的模型,如果能与预测结果较好地吻合则说明模型有效,即完成了人工神经网络的脉动压力预测模型,该模型即可用于预测其他试验条件下的脉动压力大小。
为便于理解本发明实施例的方案及其效果,以下给出一个具体应用示例。本领域技术人员应理解,该示例仅为了便于理解本发明,其任何具体细节并非意在以任何方式限制本发明。
首先,进行脉动压力风洞试验,获取部分试验状态下脉动压力数据。
脉动压力试验的一般过程为,首先在试验前进行传感器、信号调理仪和数据采集系统联调,并标定传感器,然后将传感器安装到模型上,试验时将模型安装到风洞内,连接传感器与信号调理仪和数据采集器,确定模型安装状态无误。风洞试验时,调节试验风速,待流场稳定后作数据采集,再调到下一状态测量。需要在较宽的马赫数范围以较小的马赫数间隔(ΔMa=0.01)逐次进行试验以确定脉动压力的最大值,通过试验获得部分马赫数来流下的脉动压力系数。
接下来,建立试验数据库。
获得部分来流速度下的脉动压力之后,建立试验的数据库,包含输入(试验气流参数)和输出(脉动压力系数)两组数据。本实施例例中每组输入包含2个数据,分别为来流速度V
表1试验气流参数
表2 38个测点不同马赫数下的脉动压力系数
最后,建立matlab神经网络模型并训练神经网络模型,以及利用神经网络模型进行预测。
神经网络作为一种机器学习模型,其训练结果依赖于数据本身的特征,即对于有着相同或相似特征的数据,训练出来的神经网络模型可以很好地反映它们的规律。因此应用神经网络模型建立脉动压力与流动参数的关系时,应首先观察不同点的脉动压力变化规律,对于脉动压力在不同流动条件下变化较大的测点要分别对每个测点单独建立神经网络模型进行训练并预测,而对于脉动压力变化量较小的几个测点可以将其合并作为一个神经网络的输出同时进行训练并预测。
观察表2中的脉动压力分布,7-11号点的脉动压力随马赫数变化较大,因此对这5个点的每一个点应单独训练神经网络模型用于预测,建立的模型如图2所示,输入层包含两个变量,为来流速度和动压,输出层为7-11号其中一点的脉动压力系数。1-6号点的脉动压力变化规律很接近,可以合并到一个神经网络模型中,建立如图3所示的模型。输出为这6个点的脉动压力系数。同理对12-38号点的脉动压力也可以合并到一个神经网络模型中,建立如图4所示的模型。输出为这27个点的脉动压力系数。
下面以7号点为例,举例说明训练神经网络和预测过程:使用matlab软件建立神经网络模型,matlab神经网络工具的位置在APPS->Neural Net Fitting,打开后界面如图5。
下一步进入数据选取页面,如图6,在matlab主界面输入来流动压和速度组成的二维数组x=[32538.2 33734.7 35069.9 35993 37074.3 38764.2 39739 40897;244.66251.69 256.08 261.03 265.49 272.38 279.17 282.94],再输入7号测点的脉动压力系数数组y=[0.092 0.1436 0.1506 0.0952 0.0305 0.0174 0.016 0.0152]。接下来将页面中的Inputs选为x,Targets选为y。
下一步进入数据分组页面,如图7所示,可将数据分为训练组、验证组和测试组,验证组和测试组的数据用来判断训练结果,但由于本实施例的样本较少,为达到较好的训练效果将所有的数据都用于训练,即Validation和Testing设为5%。点击Next。
下一步,设置隐含层的单元数,如图8所示。神经网络隐藏层节点数在10~15个之间预测结果较好,这里设定为12个,即在Number of Hidden Neurons输入框中输入12。
下一步,进入训练界面,如图9所示。训练算法中一共提供了3种算法,每一种都有相应的介绍,这里选取默认的Levenberg-Marquardt算法。点击Train开始训练。
训练结束后一直点击Next直到结果保存界面,如图10所示。这里只需要保存训练完成的网络即可,选中第一个选择框,点击Save Results,在主程序中workspace栏内会出现一个net变量,就是得到的神经网络。
用训练完成的神经网络预测新的输入下的脉动压力系数,要预测的气流参数如表3所示。用新的气流参数作为神经网络的输入,在matlab主程序输入框中输入in=[33115.834199.4 36891.6 37758.9;247.81 252.54 264.49 269.56],然后输入表达式out=net(in)可得到out=[0.1048 0.1560 0.0389 0.0204],即为新的4种气流参数(或来流条件)下的脉动压力系数。
表3新的气流参数
至此就完成了一组脉动压力的训练和预测,将上述训练过程中的y替换为其他单点或一组点的脉动压力系数并重复这一训练过程,即可得到所有的预测结果。如果y为一组点的脉动压力系数,则y为一个二维数组,每一行为一个测点处的脉动压力系数。
最终所有点用神经网络模型预测的结果和实际试验结果如表4所示,可以看出大部分结果的相对误差在10%以内,完全满足飞行器设计的要求。
需要注意的是,由于数值误差的原因即使用同一组数据训练每一次的结果也会有较小的偏差,但不影响本方法的效果。
表4神经网络预测结果和实际试验结果比较
本领域技术人员应理解,上面对本发明的实施例的描述的目的仅为了示例性地说明本发明的实施例的有益效果,并不意在将本发明的实施例限制于所给出的任何示例。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
- 一种基于人工神经网络的脉动压力预测方法
- 一种基于计算流体力学瞬时计算的泵站机组压力脉动预测方法