*2.2. Design of Algorithms of the Nondestructive Testing Based on Vibration Signal Analysis*

With known excitation, the motion equations of a linear structure with multiple degrees of freedom can be written as

$$\mathbf{M}\ddot{\mathbf{X}}(t) + \mathbf{C}\dot{\mathbf{X}}(t) + \mathbf{K}\mathbf{X}(t) = \mathbf{B}\mathbf{f}(t) \tag{3}$$

where, **X**(*t*), **. <sup>X</sup>**(*t*) and **.. X**(*t*) are the displacement, velocity and acceleration responses of the structure, respectively; **M**, **C** and **K** are the mass matrix, damping matrix and stiffness matrix of the structure, respectively; **f**(*t*) is an external excitation vector; **B** is the influence matrix of external excitation (position matrix). An augmented structural state variable is introduced as

$$\mathbf{X} = \begin{bmatrix} \mathbf{X}\_1^\mathrm{T}, \mathbf{X}\_2^\mathrm{T}, \mathbf{X}\_3^\mathrm{T}, \mathbf{X}\_4^\mathrm{T} \end{bmatrix}^\mathrm{T} \tag{4}$$

where, **<sup>X</sup>**<sup>1</sup> <sup>=</sup> *<sup>x</sup>*, **<sup>X</sup>**<sup>2</sup> <sup>=</sup> . *x* and **X**<sup>3</sup> = [*k*1, *k*2, ··· , *km*] <sup>T</sup> which is a vector consisting of all non-zero elements in the stiffness matrix; **X**<sup>4</sup> = [*c*1, *c*2, ··· , *cm*] <sup>T</sup> is a vector consisting of non-zero elements in the damping matrix. Note that the effect of local damage on mass is ignored. Assuming that the damping is Rayleigh damping, it obtains:

$$\mathbf{C} = \alpha \mathbf{M} + \beta \mathbf{K} \tag{5}$$

where, α and β are the mass and stiffness damping coefficients, respectively, and **X**<sup>4</sup> = [α, β] T. Equation (3) is rewritten as Equation (6) which is represented by augmented state variables:

$$\begin{Bmatrix} \mathbf{X}\_1 \\ \mathbf{X}\_2 \\ \mathbf{X}\_3 \\ \mathbf{X}\_4 \end{Bmatrix} = \begin{Bmatrix} \mathbf{X}\_2 \\ \mathbf{M}^{-1} \left[ \mathbf{B} \mathbf{f}(t) - \left[ (\mathbf{C})\_{\mathbf{X}\_1} \mathbf{X}\_3 + (\mathbf{K})\_{\mathbf{X}\_2} \mathbf{X}\_4 \right] \left[ (\mathbf{C})\_{\mathbf{X}\_4} \mathbf{X}\_2 - (\mathbf{K})\_{\mathbf{X}\_3} \mathbf{X}\_1 \right]^T \right] \\ \mathbf{K}^T \\ \mathbf{C}^T \end{Bmatrix} \tag{6}$$

where, (**C**)**X**<sup>1</sup> and (**C**)**X**<sup>4</sup> is the damping matrix based on **X**<sup>1</sup> and **X**4; (**K**)**X**<sup>2</sup> and (**K**)**X**<sup>3</sup> is the stiffness matrix based on **X**<sup>2</sup> and **X**3. Since (**C**)**X**<sup>1</sup> , (**C**)**X**<sup>4</sup> , (**K**)**X**<sup>2</sup> and (**K**)**X**<sup>3</sup> contain state variables, Equation (6) is a nonlinear equation for augmented state variables, which can be shortened as

$$
\dot{\mathbf{X}} = \mathbf{g}(\mathbf{X}, \mathbf{f}, t) \tag{7}
$$

The equation of the state is obtained by integrating Equation (7) with time as

$$\mathbf{X}\_{k} = \mathbf{X}\_{k-1} + \int\_{t\_{k-1}}^{t\_k} \mathbf{g}(\mathbf{X}, \mathbf{f}, t) \, \mathrm{d}t + \mathbf{w}\_{k} \tag{8}$$

where, *tk* denotes the time at which the *k* state is; **w***<sup>k</sup>* is the process noise that here is assumed as Gauss white noise, thus the covariance matrix is constant matrix **Q**. Equation (8) can be realized by a dynamic direct integration method in the process of designing a nondestructive testing and analysis program. Considering the placement of acceleration sensors on the structure [25,26], the observation equation is expressed as

$$\mathbf{Z}\_{k} = \mathbf{D}\dot{\mathbf{X}} = \mathbf{D}\mathbf{M}^{-1} \begin{pmatrix} \mathbf{M}(\mathbf{X}\_{2})\_{k} \\ \mathbf{B}\mathbf{f}\_{k} - \begin{bmatrix} (\mathbf{C})\_{\mathbf{X}\_{1}}\mathbf{X}\_{3} + (\mathbf{K})\_{\mathbf{X}\_{2}}\mathbf{X}\_{4} \end{bmatrix} \begin{bmatrix} (\mathbf{C})\_{\mathbf{X}\_{4}}\mathbf{X}\_{2} - (\mathbf{K})\_{\mathbf{X}\_{3}}\mathbf{X}\_{1} \end{bmatrix}^{\mathrm{T}} \\ \mathbf{0} \\ \mathbf{0} \end{bmatrix} + \mathbf{v}\_{k} \tag{9}$$

where, **f***<sup>k</sup>* represents the excitation at the time of *k* state; **v***<sup>k</sup>* is the measurement noise that here is assumed as Gauss white noise, thus the covariance matrix is a constant matrix **R**. Equation (9) is also a nonlinear equation, which can be shortened as

$$\mathbf{Z}\_k = \mathbf{h}(\mathbf{X}\_k, \mathbf{f}\_k) + \mathbf{v}\_k \tag{10}$$

The aforementioned deduction shows that after introducing the augmented state variables into the linear structure, the corresponding state equations and measurement equations become nonlinear, thus a nonlinear filtering technology must be adopted. If the extended Kalman filter (EKF) is used, two Jacobi matrices as shown in Equations (11) and (12) need to be computed:

$$\mathbf{A} = \left. \frac{\partial \mathbf{g}(\mathbf{X}, \mathbf{f}, t)}{\partial \mathbf{X}} \right|\_{\mathbf{X} = \mathbf{X}\_{k-1|k-1}} \tag{11}$$

$$\mathbf{H} = \left. \frac{\partial \mathbf{h}(\mathbf{X}, \mathbf{f}, t)}{\partial \mathbf{X}} \right|\_{\mathbf{X} = \mathbf{X}\_{k|k-1}} \tag{12}$$

Based on Equations (6) and (9), the calculation of the Jacobi matrix involves differentiating the stiffness matrix and damping matrix. The process is closely related to the position of non-zero elements in the matrices. Once the structure changes, the position of the non-zero elements in the matrices will also change, thus Equations (11) and (12) must be deducted again. Therefore, this method of deduction lacks universality. When the expression of the stiffness matrix and damping matrix is very complex, the derivation process becomes even more complicated and prone to making large errors. If the unscented Kalman filter (UKF) is used, it just needs simple matrix operations on Equations (8) and (10) in the processing. Jacobi Matrix **A** and Matrix **H** are not required to be deduced again. The workload is significantly reduced, and the program becomes more universal, indicating that UKF has obvious advantages in damage identification. Based on this, a damage-identification algorithm of the vibration signal analysis, based on the UKF, is designed as follows:


The main processing of the UKF filtering is to use the Unscented Transformation (UT) transform to deal with the nonlinear transfer of means and covariance in a Kalman filtering process. For the nonlinear equation of state and observation described as Equations (8) and (9), the UKF is processed as follows

(I) Set the initial parameters:

$$\mathbf{X}\_{0|0} = \mathbf{E}[\mathbf{X}\_{0|0}] \tag{13}$$

$$\mathbf{P}\_{\mathbf{X},00} = \mathbb{E}\left[ (\mathbf{x}\_{00} - \overline{\mathbf{x}}\_{00}) (\mathbf{x}\_{00} - \overline{\mathbf{x}}\_{00})^{\mathrm{T}} \right] \tag{14}$$

where, **X**0|<sup>0</sup> and **PX**,0|<sup>0</sup> represent the mean and covariance matrix of the initial estimated state variables, respectively.

(II) Construct the set of sigma points According to **X***k*−1|*k*−<sup>1</sup> and **PX**,*k*−1|*k*−<sup>1</sup> of state *k* − 1, the sigma point set χ*<sup>i</sup> <sup>k</sup>*−1|*k*−<sup>1</sup> can be constructed according to Equation (15), where superscript *<sup>i</sup>* denotes the order of Point *i* in the set:

$$\chi\_i = \begin{cases} \overline{\mathbf{x}}, i = 0\\ \overline{\mathbf{x}} + \sqrt{(n - \kappa)(n + \kappa)} \Big( \sqrt{\mathbf{P}\_\mathbf{x} \mathbf{P}\_\mathbf{x}^\mathrm{T}} \Big)\_i, i = 1, \dots, n\\ \overline{\mathbf{x}} - \sqrt{(n - \kappa)(n + \kappa)} \Big( \sqrt{\mathbf{P}\_\mathbf{x} \mathbf{P}\_\mathbf{x}^\mathrm{T}} \Big)\_{i - n}, i = n + 1, \dots, 2n \end{cases} \tag{15}$$

(III) Predict By substituting the sigma point set χ*<sup>i</sup> <sup>k</sup>*−1|*k*−<sup>1</sup> into the Kalman filter [27,28], the nonlinear stochastic difference Equation (16) can be obtained as

$$\mathbf{X}\_{k} = \mathbf{f}(\mathbf{X}\_{k-1}, \mathbf{u}\_{k-1}) + \mathbf{w}\_{k-1} \tag{16}$$

Then, the transformed sigma point set χ*<sup>i</sup> <sup>k</sup>*|*k*−<sup>1</sup> can be obtained as

$$\mathbf{x}\_{k|k-1}^{j} = \mathbf{f}(\mathbf{x}\_{k|k-1}^{j}, \mathbf{u}\_{k-1}) \tag{17}$$

According to χ*<sup>i</sup> k*|*k*−1 , the predicted mean of state variables is shown as Equation (18) and the covariance matrix is shown as Equation (19):

$$\overline{\mathbf{X}}\_{k|k-1} = \sum\_{i=0}^{2n} \mathbf{W}\_i^{(m)} \mathbf{x}\_{k|k-1}^i \tag{18}$$

$$\mathbf{P}\_{\mathbf{x},\mathbb{k}\mathbb{k}-1} = \sum\_{i=0}^{2n} \sum\_{m=0}^{2n} \mathbf{W}\_i^{(m)} \left[ \mathbf{x}\_{\mathbb{k}\mathbb{k}-1}^i - \mathbf{X}\_{\mathbb{k}\mathbb{k}-1} \right] \left[ \mathbf{x}\_{\mathbb{k}\mathbb{k}-1}^i + \overline{\mathbf{X}}\_{\mathbb{k}\mathbb{k}-1} \right]^\mathrm{T} + \sum\_{i=0}^{2n} \left( \mathbf{x}\_{\mathbb{k}\mathbb{k}-1}^i - \mathbf{I} \right) \left( \mathbf{x}\_{\mathbb{k}\mathbb{k}-1}^i + \mathbf{I} \right)^\mathrm{T} 10^{-5} \mathbf{I} \tag{19}$$

where, **<sup>W</sup>**(*m*) *<sup>i</sup>* is the calculated mean weight coefficient and we set 2*<sup>n</sup> i*=0 χ*i <sup>k</sup>*|*k*−<sup>1</sup> <sup>−</sup> **<sup>I</sup>** χ*<sup>i</sup> <sup>k</sup>*|*k*−<sup>1</sup> <sup>+</sup> **<sup>I</sup>** T 10−5**I** as **Q**.

By substituting χ*<sup>i</sup> <sup>k</sup>*|*k*−<sup>1</sup> into the nonlinear observation equation, Equation (9), we obtain:

$$\mathbf{y}\_{k|k-1}^{i} = \mathbf{h}(\mathbf{x}\_{k|k-1}^{i}) \tag{20}$$

The mean value of the observation variables is calculated as

$$\mathbf{Z}\_{k|k-1} = \sum\_{i=0}^{2n} \mathbf{W}\_i^{(m)} \mathbf{y}\_{k|k-1}^i \tag{21}$$

(IV) Correct Compute the covariance matrix of the observation variables:

$$\mathbf{P}\_{z,k|k-1} = \sum\_{i=0}^{2n} \sum\_{c=0}^{2n} \mathbf{W}\_i^{(c)} \left[ \mathbf{y}\_{k|k-1}^i - \mathbf{Z}\_{k|k-1} \right] \left[ \mathbf{y}\_{k|k-1}^i + \overline{\mathbf{Z}}\_{k|k-1} \right]^T + \sum\_{i=0}^{2n} \left( \mathbf{y}\_{k|k-1}^i - \mathbf{I} \right) \left( \mathbf{y}\_{k|k-1}^i + \mathbf{I} \right)^T \mathbf{I} \tag{22}$$

where, **<sup>W</sup>**(*c*) *<sup>i</sup>* is the variance weight coefficient and we set 2*<sup>n</sup> i*=0 γ*i <sup>k</sup>*|*k*−<sup>1</sup> <sup>−</sup> **<sup>I</sup>** γ*<sup>i</sup> <sup>k</sup>*|*k*−<sup>1</sup> <sup>+</sup> **<sup>I</sup>** T **I** as **R**.

Compute the covariance matrix between the state variables and observation vectors;

$$\mathbf{P}\_{k|k-1} = \sum\_{i=0}^{2n} \sum\_{c=0}^{2n} \mathbf{W}\_i^{(c)} \left[ \mathbf{y}\_{k|k-1}^i + \mathbf{Z}\_{k|k-1} \right] \left[ \overline{\mathbf{X}}\_{k|k-1} - \overline{\mathbf{Z}}\_{k|k-1} \right]^\mathrm{T} \left[ \mathbf{x}\_{k|k-1}^i - \overline{\mathbf{X}}\_{k|k-1} \right]^\mathrm{T} \tag{23}$$

Then, the Kalman gain matrix can be obtain by

$$\mathbf{K}\_k = \mathbf{P}\_{z,k|k-1} \mathbf{P}\_{z,k|k-1}^{-1} \tag{24}$$

Update the mean of state variables:

$$\mathbf{X}\_{k|k} = \mathbf{X}\_{k|k-1} + \mathbf{K}\_k \left( \mathbf{Z}\_k - \mathbf{Z}\_{k|k-1} \right) \tag{25}$$

Update the covariance matrix of the state variables:

$$\mathbf{P}\_{\mathbf{X},k|k} = \mathbf{P}\_{\mathbf{X},k|k-1} - \mathbf{K}\_k \mathbf{P}\_{z,k|k-1} \mathbf{K}\_k^T \tag{26}$$

From the steps mentioned above, it only needs to calculate the state equation and observation equation in the UKF filtering process, and does not need to calculate the Jacobi matrices. This method has obvious advantages in terms of the ease of use and flexibility when the state equation is complex and non-differentiable.

(V) Judge structural damage status based on the identification results.

The flow chart of the UKF algorithm is shown in Figure 1.

**Figure 1.** Flow chart of the unscented Kalman filter (UKF) algorithm under known excitation.
