3. 气动数据来源与处理
飞行动力学实时模型的核心是气动力与力矩系数随状态量变化的映射关系。这些映射关系无法凭空构造,必须来自三类气动数据源:风洞试验、CFD计算和飞行试验辨识。三者在精度、覆盖范围、成本、获取周期上各有取舍,工程上通常不是三选一,而是按包线分区、按系数分量分工,再统一到同一套系数模型框架中。本节围绕“数据从哪来、长什么样、怎么插值、怎么工程化”四个环节展开。
三类数据源的获取方式与适用边界
风洞试验数据是最传统也最可信的来源。在低速风洞、跨声速风洞或三声速风洞中,将缩比模型安装在支杆或尾撑上,通过改变迎角α、侧滑角β、舵面偏度δ、马赫数Ma和雷诺数Re,用天平测量六分量气动力和力矩,再换算为无量纲系数。典型输出是CL、CD、Cm、CY、Cl、Cn随α、β、δ、Ma的表格。风洞数据的优势是状态可控、重复性好,缺点是存在洞壁干扰、支架干扰、雷诺数不匹配,且大迎角、大侧滑角区域往往因模型振动或气流分离而数据稀疏。
CFD计算数据通过求解N-S方程或欧拉方程获得。对实时模型开发而言,CFD的主要价值不是替代风洞,而是补充风洞难以覆盖的区域:大迎角非线性段、舵面效率、地面效应、跨声速激波干扰。典型流程是几何建模、网格生成、湍流模型选择(如SST k-ω)、定常或非定常求解、后处理提取系数。CFD数据的状态点可以任意加密,但计算成本高,且精度依赖网格与湍流模型,通常需要与风洞数据交叉校核。
飞行试验辨识数据来自真实飞行。通过施加特定机动(如倍脉冲、3-2-1-1、扫频),用传感器记录过载、角速率、迎角、侧滑角、舵面偏度等,再用输出误差法或方程误差法辨识气动导数。飞行试验数据最真实,但只能覆盖实际飞过的状态点,且受大气扰动、传感器噪声、辨识算法影响,通常用于修正风洞和CFD数据,而不是从零建立全包线模型。
数据格式与状态点组织
三类数据源原始格式差异很大。风洞数据常以文本表格或Excel给出,每行一个状态点,列包括Ma、α、β、δe、δa、δr及六个系数;CFD数据常以CSV或Tecplot格式输出,状态点可能不规则;飞行试验辨识结果通常以导数形式给出,如CLα、Cmα、Cmq等,需要还原为系数增量。工程化的第一步是建立统一的数据结构:以状态向量x = [α, β, Ma, δ_e, δ_a, δ_r, Re]为索引,以系数向量y = [C_L, C_D, C_m, C_Y, C_l, C_n]为值,并附加来源标记(风洞/CFD/飞行)和置信度权重。
一个实用的做法是建立“主状态点表 + 增量表”。主状态点表存放基准构型(如干净构型、起落架收起)的系数;增量表存放舵面偏转、起落架放下、襟翼偏转等带来的系数增量。这样在实时模型中只需查一次主表,再叠加若干增量,既节省存储又便于维护。
插值方法:从线性到多维样条
实时模型对插值的要求是:计算量小、连续可导、不产生虚假振荡。常用方法有三类。
线性插值最简单,在相邻状态点之间按比例取值。对于一维α插值,公式为C(α) = C_i + (C_{i+1}-C_i)·(α-α_i)/(α_{i+1}-α_i)。优点是快、无过冲;缺点是导数不连续,在状态点边界处可能引起力矩抖动。适合数据密集、曲率小的区域。
三次样条插值保证一阶和二阶导数连续,曲线光滑。对于α方向的气动系数,样条能较好还原失速前的非线性。但样条在数据稀疏或存在噪声时可能产生过冲,需要在插值前做平滑处理。
多维插值是实时模型的常态。当同时依赖α、β、Ma时,可采用“逐维分解”:先固定Ma,在α-β平面上做二维插值;再在Ma方向做一维插值。二维插值常用双线性或双三次。对于不规则CFD状态点,可采用克里金或径向基函数,但计算量较大,通常离线拟合为规则网格后再用于实时模型。
工程化处理的关键环节
坐标与符号统一是首要问题。风洞数据可能采用体轴系或风轴系,力矩参考点可能在前缘、重心或某特定点。必须统一到机体坐标系、重心参考点,并明确各系数的正负号定义。例如Cm通常以抬头为正,Cl以右滚为正,Cn以右偏航为正。若原始数据参考点不同,需用平行轴定理换算:C_{m,cg} = C_{m,ref} + C_L·(x_{cg}-x_{ref})/c。
野点剔除与平滑:风洞数据在失速区可能出现跳变,CFD数据在收敛不良时可能偏离趋势。可用中值滤波或局部多项式拟合识别并剔除野点,再用样条重建。平滑不能过度,否则会抹掉真实的非线性特征。
洞壁与支架修正:风洞数据需按标准方法修正洞壁干扰、支架干扰和阻塞效应。这些修正通常由风洞方提供修正公式或修正表,工程上直接调用。
雷诺数修正:风洞Re通常低于飞行Re,需按经验公式或CFD辅助进行修正。对于以附着流为主的巡航状态,Re影响较小;对于分离流区域,Re影响显著,需谨慎处理。
数据融合:当同一状态点有多个来源时,可按置信度加权融合。例如以风洞数据为主,CFD补充大迎角,飞行试验修正巡航段。融合后的数据需再次检查连续性,避免来源切换处出现台阶。
面向实时模型的交付物
经过上述处理,最终交付给实时模型的是若干张规则网格系数表,通常以二进制或C数组形式嵌入。每张表对应一个Ma档,包含α、β网格及六个系数。实时运行时,根据当前α、β、Ma查表并插值,再叠加舵面增量,得到当前气动系数,进而计算气动力和力矩。整个链路要求单步计算时间确定、无动态内存分配、无迭代求解,以满足固定步长实时仿真要求。
下面给出一份简化的系数表结构示例,用于说明工程交付物的字段组织方式:
表名: AERO_CLEAN_M0.60
维度: alpha[31] ( -10° ~ 50°, 步长2° )
beta[9] ( -20° ~ 20°, 步长5° )
系数: CL, CD, Cm, CY, Cl, Cn
数据来源: WT(风洞) + CFD(α>30°) + FT(巡航段修正)
参考点: 重心 (x_cg = 0.25 MAC)
坐标: 机体轴系, Cm抬头为正, Cl右滚为正, Cn右偏航为正
这份结构说明中,维度、系数、来源、参考点和符号约定缺一不可。缺少任何一项,后续使用都可能出现符号错误或参考点不一致,导致实时模型输出与实际飞行相反。工程上通常还会附加一份数据字典,记录每个状态点的来源、修正量和置信度,便于追溯和更新。
三类数据源不是互相替代,而是互补。风洞提供基准,CFD补充包线,飞行试验校准真实。工程化处理的核心是把不同来源、不同格式、不同参考点的数据,统一到同一套状态点、同一套符号、同一套插值框架下,最终生成实时模型可直接调用的系数表。这一过程的质量,直接决定实时模型在全包线内的可信度。