3. 实验数据与仿真数据的对齐
参数反演与校准的第一步,不是优化算法,而是让实验数据和仿真数据“说同一种语言”。如果两组数据在时间基准、空间坐标、采样密度、噪声水平上不一致,后续无论用最小二乘还是贝叶斯推断,得到的参数都可能是伪最优。本节围绕数据采集格式、时间/空间插值、噪声处理、缺失值处理,以及实验与仿真结果可比性的建立方法展开。
一、数据采集格式:先统一“数据契约”
实验数据通常来自示波器、数据采集卡、DIC(数字图像相关)系统或热电偶阵列,常见格式有 CSV、TDMS、HDF5、MAT 等;仿真数据则来自 COMSOL 的导出,可能是 txt、csv 或 HDF5。两者对齐前,必须先约定一份“数据契约”,明确以下字段:
- 自变量:时间 t(单位 s)或空间坐标 x, y, z(单位 m),必须统一到 SI 单位;
- 因变量:温度 T(K)、位移 u(m)、电压 V(V)等,注明是峰值、有效值还是瞬时值;
- 采样信息:采样频率 fs、起始时刻 t0、通道编号、量程与增益;
- 元数据:实验日期、试件编号、传感器位置、环境温度,便于后续追溯。
建议统一采用“长表”格式:每行一条记录,列为 t, x, y, z, quantity, value, unit, source。这样实验与仿真可以放在同一张表中,用 source 字段区分,插值和比对都更方便。COMSOL 导出时选择“时间步”与“坐标”同时输出,避免只导出数值而丢失坐标信息。
二、时间与空间插值:把两组数据放到同一网格
实验采样往往是等间隔的,例如 fs = 1 kHz,即 Δt = 1 ms;而 COMSOL 的瞬态求解器使用自适应步长,输出时间点可能为 0、0.002、0.005、0.011 s……两者时间点不重合,必须插值到公共时间轴。常用做法是:以实验时间点为基准,对仿真结果做线性插值或样条插值。若仿真步长大于实验步长,应改用“仿真输出加密”,即在 COMSOL 中设置 tlist = range(0, 1e-3, 0.5),强制输出与实验一致的 1 ms 间隔,避免插值引入额外误差。
空间插值同理。实验测点可能只有 5 个热电偶,而仿真网格有上万个节点。此时应把仿真结果插值到实验测点坐标,而不是把实验数据插值到仿真网格。插值方法上,温度场建议用线性插值,位移场可用三次样条;对于存在陡峭梯度的区域(如裂纹尖端、热影响区),应加密实验测点或采用最近邻插值,防止平滑掉关键特征。
三、噪声处理:区分“信号”与“抖动”
实验数据中的噪声来源包括传感器本底噪声、电磁干扰、量化误差等。处理噪声时,先估计噪声标准差 σ。若同一工况重复采集 5 次,可计算各时间点的标准差,取平均作为 σ 的估计。对于温度信号,常用一阶低通滤波:
T_filt[n] = α·T_raw[n] + (1-α)·T_filt[n-1]
α = Δt / (τ + Δt),τ 为滤波时间常数
若 τ = 0.01 s、Δt = 0.001 s,则 α ≈ 0.091,滤波后噪声明显降低,但会引入约 τ 的相位滞后。在校准时,应对仿真结果施加同样的滤波,或把滤波后的实验数据与未滤波仿真数据在频域比较,避免把滤波滞后误判为模型误差。对于非平稳噪声,可采用小波阈值去噪,保留突变特征。
四、缺失值处理:不能简单“删掉了事”
缺失值常见于传感器掉线、量程溢出或数据截断。处理原则是:先标记,再补全,最后记录补全方式。若缺失段较短(如连续 3~5 个点),可用线性插值或三次样条补全;若缺失段较长,应将该时间段从目标函数中剔除,而不是强行插值。在 COMSOL 中,可通过“组件耦合”或“插值函数”把实验数据作为外部函数导入,缺失点用 NaN 标记,求解器会自动忽略。
五、可比性的建立:让误差有意义
实验与仿真可比,至少满足三个条件:同一时间轴、同一空间点、同一量纲。在此基础上,定义归一化残差:
r_i = (y_exp,i - y_sim,i) / y_ref
y_ref = max(|y_exp|) 或 实验均值
若实验噪声 σ 已知,可采用加权残差 r_i / σ,使噪声大的点权重降低。校准目标函数可取加权残差平方和:
J(θ) = Σ ( (y_exp,i - y_sim,i(θ)) / σ_i )²
当 J 降到与数据点数量同量级(即平均每个点约 1 个 σ)时,说明模型已经“吃透”了数据中的确定性成分,继续降低 J 可能只是在拟合噪声。此时应检查参数是否落在物理合理范围内,并用另一组未参与校准的实验数据做验证。只有通过验证的校准结果,才具备可比性和可信度。