陀螺与加表数据allan方差分析及其五系数拟合结果研究
2026/3/20 18:17:45 网站建设 项目流程

陀螺和加表allan方差分析,并拟合出5个系数结果。

实验室里刚测完一批光纤陀螺的原始数据,老张甩给我个U盘说:"这组加表和陀螺数据赶紧跑个Allan方差,下班前把拟合系数给我"。我看了眼墙上的挂钟——得,又得跟MATLAB死磕两小时。

Allan方差这玩意儿说白了就是传感器噪声的照妖镜。双击mat文件加载数据时,瞄了眼采样率:200Hz。先给陀螺数据上个硬核预处理:

from allantools import allantools import numpy as np gyro_z = data['gyro_z'][::10] # 降采样到20Hz fs = 20.0 tau = np.logspace(-1, 3, 50) # 0.1s到1000s的时间序列

这里有个骚操作——原始数据降采样。200Hz的陀螺数据在分析长周期误差时纯属浪费算力,特别是当我们需要观察几十分钟量级的零偏稳定性时。不过得注意别把婴儿和洗澡水一起倒掉,降采样前的抗混叠滤波可不敢省。

跑Allan方差的核心就三行:

(taus, adev, _, _) = allantools.oadev(gyro_z, rate=fs, data_type='freq', taus=tau) logtau = np.log10(taus) logadev = np.log10(adev)

但实际运行时会发现曲线在长tau段像抽风似的乱抖。这时候得祭出滑动平均大法:

window_size = 5; smoothed_adev = movmean(adev, window_size);

拟合环节才是重头戏。五参数模型对应着五种噪声源:

def allan_model(tau, Q, N, B, K, R): return np.sqrt(Q**2/tau**2 + N**2/tau + B**2 + (K**2)*tau/3 + (R**2)*tau**2/2)

初始参数猜测直接影响拟合成败。这里有个经验公式——把log-log曲线从右往左看,最右边的上升段对应R项,平缓区对应B项,左边的下降段对应N和Q。拿鼠标在图上戳几个点估算初始值,比无脑设全1靠谱多了。

最终拟合结果出来时,老张端着枸杞茶晃过来:"系数准不准?"我把屏幕一转:

Q: 2.3e-4 rad/s N: 0.017 deg/√hr B: 3.1e-5 deg/hr K: 8.9e-7 deg/hr^1.5 R: 4.2e-9 deg/hr^2

"比上次那批货强,零偏稳定性进1e-5量级了。"老张的茶杯停在嘴边,"不过这随机游走项咋比规格书高?"我俩对视一眼——得,产线工艺又该排查了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询