南京航空航天大学学报  2016, Vol. 48 Issue (1): 143-148   PDF    
计算参数对数值修正载荷识别算法的影响
徐菁, 张方, 姜金辉     
南京航空航天大学机械结构力学及控制国家重点实验室, 南京, 210016
摘要: 针对在载荷识别计算中经常遇到的累积误差问题,提出了一种在每个时间步长内迭代修正的载荷识别算法。首先利用拟静态算法得到载荷初值,再使用数值迭代算法对其进行修正计算,仿真结果表明,该修正算法可以有效地减小由于累积误差导致的发散,得到收敛的识别结果。针对上述算法,本文以多输入多输出简支梁为模型,分别分析了区间放大系数、区间分割系数和精确度指标3个计算参数对于识别结果的影响。计算结果显示,参数的选择对算法的效率和精度影响很大,不当的参数甚至可能引起识别结果严重发散,所以选择合适的计算参数对于数值修正算法十分重要。
关键词: 载荷识别     时域     数值修正     参数影响    
Influence of Calculation Parameters on Numerical Correction Algorithm of Load Identification
Xu Jing, Zhang Fang, Jiang Jinhui     
State Key Laboratory of Mechanics and Control of Mechanical Structures, Nanjing University of Aeronautics & Astronautics, Nanjing, 210016, China
Abstract: The cumulative error problem is very common in the calculation of load identification. This paper puts forward a new load identification algorithm with numerica literation in every time step. Firstly, the quasi-static method is used to obtain the initial value of load, then the numerical iteration algorithm is used for correction computation. Simulation results show that the correction algorithm can effectively decrease the divergence caused by the cumulative error and get convergent identification results. Moreover, a multiple-input multiple-output (MIMO) beam model is built to analyze the influence of interval amplification coefficient, interval partition coefficient and accuracy index on identification results. Calculation results indicate that these parameters have a great effect on the efficiency and precision of the algorithm, and improper parameters may even lead to serious divergence. Therefore it is very important to choose appropriate calculation parameters for the numerical correction algorithm.
Key words: load identification     time domain     numerical correction     parameter influence    

动载荷识别是结构动力学研究中的关键问题之一,其原理是根据已知的系统特性和动响应得到结构所受的动载荷。动载荷识别技术主要发展了频域和时域两类识别方法,其中时域方法可以更直观地表现载荷随时间历程的变化规律,更适用于工程实践。近数十年来,国内外专家学者针对时域动载荷识别的精度问题提出了许多有效的算法和研究,其中,比较典型的方法包括:逆卷积方法[1]、逆系统方法[2]、函数拟合法[3-4]、 模态滤波器方法[5]、SWAT方法[6]及一些交叉学科方法,如神经网络[7]和遗传算法[8]等。对于所识别的载荷形式而言,也从简单的单点输入载荷扩展到了多源载荷[9]、随机载荷[10]、移动载荷[11],分布载荷 [12]以及高频载荷[13]等。

本文为了解决由于累积误差造成识别结果不稳定甚至发散的情况,提出了基于数值迭代的改进算法,该算法能够有效地提高识别精度,避免识别发散问题,同时通过典型力学模型的仿真算例证实了识别效果。文中较为系统深入地研究了该动载荷识别算法的若干影响因素,包括区间放大系数、区间分割系数、精确度指标。通过大量算例和函数拟合,定性定量地描述了上述参数对与识别效率和精度的影响,为使用数值修正识别算法提供参考。

1 载荷识别的数值修正算法

对于已知载荷作用位置的情形,以往一步到位得到结果的载荷识别算法难免会遇到误差累积的问题。而数值修正算法在每一个时间步长内部迭代修正,可以有效地减小由于累积误差导致的发散,得到收敛的识别结果,并且有着理想的抗噪性能,具备一定的工程实用价值。

1.1 载荷初值的获得

使用数值迭代算法的前提之一是要获得可靠的初值范围,这个范围必须包含真实值且大小合适。计算初值可由一些已有的载荷识别算法获得,如正交多项式方法[14]、Wilson-θ反分析法[15]等。本文介绍了一种拟静态载荷法,其计算过程简单,所得结果不发散。

加速度信号是载荷识别计算中常见的输入形式,Wilson-θ法在计算由加载力得到加速度响应时具有良好的数值稳定性,取θ>1.37即可保证结果无条件收敛,本文取θ=1.4。

对于离散多自由度的系统,其动力学平衡方程为

$M\ddot x\left( t \right) + C\dot x\left( t \right) + Kx\left( t \right) = f\left( t \right)$ (1)

在Wilson-θ[16]的计算中,假设外力在tt+θΔt时间内是线性变化的,于是可以得到t+θΔt时刻的系统等效静力方程

$\hat Kx\left( {t + \theta \Delta t} \right) = \hat f\left( {t + \theta \Delta t} \right)$ (2)

式中:$\hat K$为等效刚度;$\hat f$为等效载荷。在已知作用有外力的自由度上施加单位结点载荷${F^i}\left( {t + \theta \Delta t} \right)$,则有

${f^i}\left( {t + \theta \Delta t} \right) = \lambda _{t + \theta \Delta t}^i{F^i}\left( {t + \theta \Delta t} \right)i = 1,2,\cdots ,n$ (3)

式中:n为结构上作用有载荷的自由度数;${f^i}\left( {t + \theta \Delta t} \right)$时刻第i个自由度处施加的动载荷;λt+θΔti为载荷系数。由于${F^i}\left( {t + \theta \Delta t} \right)$是已知的单位载荷,所以求动载荷${f^i}\left( {t + \theta \Delta t} \right)$的问题就转变为求解载荷系数λt+θΔti

引入位移向量di(t+θΔt),其表示在(t+θΔt)时刻,当第i自由度处单独施加的单位节点力i(t+θΔt)时,各自由度所对应的位移,于是有

$\hat K{d^i}\left( {t + \theta \Delta t} \right) = {F^i}\left( {t + \theta \Delta t} \right)$ (4)

di(t+θΔt),可得线性关系式

$x\left( {t + \theta \Delta t} \right) = \sum\limits_{i = 1}^n {\left( {\lambda _{t + \theta \Delta t}^i{d^i}\left( {t + \theta \Delta t} \right)} \right)} $ (5)

设有m个测点,若已经测出其加速度响应,根据Wilson-θ法的假设,有

$\begin{gathered} x\left( {t + \theta \Delta t} \right) = x\left( t \right) + \theta \Delta t\dot x\left( t \right) + \hfill \\ \frac{{{{\left( {\theta \Delta t} \right)}^2}}}{6}\left( {\ddot x\left( {t + \theta \Delta t} \right) + 2\ddot x\left( t \right)} \right) \hfill \\ \end{gathered} $ (6)

式中$\ddot x\left( t \right),\dot x\left( t \right),x\left( t \right)$为得到的已知值。$\ddot x\left( {t + \Delta t} \right)$中m个测点加速度已知,故由式(6)可求出这m个已知测点在t+θΔt时刻的位移xj(t+θΔt),j=1,2,…,m,由式(5)可得

$\begin{gathered} {x^j}\left( {t + \theta \Delta t} \right) = \sum\limits_{i = 1}^n {\left( {\lambda _{t + \theta \Delta t}^i{d^i}{{\left( {t + \theta \Delta t} \right)}^i}} \right)} \hfill \\ j = 1,2,\cdots ,m \hfill \\ \end{gathered} $ (7)

式(7)实际是含有n个未知数λt+θΔti(i=1,2,…,n),m个方程组成的线性方程组,该方程组的解可分为以下3种情况讨论:

(1) 当m≤n时,即测点数小于未知载荷数,不能得到唯一解,无法识别;

(2) 当m=n时,可以求得唯一解;

(3) 当m≥n时,对位移矩阵求广义逆,可得到一组最小二乘解。

解出{λ}t+θΔt后根据式(3),可以求出t+θΔt时刻fi(t+θΔt)的大小,进而计算下一时间点的动载荷值

${f^i}\left( {t + \Delta t} \right) = \left( {{f^i}\left( {t + \theta \Delta t} \right) - {f^i}\left( t \right)} \right)/\theta + {f^i}\left( t \right)$ (8)
1.2 利用数值迭代算法进行修正

拟静态法计算简便,解得载荷的计算结果不会出现发散。但该方法将每个时间间隔点独立计算,没有考虑前后时间点之间载荷与响应的相互影响,所以这种方法对于动载荷识别问题并不适用。为进一步得到比较精确的结果,可以用数值迭代修正拟静态法求得的载荷初值。

由Wilson-θ法和上述推导,可以将$\ddot x$(tt)的表达化简为

$\ddot x\left( {t + \Delta t} \right) = \alpha {\hat K^{ - 1}}f\left( {t + \Delta t} \right) + c\left( t \right)$ (9)

式中:α为常数;c(t)为前一时间点已知量。若在第b1,…,bi,…,bn自由度上施加载荷,在第a1,…,ai,…,am自由度上测得响应加速度,则有

$\begin{gathered} f\left( {t + \Delta t} \right) = {\left[\begin{gathered} 0,\cdots ,0,f{\left( {t + \Delta t} \right)_{b1}},0,\cdots ,0,\hfill \\ f{\left( {t + \Delta t} \right)_{bj}},0,\cdots ,0,f{\left( {t + \Delta t} \right)_{bn}},0,\cdots ,0 \hfill \\ \end{gathered} \right]^T} = \hfill \\ \sum\limits_{i = 1}^n {f{{\left( {t + \Delta t} \right)}_{bj}} \cdot {e_{bj}}} \hfill \\ \end{gathered} $ (10)

于是

$\ddot x\left( {t + \Delta t} \right) = \alpha {\hat K^{ - 1}} \cdot \left( {\sum\limits_{i = 1}^n {f{{\left( {t + \Delta t} \right)}_{bj}} \cdot {e_{bj}}} } \right) + c\left( t \right)$ (11)

在该方程组中取出n个方程,设取前n个方程,可得到如下方程式

$\left| \begin{gathered} {{\ddot x}_1} - {c_1} \hfill \\ {{\ddot x}_2} - {c_2} \hfill \\ {\text{ }} \vdots \hfill \\ {{\ddot x}_n} - {c_n} \hfill \\ \end{gathered} \right| = \left| \begin{gathered} {a_{11}}{a_{12}} \cdots {a_{1n}} \hfill \\ {a_{21}}{a_{22}} \cdots {a_{2n}} \hfill \\ {\text{ }} \vdots {\text{ }} \vdots {\text{ }} \ddots {\text{ }} \vdots \hfill \\ {a_{n1}}{a_{n2}} \cdots {a_{nn}} \hfill \\ \end{gathered} \right|\left| \begin{gathered} {f_1} \hfill \\ {f_2} \hfill \\ \vdots \hfill \\ {f_n} \hfill \\ \end{gathered} \right|$ (12)

式中:${\ddot x_i} = \ddot x{\left( {t + \Delta t} \right)_{ai}};{c_i} = c{\left( t \right)_{ai}};{f_i} = f{\left( {t + \Delta t} \right)_{bj}}$。求解方程(12),消去未知量,只保留f1

$\sum\limits_{i = 1}^m {{A_{i1}} \cdot {{\ddot x}_i} = \left| A \right| \cdot {f_1} + } \sum\limits_{i = 1}^m {{A_{i1}} \cdot {c_i}} $ (13)

式中Ai1为系数矩阵去掉第i行第1列的代数余子式。而其余未知量用f1表示,则有

${f_j} = \frac{{ - \sum\limits_{i = 1}^n {{A_{in,1j}} \cdot {x_i} + {A_{nj}} \cdot {f_1}} }}{{{A_{n1}}}}j = 2,3,\cdots ,n$ (14)

式中Ain,1j为系数矩阵去掉第i,n行第1,j列的代数余子式。令

$g\left( {{f_1}} \right) = \sum\limits_{i = 1}^m {{A_{i1}} \cdot {{\ddot x}_i} - } \sum\limits_{i = 1}^m {{A_{i1}} \cdot \ddot x_i^0} $ (15)

式中$\ddot x_i^0$表示真实加速度值,定义(f1)用以衡量计算载荷所得加速度的误差,对其求导得

$g'\left( {{f_1}} \right) = \left| A \right|$ (16)

A的行列式值为零的结点,无论载荷如何变化其响应不变,本文中不考虑这种情况。那么式(16)中导数的值是常数,所以g(f1)是一个单调函数。

假设由拟静态法得到识别载荷的初始时间序列f(t)。对于时间点tm,设其对应的力为f(tm),令a0=-r·f(tm),b0=r·f(tm),其中,r为区间放大倍数,且能满足g(a0g(b0) < 0,则[a0,b0]为初始含根区间(假设f(tm>0)。根据单调函数性质可知,在此区间内,g(f1)的零点即为真实的载荷。一般地,如果已计算得到含根区间,则令

$f_1^{k + 1} = \left( {1 - q} \right) \cdot {a_k} + q \cdot {b_k}{\text{ }}0{\text{ < }}q{\text{ < }}1$ (17)

式中q为区间分割系数,对于不同的数值迭代算法,取各自对应的q值。若

$ g\left( {{a_k}} \right)g\left( {f_1^{k + 1}} \right)\left\{ \begin{gathered} {\text{ > }}0{\text{ }}取\left[{{a_{k + 1}},{b_{k + 1}}} \right] = \left[{f_1^{k + 1}{b_k}} \right] \hfill \\ {\text{ < }}0{\text{ }}取\left[{{a_{k + 1}},{b_{k + 1}}} \right] = \left[{{a_k}f_1^{k + 1}} \right] \hfill \\ = 0{\text{ }}则f_1^{ * 0} = f_1^{k + 1},终止计算 \hfill \\ \end{gathered} \right. $

实际计算中,所用的终止原则为bk-ak≤ε(一般取ε=10-p),其中p为正整数。

2 计算参数对算法的影响

由以上分析可以看到,这种数值修正算法增加的计算量主要取决于迭代次数的多少,所以计算耗时和结果的精确性与区间放大倍数r、区间分割系数q以及精确度指标ε有很大关系。

以无噪声情况下的两端简支矩形梁为例,该模型长度为1m,截面尺寸为0.08m×0.05 m,各阶阻尼比为0.02,弹性模量为7.2×1010,材料密度为2700kg/m3,划分为12个有限元单元,则该平面结构具有24个自由度,在第16和18自由度上分别加载f1=10sin(4πt)Nf2=15sin(8πt)N的正弦力,已知数据为第8,12和20自由度上的加速度响应。

取时间步长Δt=0.001s,计算时间t=1s,令r=100,q=0.5,ε=10-7,对于上述计算模型,其拟静态初值和修正后的识别力结果如图 1(ab)所示。

图 1 数值修正前后识别对比图 Figure 1 Comparison of identification results before and after correction

2.1 计算参数1:区间放大倍数r

区间放大倍数是使用数值迭代算法的一个重要选取参数,若选取值太小,有可能出现初始计算区间不包含真实值的情况,从而导致结果不准确甚至发散,如图 2所示。但若是r选取过大,则会带来计算量的增加,表 1分析了不同r值选取时对于迭代步数以及误差的影响,其中第314时间点为第18自由度识别力曲线峰值点(取q=0.5,ε=10-7)。

图 2 r值选取不合适的识别结果(r=50) Figure 2 Indentification results of improper value of r(r=50)

表 1 区间放大倍数的影响 Table 1 Influence of interval amplification coefficient

表 1说明在其余参数选取合适时,区间放大倍数对计算精度影响并不大。误差小于0.5%在实际运用中可作为真实值的近似解,r值的影响主要体现在对于计算步数的增加上。为进一步探讨二者关系,以第314时间点为例,设其计算步数为K*,取r=60,70,…,190,200,300,…,900,1000,分别得出对应的K*值,经过线性插值近似去除取整和函数拟合处理后得K*r大致成如下对数关系

${K^ * } = \left[ {a + b \cdot \lg r} \right]$ (18)

式中[]为取整符号。经拟合计算,a=30.28,b=3.32,见图 3

图 3 K*-r拟合曲线 Figure 3 Fitting curve of K*-r

2.2 计算参数2:区间分割系数q

区间分割系数的选取也是使用数值迭代算法的重要步骤之一,一般而言该系数的选取范围为q∈0,1。不同的数值迭代算法其q值的选取也不一样,若使用二分法,则取q=0.5,若使用黄金分割法,则取q=0.618,表 2分析了不同分割系数对计算效率与精度的影响(取r=100,ε=10-7)。

表 2 区间分割系数的影响 Table 2 Influence of interval partition coefficient

表 2数据来看,在其余参数合适时,区间分割系数对计算精度影响也不大,误差依然小于0.5%,但q值对于计算效率的影响很大。同上以第314时间点为例,设其计算步数为K*,取q=0.1,0.2,…,0.9,分别得出对应的K*值,二者大致关系如图 4所示。由计算数据可知K*q成复杂的非线性对数关系,其具体函数关系有待进一步研究论证。

图 4 K*-q关系曲线 Figure 4 Relation curve of K*-q

2.3 计算参数3:精确度指标ε

精确度指标的选取会直接决定计算结果的可靠度,不合适的ε值可能会导致结果严重发散(如ε=10-2)。表 3图 5列举了一些不同的精确度指标对于计算的影响(取r=100,q=0.5)。

表 3 精确度指标的影响 Table 3 Influence of accuracy index

图 5 不同精度下的识别结果 Figure 5 Identification results of different accuracies

图 5表 3中可以看出,精度指标对于计算效率和准度的影响都很大。为方便表述,使用p来表示精确度指标(ε=10-p,即p=-igε),以第314时间点为例,设其计算步数为K*,误差为E,取p=3,4,…,10,分别得出对应的K*值和E值,经过去除取整处理和函数拟合得出K*p大致成式(19)线性关系,如图 6所示。

${K^ * } = \left[ {a + b \cdot p} \right]a = 13.29,b = 3.32$ (19)
图 6 K*-p拟合曲线 Figure 6 Fitting curve of K*-p

Ep大致成如式(20)的负指数关系,如图 7所示,在p不断变大时,E逐渐趋于零。

图 7 E-p拟合曲线 Figure 7 Fitting curve of E-p

$E = a \cdot {e^{bp}}{\text{ }}a = 207699.66,b = - 2.14$ (20)
3 结论

本文阐述了一种结合数值修正思想的载荷识别算法,以多输入简支梁模型为算例,分析了区间放大倍数、区间分割系数以及精确度指标3个计算参数对数值修正算法效率和精度的影响,总结出了如下结论:

(1) 数值修正算法在每一个时间步长内利用数值算法进行迭代修正,可以有效减少载荷识别过程中误差累积导致的发散。在参数选取合适时,该算法可以得到稳定的识别结果,基本收敛于真实加载。

(2) 区间放大系数选取不当有可能引起结果发散,在初始区间包含真实值的情况下,该系数对于计算结果的精确性影响不大,对于计算步数有一定影响,但不如其余参数作用大。

(3) 改变区间分割系数对于结果精度的影响也不大,但是对于计算效率的影响很大,两者具体数值关系有待进一步探索研究。

(4) 精确度指标对于计算效率和精度的影响在这3个参数中最大,不合适的精确度指标也可能导致结果发散。该参数与计算步数成线性关系,与误差成负指数关系,在实际计算中,该参数的选择十分重要。

参考文献
[1] Kazemi M, Hematiyan M R, Ghavami K. An efficient method for dynamic load identification based on structural response[C]//EngOpt 2008 International Conference on Engineering Optimization. Riode Janeiro, Brazil:[s.n.], 2008:1-5.
[2] 魏星原, 宋斌, 郑效忠. 载荷识别的逆系统方法. 振动、测试与诊断[J], 1995,15 (3) :35–43.
Wei Xingyuan, Song Bin, Zheng Xiaozhong. A method of inverse system to identify force. Journal of Vibration, Measurement & Diagnoisis[J], 1995, 15 (3) :35–43 .
[3] Gunawan F E, Homma H, Morisawa Y. Impact force estimation by quadratic spline approximation. Journal of Solid Mechanics and Materials Engineering[J], 2008, 2 (8) :1092–1103 .
[4] Mao Yuming, Guo Xinglin. Experiment study on dynamic force identification by a parameter estimation method. Proceedings of the SEM Annual Conference[J], 2009 :01–04 .
[5] 许锋, 陈怀海, 鲍明. 基于模态滤波器改进的动载荷识别模型. 航空学报[J], 2002,23 (1) :51–54.
Xu Feng, Chen Huaihai, Bao Ming. Force identification on model improved based on modal filter. Acta Aeronauticaet Astronautica Sinica[J], 2002, 23 (1) :51–54 .
[6] Allen M S, Carne T G. Delayed multi-step inverse structural filter for robust force identification. Mechanical Systems and Signal Processing[J], 2008, 22 :1036–1054 .
[7] 沙瑞华. 基于神经网络的水电机组动载识别研究[D]. 大连:大连理工大学, 2005.
Sha Ruihua. Dynamic load identification for turbine generator set based on neural network[D]. Dalian:Dalian University of Technology, 2005.
[8] Hashemi R, Kargarnovin M H. Vibration base identification of impact force using genetic algorithm. International Journal of Mechanical Systems Science and Engineering[J], 2007, 1 (4) :204–210 .
[9] 韩旭, 刘杰, 李伟杰, 等. 时域内多源动态载荷的一种计算反求技术. 力学学报[J], 2009,41 (4) :595–602.
Han Xu, Liu Jie, Li Weijie, et al. A computational inverse technique for reconstruction of multisource loads in time domain. Chinese Journal of Theoretical and Applied Mechanics[J], 2009, 41 (4) :595–602 .
[10] 姜金辉, 陈国平, 张方. 多点平稳随机载荷识别方法研究. 振动工程学报[J], 2009,22 (2) :162–167.
Jiang Jinhui, Chen Guoping, Zhang Fang. Identification method of multi-point stationary random load. Journal of Vibration Engineering[J], 2009, 22 (2) :162–167 .
[11] Law S S, Chan T H T, Zhu X Q, et al. Regularization in moving force identification. Journal of Engineering Mechanics ASCE[J], 2001, 127 (2) :136–148 .
[12] 秦远田. 动载荷识别应用技术研究[D]. 南京:南京航空航天大学, 2007.
Qin Yuantian. Study on dynamic load identification applications[D]. Nanjing: Nanjing University of Aeronautics and Astronautics, 2007.
[13] 谢石林, 薛永刚, 张希农. 基于统计能量法的高频集中载荷识别的理论与试验研究. 振动工程学报[J], 2013,26 (1) :1–7.
Xie Shilin, Xue Yonggang, Zhang Xinong. Theoretical and experimental studies on identification of high frequency concentrated loads based on statistical energy analysis method. Journal of Vibration Engineering[J], 2013, 26 (1) :1–7 .
[14] 张方, 朱德懋. 基于广义正交域的一种动载荷识别方法研究. 南京航空航天大学学报[J], 1996,28 (1) :1–8.
Zhang Fang, Zhu Demao. A new theoretical study of dynamic load identification based on generalized polynomial expansion. Journal of Nanjing University of A eronautics & Astronautics[J], 1996, 28 (1) :1–8 .
[15] 赵凤遥, 张宝霞, 张根全. 基于Wilson-θ法的动载荷识别. 河南科学[J], 2009,27 (10) :1243–1246.
Zhao Fengyao, Zhang Baoxia, Zhang Genquan. Dynamic load identificati on based on wilson-θ method. Henan Science[J], 2009, 27 (10) :1243–1246 .
[16] 张雄, 王天舒. 计算动力学[M]. 北京: 清华大学出版社, 2007 .
Zhang Xiong, Wang Tianshu. Computational dynamics[M]. Beijing: Tsinghua University Press, 2007 .