锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

加速度积分得到速度和位移的问题小结

时间:2022-09-21 14:30:01 加速度传感器必不可少微g加速度传感器单轴压电加速度传感器

在振动信号采集分析中,由于加速度传感器具有可靠性高、可测频带宽、结构小、抗干扰能力强等优点,我们经常使用加速度传感器。然而,有时需要获得速度和位移信号。此时,如何通过加速度积分获得速度和位移存在基本问题。这个问题困扰着许多相关人员。国内各种教科书也很少提及,也不知道为什么。

无论是线性系统还是非线性系统,在时域产生的信号都符合以下微分方程

其解可以写成

其中v0是积分常数,积分下限t=0表示采样的起始时间是指定时间轴的原点。如果振动没有交流量,则加速度为常数,可以获得v(t)=v0 at。速度积分的位移处理类似,所以有

其中d因为v0和d0通常是未知的,加速度积分得到速度和位移,存在积分常数问题。

积分常数问题是一个非常麻烦的问题。首先,我们可以看到,对于任何问题δv,得到

都对应同样的加速度a(t),也就是说v0和d0取任何值对应于相同的测量加速度和测量速度,因此不可能仅仅通过当前信息获取速度和位移,无论是数值点还是模拟电路点。本文主要讨论了数值积分的问题。对于模拟电路积分的问题,建议您阅读《压电加速度计和振动前放大电器》。结论是,在高频率下,放大器的增长率会下降,而不是理想的放大器;在非常低的频率下,它将受到时间常数或电路电容器的限制,而且不够准确。你可能对这个回复不满意。市场上没有各种各样的回复FFT,各种去趋势项,各种滤波操作?《力学学报》上发表的论文不也是用模拟积分电路积分吗?我的建议是,仔细看论文中的说法,你应该有自己的思考和判断。

在实际工作中,无限多v在0的选择中,您可以选择最可靠的值,因为在这些选项中,可以确定最可靠的值必须在有限范围内[va,vb]以内。因此,有必要增加对被测物体状态的判断。基于此判断,做出假设,根据此假设列出约束条件,根据约束条件找到方程,然后找出看似最可靠的积分常数。假设成立了,就得到了很好的Nice估计;假设不成立,误差很大,那就是自娱自乐,你开心就好。

从可观性的角度来看这个问题

以下讨论仅限于线性系统,是最近关注某个问题时顺便做的笔记。

振动方程为

对应的状态空间模型是

离散后可获得状态方程

可观性定义:假设A,B,C和D已知,位移和速度可以从观测到的加速度和载荷向量中计算出来吗?从迭代解可以知道,只需要尝试测试x(1)即可知道所有后续的状态x(k),k=2,3,4,…。

现在,考虑以下顺序

写矩阵形式

注意到对SDOF模型,上面的矩阵方程总是一个p×(p 2)矩阵是一个不可估量的问题,不可能同时测试加速度x(1)求出。矩阵现在被分割成。

其中Op可观测矩阵,可获得

也就是说,联合测试加速响应,知道可观测矩阵Op、只有系统矩阵E和载荷才能识别所有状态变量,并且可观察到矩阵不能奇怪,必须是满的。2015年Computers &Structures上一篇关于载荷识别的论文是基于对式(8)的简化,假设初始状态x(1)=0,得到

在实际问题的应用中,这种零初始条件的假设是一厢情愿的想法。数据采集器采样数据块后,不能再假设数据块采集结束时的状态变量为零。因此,至少在后续计算中需要考虑 过去激励引起的未来响应问题或x(1)问题不是0。

同样,在实践中,我们没有测试激励,没有做实验来获取系统参数,更不用说保证传感器布局点对应的观测矩阵了Regular是的,如果你想单独使用加速度响应,就不可能完全构建速度和位移。即使你得到了,误差也可能在80%左右,正确的是量纲。

现在的问题是,当我们得到加速数据时,我们应该考虑哪些实际问题,以及是否有办法得到不是很坏的结果?答案是肯定的,但这些要求太高或假设建立的可能性很小,所以数据的误差通常很大。

可能的假设

J.S Bendat和A.G. Piersol信号分为确定性和随机性,信号是确定性还是随机性,可能存在争议,短时间可能是确定性,长时间随机,或其他开关条件长时间触发不可预测因素。确定的信号和随机信号分为以下几种:

在确定性信号中,周期信号是罕见的;在随机信号分类中,各种状态的稳定信号是罕见的。最常见的信号是非周期信号和非稳定信号,这是实际遇到的高概率事件。

因此,下面讨论一些低概率假设和高概率误操作。

3.1 假设1:位移是零均值的信号

被测结构没有明显的位移,因此假设为零均值。然而,我们知道,在有限的时间采样后,离散数据不能严格等同于采样范围内连续信号的真实平均值。而且采样区间的真实平均值很可能是非零平均值,但平均值很小。对于速度信号,采用数值积分获取零平均位移信号的方法,以及以下加速度数值积分获取速度的方法。

3.2 假设2:速度为零平均信号

设当加速度不为常数时,采样间隔时间dt足够小,离散值分为梯形公式

v0任意假设。获得零均值就是去掉趋势项,得到

上述类型(10)是一种程序语言,表示将有一个部分估计的速度信号(组成矩阵),每个元素去除整体已知平均值,以便校正V为零平均值。去除趋势项的操作可能会有各种优雅的处理,例如Matlab里面的detrend这里不再涉及命令等。

值得一提的是,如果趋势项的操作包含非线性因素,则可能存在频率重叠困难,因为采样频率是一定的。这些非线性操作,如引入平方、打开平方根、矩阵逆转或取符号操作,将引入带宽以上的频率重量,这可能不是预期的结果,需要后续修正。最好的处理是确保足够的带宽,最后,制作无相移的低通滤波器。K. Worden教授对去趋势项的研究结论认为,优雅去趋势项操作引入的误差难以处理。K. Worden教授对去趋势项的研究结论认为,优雅去趋势项操作引入的误差难以处理。有趣的是,他早年在那里MSSP上面发表的论文认为数值积分方案非常好Nice选择;几年后,他在自己的书中对这个问题做了更详细的论证和分析。他认为数值微分方案更好。

3.3 假设3:速度是周期信号

在这种情况下,加速度FFT,在频域积分,然后IFFT回来吧。

但我们需要知道两个潜在的问题:加速信号,从时域图,必须是周期性的或Almost周期,因此必须选择合理的分辨率来实现整个周期采样;如果频率分辨率选择不合理,可能会有非常严重的泄漏,窗口声称可以减少泄漏,但窗口通常对点后的速度信号是毁灭性的,窗口效应保留在时域速度信号中,无法修正;如果有能力不加窗户,对数据的分辨率选择提出了很高的要求。如果不是周期信号,如何选择分辨率是没有用的。

图1 非周期信号 加窗的FFT积分再IFFT与准确的解释(蓝色)进行比较

3.4 假设4:当速度为零时,最大加速度

这个假设,是我偶然想到的,是在研究算法时,看到非线性微分方程强制响应,然后突然想到,假设速度为零,对应动能最小,然后惯性最大,加速度最大,所以得到结果,在那个例子中,需要在许多加速峰值中选择,然后确定积分常数,确实产生了更好的效果,但这太巧合了,再次按照这种方法选择其他峰值再做一次,失败了,现实中没有这样理想的假设。

图2 时域曲线对比速度(红色)和加速度(蓝色)

当时的做法是在明显的加速度峰值附近选择几个离散加速度点;通过多项拟合获得加速度的时间表达,可以表达为

其中下标k=1,2,3...s仅代表相邻数据点的有限选择。

假设系统的阻尼很小,当最大惯性力和最大弹性恢复力平衡时,粘性阻尼力为零。这个假设在某些时候建立起来,那么当加速度最大时,速度可以为零。使上述表达式为零,并在离散数据中选择最大加速度tmax,找到加速度的真正峰值时间tp,tp非常靠近tmax,即

加速度的表达点得到表达式的速度,积分常数v0待求

tp时速为零,从而解决积分常数v0

速度表达式在此范围内已知,回到tmax这一刻的速度可以直接得到,应该是一个非常小的量

这样,我们终于找到了估计速度小,可以根据上述离散公式继续完成剩余时间点。

因为这种方法并不总是成立的,故障后的结果如下所示。

图3 与参考结果(红色)相比,梯形值积分结果存在整体偏移量δv

数值积分案例

96年在网上荡荡Steven D. Glaser等人在(Preliminary Processing of the Lotung LSST Data报告中,附录中有源代码是地震加速度信号,频率特别低。将源代码贴在这里,给感兴趣的人:

function[a,v,d]=vd(f,Lcut,dT,pre,name)

% function[a,v,d]=vd(f,Lcut,dT,pre,name)

% detrends andfilters the input acc and integrates twice to give velo and disp

% f is the inputacc vector

% Lcut is thelow-end cutoff frequence in Hz

% dT is the timestep

% n is the orderof the Butterworth filter

% pre is thepre-event segment length to be zeroed

zip=zeros(size(zip));

[b,c]=butter(n,Lcut*dT*2,'high');

a=filtfilt(b,c,f);

a=dtrend(a(1),1,pre);%%mxl:函数已经过时了.

a=detrend(a);

a=a-a(pre 1);

a(1:pre)=zip;

v=dtrend(v(1,:)',1,pre);%%mxl:这个函数已经过时了

v=v-v(pre+1);%整体平移量

v(1:pre)=zip;%前pre个数值设置为0

d=inttrap(v,dT);%%mxl:这个是数值积分,这个函数过时了

[b,c]=butter(n,Lcut*dT*2,'high');

d=filtfilt(b,c,d);

d=dtrend(d(:,1),1,pre);

d=detrend(d); %去趋势项

d=d-d(pre+1); %整体平移量

d(1:pre)=zip; %前pre个数值设置为0

可以看到,他们首先使用了低通滤波,做了去趋势项,然后整体平移了一个量,再将前pre个数值人为置为零。

终极建议

如果同时测试了加速度和位移,那么就特别好办了。所以,如果有条件,尽可能测试加速度和位移。

设在某个区间 [t1,t2] 里面,加速度和位移都可以拟合一个表达式(expression)

在两次积分的情况下可以得到时间常数的表达式,从而解出未知系数

可见速度也同时得到了。

测试位移+测试加速度,可以通过数值微分+低通滤波得到速度;当然也可以直接通过Kalman滤波得到速度,方便、快捷、高效又稳健;或者带有微分算法的低通滤波得到速度,等等。方法总是有很多种。但并不建议测试位移,两次数值微分得到加速度,因为数值微分算法是高通滤波器,会引入高频噪声,采样频率越高,高频噪声问题越严重,两次数值微分得到的加速度误差较大,但也并不是完全不能使用,加上低通滤波可以降低这个误差,总比从加速度积分得到位移要靠谱得多。使用低通滤波算法要注意不要引入相移,平滑处理(Smooth)也是一种低通滤波,效果还行。下面是把不同点数差分算法看成是高通滤波器,然后计算其频率响应得到的曲线,注意是对采样频率fs做了归一化以后的结果。结论是:用5点差分算法是可行的,向前差分或者Matlab的diff函数,最糟糕。

图4 不同差分格式的频响特性

5.1 部分数值实验结果

下面贴出一个位移传感器在低频范围内振动,并做了相对位移和相对加速度采集的结果,从而依据这些测试结果进行数据后处理。

图5 diff会引入高频噪声;加低通滤波能消除这个噪声;smooth是移动平均,也能消除这个噪声

图6 最小二乘法可能计算不准初速度(m/s),微小的差别最终导致位移无法复现,如图7所示

图7 两种方法计算得到速度再梯形积分得到的位移(mm)对比,红色为测试位移结果黑色和红色几乎完美重合,蓝色为上面least+低通滤波的结果

图8 filter函数会引入相移,而filtfilt函数可以消除相移

图9 最小二乘法初始速度计算不为零,造成了位移恢复结果累积误差较大,产生overshoot现象,精度不及diff+滤波结果

图10 恢复位移和测试结果比较,黑色为diff恢复结果,蓝色为最小二乘加低通滤波结果,最小二乘法可能产生underestimate现象

图11用速度恢复位移和测试结果比较,黑色为diff+fir低通滤波结果,蓝色为diff+移动平均结果,说明diff+移动平均结果也不错

图12 最小二乘法与diff法得到的加速度对比,低通截止0.05

图13 最小二乘法与diff法得到的加速度对比,低通截止0.5

提高低通截止,最小二乘法得到的加速度结果明显优于diff,说明这个时候差分的噪声很难消除。

上面的实验部分实验结果,主要集中在低频,大多数位移测试的也是在低频,少部分如激光测振才能达到较高频率。

有人可能说会有更好的方案,所以,可以求解一些线性或者非线性ODE,得到精确的位移、速度和加速度数据,可以试试对这些加速度进行积分,你可以试试数值积分或者模拟电路积分,并和标准速度和标准位移对比一下,考验一下你的算法的精度。

作者简介

牟小龙,北京理工大学机械与车辆学院博士研究生,擅长线性有限元分析和系统阻抗匹配。

觉得不错,请点赞!

扩展阅读

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章