Keywords

1 Introduction

In modern rotating machinery applications, such as turbines, pumps and compressors, the delivery of large amounts of energy in small-sized equipment is possible due to high rotating speeds. Serious problems come accompanied with the high speeds, such as instability issues and excessive vibration due to mass unbalance. In the previous decades, mathematical tools allied with increasing computational power allowed the development of complex rotordynamics models, which have been used for problems prediction and solving. Although accurate models for the shaft and disk dynamics were developed, good foundation and bearing models are impractical, which is a problem as these components play important roles in the overall system dynamic performance.

Many authors proposed methods for the experimental identification of bearing and foundation parameters employing a model of the rotor and disks, known as model-based identification. The techniques can be categorized with respect to the type of model employed (modal or physical), to the method of determining operational forces and to the measuring system used [10]. The mathematical foundations for modal analysis of asymmetric rotors, presenting time-varying matrices, has been proposed [6], and also for the case when there are periodically varying parameters [14]. For the identification of physical parameters, there are several methods employing known modal or physical parameters to estimate physical properties of bearings, foundation and unbalance [9, 13, 15, 16]. Although the basis for the methods is the same, involving a model of the rotor and vibration measurements at specific locations, different ways of tackling the mathematical problem were presented, since it is of an ill-posed nature.

Adaptive filtering techniques may be employed as a mathematical tool for solving the estimation problem. In rotating machinery applications the RLS filter has been used for order tracking [1, 17]. In the field of structure health monitoring (SHM), the same filter was employed for damage identification of structures [2]. As a parameter estimation tool for structural vibration, the RLS with QR decomposition was employed for the identification of the modal parameters of a structure when it was excited by an harmonic unwanted force [5], and also for the identification of natural frequencies of rotors in run-up conditions [4]. The Kalman filter has also been used for identification purposes in rotating machinery applications [11].

In this paper a model-based identification method is presented and applied to a rotor system modeled by the Finite Element Method. The goal is to extract dynamic bearing parameters, stiffness and damping, by taking its dynamic stiffness matrix as an unknown. Unbalance parameters, amplitude and phase angle, are also identified in the process, while assuming the foundation is rigid. To do so, an accurate model of the rotor is needed, as well as the unbalance response functions at the bearings locations, obtainable in a real situation. In order to estimate the parameters, adaptive filtering is employed. A RLS filter with QR decomposition, which ensures good numerical properties, is presented and reformulated based on the equations used in the identification process.

2 Adaptive Filtering Algorithm

In this section the RLS adaptive filtering algorithm is presented, which will be applied to the identification of rotor bearing parameters in the following sections. In order to present the concepts, a general FIR filter is employed as a basis filter, which will have its coefficients varied following an adaptive algorithm [3].

The output y(n) of a FIR filter of length M at the discrete time n is related to the input u(n) and its previous values through the filter coefficients \(w_k\), \(k = 1, 2, \ldots , M-1\). Equation 1 shows the filter difference equation, where \(w_k^*\) denotes the complex conjugate of \(w_k\), \(\mathbf {w}\) is a vector containing each \(w_k\), \(\mathbf {w}^H\) denotes the Hermitian (conjugate transpose of \(\mathbf {w}\)) and \(\mathbf {u}(n)\) is a vector containing the previous values of the input.

$$\begin{aligned} y(n) = \sum _{k=0}^{M-1} w_k^* u(n-k) = \mathbf {w}^H \mathbf {u}(n) \end{aligned}$$
(1)

In the context of signal estimation, the filter coefficients should be tuned such that the output follows a reference, or desired, signal d(n). An adaptive filter can be used to adjust \(\mathbf {w}\) in real-time according to an algorithm.

2.1 RLS Algorithm

The RLS algorithm is derived by minimizing the squared error of the filter estimation. Figure 1 shows a block diagram of the RLS filter acting in the context of system identification. The desired signal d(n) is the output of a system to be identified and the error e(n) is given by Eq. 2.

Fig. 1.
figure 1

RLS filter block diagram.

$$\begin{aligned} e(n)=d(n) - y(n)= d(n) - \mathbf {w}^H \mathbf {u}(n) \end{aligned}$$
(2)

Considering that the signals were acquired from time M to N and by minimizing the squared error with respect to the filter coefficients, it is possible to derive an expression for the set of \(w_k\) coefficients that provides the best estimate of d(n) from the input \(\mathbf {u}(n)\). This is known as the Normal Equations, given by Eq. 3, where \(\mathbf {\Phi }\) is the autocorrelation matrix of the input of dimension \(M \text {x} M\), given by Eq. 4, and \(\mathbf {z}\) is the cross-correlation vector of the input of dimension \(M \text {x} 1\) and the desired signal, given by Eq. 5.

$$\begin{aligned} \mathbf {z} = \mathbf {\Phi } \mathbf {w} \end{aligned}$$
(3)
$$\begin{aligned} \mathbf {\Phi } = \sum _{n=M}^{N} \mathbf {u}(n)\mathbf {u}^H(n) \end{aligned}$$
(4)
$$\begin{aligned} \mathbf {z} = \sum _{n=M}^{N} \mathbf {u}(n) d^*(n) \end{aligned}$$
(5)

The previous equations provide the filter coefficients that best adjust the input to the desired signal in a least squares sense. In order to implement it in real-time, Eq. 3 must be solved for each time-step, and Eqs. 4 and 5 must be modified. A forgetting factor \(\lambda \) is introduced, which lies in the interval \(0 \le \lambda \le 1\). It is responsible for forgetting past values when its value is lesser than unity or considering all the acquired data when it is equal to the unit. The second modification is the recursive calculation of \(\mathbf {\Phi }\) and \(\mathbf {z}\), which enables the computation of its values based on their previous values and the new acquired data. Equations 6 and 7 indicate the new set of expressions.

$$\begin{aligned} \mathbf {\Phi }(n) = \lambda \mathbf {\Phi }(n-1) + \mathbf {u}(n) \mathbf {u}^H(n) \end{aligned}$$
(6)
$$\begin{aligned} \mathbf {z}(n) = \lambda \mathbf {z}(n-1) + \mathbf {u}(n) d^*(n) \end{aligned}$$
(7)

From past values and new data at time n, it is possible to solve Eq. 3 for \(\mathbf {w}\) through matrix inversion. However, this would be impractical to solve in real time, as the numerical cost would by too large. In order to solve this problem, the matrix inversion lemma can be employed. For a non-singular matrix \(\mathbf {A}\) that can be written as a function of matrices \(\mathbf {B}\), \(\mathbf {C}\) and \(\mathbf {D}\) according to Eq. 8, its inverse is given by Eq. 9.

$$\begin{aligned} \mathbf {A} = \mathbf {B}^{-1} + \mathbf {C}\mathbf {D}^{-1}\mathbf {C}^H \end{aligned}$$
(8)
$$\begin{aligned} \mathbf {A}^{-1} = \mathbf {B} - \mathbf {BC}(\mathbf {D}+\mathbf {C}^H\mathbf {B}\mathbf {C})^{-1}\mathbf {C}^H\mathbf {B} \end{aligned}$$
(9)

Defining \(\mathbf {P}(n)=\mathbf {\Phi }^{-1}(n)\) and \(\mathbf {A} = \mathbf {\Phi }(n), \mathbf {B} = \lambda \mathbf {\Phi }(n-1), \mathbf {C} = \mathbf {u}(n), \mathbf {D} = \mathbf {I} \), the propagation equation for \(\mathbf {P}(n)\) is given in Eq. 10, where \(\mathbf {k}(n)\) is a gain vector, given in Eq. 11.

$$\begin{aligned} \mathbf {P}(n)= \lambda ^{-1} \mathbf {P}(n-1) - \lambda ^{-1} \mathbf {k}(n) \mathbf {u}^H(n) \mathbf {P}(n-1) \end{aligned}$$
(10)
$$\begin{aligned} \mathbf {k}(n) = \mathbf {P}(n) \mathbf {u}(n) = \frac{\lambda ^{-1} \mathbf {P}(n-1) \mathbf {u}(n)}{1 + \lambda ^{-1}\mathbf {u}^H\mathbf {P}(n-1)\mathbf {u}(n)} \end{aligned}$$
(11)

The filter coefficients at time n can be finally calculated through Eq. 13, where \(\zeta (n)\) is an a priori error, given by Eq. 12.

$$\begin{aligned} \zeta (n) = d(n) - \mathbf {\hat{w}}^H(n-1) \mathbf {u}(n) \end{aligned}$$
(12)
$$\begin{aligned} \mathbf {w}(n) = \mathbf {w}(n-1) - \mathbf {k}(n) \zeta ^*(n) \end{aligned}$$
(13)

Equations 10 to 13 define the RLS algorithm, which requires an initial condition for \(\mathbf {P}(0)\). In a practical scenario, numerical errors and noise may lead a bad conditioning of matrix \(\mathbf {P}\), which makes the estimator unstable.

2.2 QRD/RLS Algorithm

The QRD/RLS algorithm can be used to avoid instabilities. This method uses the QR decomposition to turn the normal equations into an upper triangular problem. Then, the filter coefficients can be determined through back-substitution. The QR decomposition of a matrix \(\mathbf {M}\) returns two matrices: an unitary matrix \(\mathbf {Q}\), such that \(\mathbf {Q}\mathbf {Q}^H=\mathbf {I}\), and an upper triangular matrix \(\mathbf {R}\), as shown in Eq. 14.

$$\begin{aligned} \mathbf {QM} = \begin{bmatrix} \mathbf {R} \\ \mathbf {0} \end{bmatrix} \end{aligned}$$
(14)

A positive-definite matrix \(\mathbf {A}\) can be written as the product of an upper triangular matrix \(\mathbf {R}\) and its Hermitian, which is known as the Cholesky decomposition [12].The application of this technique to \(\mathbf {\Phi }(n)\) leads to Eq. 15 and the normal equations can be written as Eq. 16.

$$\begin{aligned} \mathbf {\Phi }(n) = \mathbf {R}(n) \mathbf {R}^{H}(n) \end{aligned}$$
(15)
$$\begin{aligned} \mathbf {R}(n) \mathbf {R}^H(n) \mathbf {w}(n) = \mathbf {z}(n) \end{aligned}$$
(16)

The propagation equations of the QRD/RLS algorithm can be written as the QR decomposition given by Eq. 17, where \(\zeta (n)\) is the a posteriori error, \(\gamma (n)\) is a conversion factor, \(\mathbf {u}(n)\) is the input data vector and \(\mathbf {p}(n) = \mathbf {R}^H(n) \mathbf {w}(n)\) [3].

$$\begin{aligned} \mathbf {Q} \begin{bmatrix} \lambda ^{1/2}\mathbf {R}^{H}(n-1)&\lambda ^{1/2}\mathbf {p}(n-1)&\mathbf {0} \\ \mathbf {u}^H(n)&d^*(n)&1 \\ \end{bmatrix} = \begin{bmatrix} \mathbf {R}^{H}(n)&\mathbf {p}(n)&\mathbf {R}^{-1}(n)\mathbf {u}(n) \\ \mathbf {0}^T&\zeta ^*(n) \gamma ^{*1/2}(n)&\gamma ^{*1/2}(n) \\ \end{bmatrix} \end{aligned}$$
(17)

In the present work, the QR decomposition of the first matrix in Eq. 17 is accomplished through MATLAB’s command qr. Matrix \(\mathbf {R}\) is initialized according to Eq. 18, where \(\delta \) is a regulating parameter.

$$\begin{aligned} \mathbf {R}(0) = \delta ^{1/2} \mathbf {I} \end{aligned}$$
(18)

2.3 Vector QRD/RLS Algorithm

The previous algorithm can be extended to the MIMO case, where there are N input and N outputs. The input is now a data matrix \(\mathbf {U}(n)\), of dimension \(N \text {x} M\) and the desired response is a vector \(\mathbf {d}(n)\), of dimension \(N \text {x} 1\), which are related with the filter coefficients according to Eq. 19.

$$\begin{aligned} \mathbf {d}(n) = \mathbf {U}(n) \mathbf {w}(n) \end{aligned}$$
(19)

The propagation equations are now given by Eq. 20, where \(\mathbf {\epsilon }\) is a normalized vector of dimension \(N \text {x} 1\), \(\mathbf {\Lambda }\) is a conversion factor vector of dimension \(N \text {x} 1\) and \(\varDelta \) is a vector of dimension \(N \text {x} 1\) given by Eq. 21.

$$\begin{aligned} \mathbf {Q} \begin{bmatrix} \lambda ^{1/2}\mathbf {R}^{H}(n-1)&\lambda ^{1/2}\mathbf {p}(n-1)&\mathbf {0} \\ \mathbf {U}(n)&\mathbf {d}(n)&\mathbf {\Delta } \\ \end{bmatrix} = \begin{bmatrix} \mathbf {R}^{H}(n)&\mathbf {p}(n)&\mathbf {R}^{-1}(n)\mathbf {U}(n) \\ \mathbf {0}^T&\varvec{\epsilon }(n)&\mathbf {\Gamma }^{1/2}(n) \\ \end{bmatrix} \end{aligned}$$
(20)
$$\begin{aligned} \mathbf {\Delta } = \begin{bmatrix} 0&\ldots&0&1 \end{bmatrix}^T \end{aligned}$$
(21)

3 Rotor Modeling and Identification Procedure

In the previous section the QRD/RLS adaptive filter algorithm was presented, which will be used to identify the unbalance present in rotating machinery and the stiffness and damping coefficients of the bearings. In this section, a rotor model will be presented using the Finite Element Method (FEM), which will be used for simulating different machines. The unbalance response will be discussed, then the identification procedure will be presented.

3.1 Rotor Model

The rotating structure is modeled by dividing the system into four sub-systems: shaft, disks, bearings and foundation. In this work a rigid foundation was considered, hence the fourth sub-system is not taken into account. The shaft is modeled employing unidimensional beam elements, each one having two nodes. Each node contains two translation degrees of freedom (DOF), y and z, and two rotation DOFs, \(\phi _y\) and \(\phi _z\). The equations of motion of the i-th shaft element are given by Eq. 22, where \(\mathbf {M_S}^{(i)}\) is the shaft mass matrix, \(\mathbf {K_S}^{(i)}\) the shaft stiffness matrix, \(\mathbf {G_S}^{(i)}\) the shaft gyroscopic matrix, \(\mathbf {C_S}^{(i)}\) the shaft internal damping matrix and \(\varOmega \) is the rotating speed. Vector \(\mathbf {f_S}^{(i)}\) contains the shaft internal forces connecting the elements and vector \(\mathbf {q_S}^{(i)}\) contains the 8 DOFs of the i-th element, given in Eq. 23 [8].

$$\begin{aligned} \mathbf {M_S}^{(i)} \ddot{\mathbf {q_S}}^{(i)} + \left( \mathbf {C_S}^{(i)} + \varOmega \mathbf {G_S}^{(i)} \right) \dot{\mathbf {q_S}}^{(i)} + \left( \mathbf {K_S}^{(i)} + \varOmega \mathbf {C_S}^{(i)}\right) \mathbf {q_S}^{(i)} = \mathbf {f_S}^{(i)} \end{aligned}$$
(22)
$$\begin{aligned} \mathbf {q_S}^{(i)} = \begin{Bmatrix} y^{(i)}&z^{(i)}&\phi _y^{(i)}&\phi _z^{(i)}&y^{(i+1)}&z^{(i+1)}&\phi _y^{(i+1)}&\phi _z^{(i+1)} \\ \end{Bmatrix}^T \end{aligned}$$
(23)

The disks are modeled as rigid bodies and, for the k-th element, the equations of motion are given in Eq. 24, where \(\mathbf {M_D}^{(k)}\) is the disk mass matrix, \(\mathbf {G_D}^{(k)}\) the disk gyroscopic matrix, \(\mathbf {f_D}^{(k)}\) the internal forces connecting the disk to the shaft and the external unbalance forces. \(\mathbf {q_D}^{(k)}\) contains the 4 DOFS of the k-th element. given in Eq. 25.

$$\begin{aligned} \mathbf {M_D}^{(k)} \ddot{\mathbf {q_D}}^{(k)} + \varOmega \mathbf {G_D}^{(k)} \dot{\mathbf {q_D}}^{(k)} = \mathbf {f_D}^{(k)} \end{aligned}$$
(24)
$$\begin{aligned} \mathbf {q_D}^{(k)} = \begin{Bmatrix} y^{(k)}&z^{(k)}&\phi _y^{(k)}&\phi _z^{(k)} \\ \end{Bmatrix}^T \end{aligned}$$
(25)

The bearings Finite Element model utilizes a stiffness matrix \(\mathbf {K_B}\) and a damping matrix \(\mathbf {C_B}\) that, for the m-th bearing element, are given by Eqs. 26 and 27, respectively. Terms with subscripts yy and zz represent direct stiffness and damping coefficients, while subscripts yz and zy represent cross stiffness and damping coefficients. These terms are the unknowns of the identification procedure. Equation 28 represents the equations of motion for the m-th bearing element, where \(\mathbf {q_B}^{(k)}\) contains the 2 DOFS of the m-th element, given in Eq. 29.

$$\begin{aligned} \mathbf {K_B}^{(m)} = \begin{bmatrix} k_{yy}^{(m)}&k_{yz}^{(m)} \\ k_{zy}^{(m)}&k_{zz}^{(m)} \\ \end{bmatrix} \end{aligned}$$
(26)
$$\begin{aligned} \mathbf {C_B}^{(m)} = \begin{bmatrix} c_{yy}^{(m)}&c_{yz}^{(m)} \\ c_{zy}^{(m)}&c_{zz}^{(m)} \\ \end{bmatrix} \end{aligned}$$
(27)
$$\begin{aligned} \mathbf {C_B}^{(m)} \dot{\mathbf {q_B}}^{(m)} + \mathbf {K_B}^{(m)} {\mathbf {q_B}}^{(m)} = \mathbf {f_B}^{(m)} \end{aligned}$$
(28)
$$\begin{aligned} \mathbf {q_B}^{(m)} = \begin{Bmatrix} y^{(m)}&z^{(m)} \\ \end{Bmatrix}^T \end{aligned}$$
(29)

In order to assemble the equations of motion before, a global displacement vector \(\mathbf {q}\) is defined, which contains the displacement, y and z, and rotations, \(\phi _y\) and \(\phi _z\), of all nodes. The global mass \(\mathbf {M}\), damping \(\mathbf {C}\), gyroscopic \(\mathbf {G}\) and stiffness \(\mathbf {K}\) matrices can then be assembled. Equation 30 indicates the global equation of motion of the Finite Element model, where \(\mathbf {f}(t)\) is the external force vector. Note that the shaft internal damping is not considered, hence matrix \(\mathbf {C}\) contains only bearing parameters.

$$\begin{aligned} \mathbf {M}\ddot{\mathbf {q}} + \left( \mathbf {C} + \varOmega \mathbf {G}\right) \dot{\mathbf {q}} + \mathbf {K}\mathbf {q} = \mathbf {f}(t) \end{aligned}$$
(30)

3.2 Unbalance Response

In the presence of unbalance, which may occur in the disks and also in the shaft, the rotor will vibrate. For the k-th node, the unbalance force is given by Eq. 32, where vector \(\mathbf {g}\) is given in Eq. 31 and has zero values in the nodes where there is no unbalance. Product \(m_k e_k\) is the unbalance amplitude of the k-th node [7].

$$\begin{aligned} \mathbf {g} = \begin{Bmatrix} \begin{Bmatrix} \ldots&m_k e_k e^{j \alpha _k}&\ldots \end{Bmatrix}&\begin{Bmatrix} \ldots&-j m_k e_k e^{j \alpha _k}&\ldots \end{Bmatrix}&\mathbf {0}^T&\mathbf {0}^T \end{Bmatrix}^T \end{aligned}$$
(31)
$$\begin{aligned} \mathbf {f_u}(t) = \varOmega ^2 \mathbf {g} e^{j\varOmega t} \end{aligned}$$
(32)

When \(\mathbf {f}(t) = \mathbf {f_u}(t)\), Eq. 30 can be solved by assuming that the response can be written as \(\mathbf {q}= \mathbf {q_u} e^{j\varOmega t}\), where \(\mathbf {q_u}\) is the unbalance amplitude response vector. By substituting this expression into Eq. 32, it is possible to demonstrate that the response due to unbalance can be determined by solving Eq. 33, where \(\mathbf {Z}\) is the dynamic stiffness matrix, given in Eq. 34.

$$\begin{aligned} \mathbf {Z}\mathbf {q_u} = \mathbf {g} \end{aligned}$$
(33)
$$\begin{aligned} \mathbf {Z} = - \varOmega ^2 \mathbf {M} + j \varOmega \left( \mathbf {C} + \varOmega \mathbf {G} \right) + \mathbf {K} \end{aligned}$$
(34)

3.3 Identification Procedure

In order to identify the bearing parameters and the unbalance amplitude in a running machine, it is assumed that the vibration is measured in the y and z directions in the bearing nodes. The proposed procedure also assumes that a Finite Element model of the remaining of the rotor is available.

Vector \(\mathbf {q_u}\) from Eq. 33 can be separated in four groups, containing the shaft inner DOFs (\(\mathbf {q_{R,i}}\)), connection DOFs between shaft and bearings (\(\mathbf {q_{R,B}}\)), connection DOFs between bearings and foundation (\(\mathbf {q_{F,B}}\)) and the inner DOFs of the foundation (\(\mathbf {q_{F,i}}\)) [13]. Since the foundation is assumed rigid, vectors \(\mathbf {q_{F,B}}\) and \(\mathbf {q_{F,i}}\) are null. Matrix \(\mathbf {Z}\) can be divided following the same approach, which leads to Eq. 35.

$$\begin{aligned} \begin{bmatrix} \mathbf {Z_{R,ii}}&\mathbf {Z_{R,iB}} \\ \mathbf {Z_{R,Bi}}&\mathbf {Z_{R,BB}}+\mathbf {Z_B} \\ \end{bmatrix} \begin{Bmatrix} \mathbf {q_{R,i}} \\ \mathbf {q_{R,B}} \end{Bmatrix} = \begin{Bmatrix} \mathbf {f_{R,i}} \\ \mathbf {0} \end{Bmatrix} \end{aligned}$$
(35)

Matrices \(\mathbf {Z_{R,ii}}\), \(\mathbf {Z_{R,iB}}\), \(\mathbf {Z_{R,Bi}}\) and \(\mathbf {Z_{R,BB}}\) are known, because they only contain information about the shaft, which is known if the FEM matrices are known. Matrix \(\mathbf {Z_B}\) is unknown as it contains information about the bearings. Vector \(\mathbf {f_{R,i}}\) contains the unbalance amplitude driving the system, which is also unknown. Equations 36 and 37 can be written from Eq. 35.

$$\begin{aligned} \mathbf {Z_{R,ii}}\mathbf {q_{R,i}} + \mathbf {Z_{R,iB}}\mathbf {q_{R,B}} = \mathbf {f_{R,i}} \end{aligned}$$
(36)
$$\begin{aligned} \mathbf {Z_{R,Bi}}\mathbf {q_{R,i}} + \left( \mathbf {Z_{R,BB}}+\mathbf {Z_B}\right) \mathbf {q_{R,B}} = \mathbf {0} \end{aligned}$$
(37)

Isolating \(\mathbf {q_{R,i}}\) from Eq. 36 and substituting in 37, Eq. 38 can be written, where matrix \(\mathbf {Y}\) is given by Eq. 39.

$$\begin{aligned} \left( \mathbf {Z_{R,BB}} - \mathbf {Y} \mathbf {Z_{R,iB}} \right) \mathbf {q_{R,B}} = - \mathbf {Z_B}\mathbf {q_{R,B}} - \mathbf {Y} \mathbf {f_{R,i}} \end{aligned}$$
(38)
$$\begin{aligned} \mathbf {Y} = \mathbf {Z_{R,Bi}}\mathbf {Z_{R,ii}}^{-1} \end{aligned}$$
(39)

The unbalance force k-th plane can be expressed through Eq. 40 by modifying Eq. 32. Vector \(\mathbf {t}_k\) is a distribution vector, containing only 1 and \(-j\) for the planes where unbalance is present and zeros otherwise. Term \(a_k\) is given in Eq. 41 and it contains the unbalance parameters for the k-th plane.

$$\begin{aligned} \mathbf {f_u}_k = \varOmega ^2 \begin{Bmatrix} \begin{Bmatrix} 0&\ldots&1&\ldots&0 \end{Bmatrix}&\begin{Bmatrix} 0&\ldots&-j&\ldots&0 \end{Bmatrix}&\mathbf {0}^T&\mathbf {0}^T \end{Bmatrix}^T a_k = \varOmega ^2 \mathbf {t}_k a_k \end{aligned}$$
(40)
$$\begin{aligned} a_k = m_k e_k e^{j \alpha _k} \end{aligned}$$
(41)

Considering \(N_p\) unbalance planes, vectors \(\mathbf {f_u}_k\) must be assembled. This can be achieved by considering a matrix \(\mathbf {T}\), where each column is a \(\mathbf {b}_k\) vector, and a vector \(\mathbf {a}\), where each entry is an \(a_k\) element. Hence, the unbalance force can be written according to Eq. 42.

$$\begin{aligned} \mathbf {f_u} = \varOmega ^2 \mathbf {T} \mathbf {a} \end{aligned}$$
(42)

For matrix \(\mathbf {Z_B}\), it can be expanded according to Eq. 43 in terms of the bearings stiffness and damping matrices, \(\mathbf {K_B}\) and \(\mathbf {C_B}\) respectively. In order to provide better identification performance, this matrix is written in terms of matrices \(\mathbf {Z_0}\) and \(\mathbf {Z_1}\), as shown, which will be identified and, from them, it is possible to reconstruct \(\mathbf {Z_B}\).

$$\begin{aligned} \mathbf {Z_B} = \mathbf {K_B} + j\varOmega \mathbf {C_B} = \mathbf {Z_0} + \varOmega \mathbf {Z_1} \end{aligned}$$
(43)

Substituting Eqs. 43 and 42 into 38, it is possible to write Eq. 44, which will be directly used with the adaptive filter algorithm to predict the unbalance and bearing parameters. The vectors and matrices shown are expanded for the \(N_b\) bearings and \(N_p\) unbalance planes.

$$\begin{aligned}&\left( \mathbf {Z_{R,BB}} - \mathbf {Y} \mathbf {Z_{R,iB}} \right) \mathbf {q_{R,B}}\nonumber \\&\quad = -\begin{Bmatrix} \mathbf {Z_0}^{(1)}\mathbf {q_B}^{(1)} \\ \vdots \\ \mathbf {Z_0}^{(N_B)}\mathbf {q_B}^{(N_B)} \end{Bmatrix} -\begin{Bmatrix} \mathbf {Z_1}^{(1)} \varOmega \mathbf {q_B}^{(1)} \\ \vdots \\ \mathbf {Z_1}^{(N_B)} \varOmega \mathbf {q_B}^{(N_B)} \end{Bmatrix} - \varOmega ^2 \mathbf {YT} \begin{Bmatrix} a_1 \\ \vdots \\ a_{N_p} \end{Bmatrix} \end{aligned}$$
(44)

Matrices \(\mathbf {Z_{R,BB}}\), \(\mathbf {Z_{R,iB}}\) and \(\mathbf {Y}\) are known from the finite element model of the shaft. Vector \(\mathbf {q_b}^{(k)}\) contains the unbalance response amplitude at the k-th bearing of the rotor and it must be measured for each speed \(\varOmega \). Finally, the user must set the number of unbalance planes \(N_p\) and their location, hence matrix \(\mathbf {T}\) is also known.

The vector QRD/RLS algorithm can be applied in order to solve Eq. 44 for \(\mathbf {Z_0}\), \(\mathbf {Z_1}\) and \(\mathbf {a}\). The desired response vector \(\mathbf {d}(n)\) is given by Eq. 45, which is equal to the left side of Eq. 44. Here, instead of performing tasks for each time step n, the algorithm is run for each speed \(\varOmega (n)\).

$$\begin{aligned} \mathbf {d}(n) = \left[ \mathbf {Z_{R,BB}}(\varOmega (n)) - \mathbf {Y}(\varOmega (n)) \mathbf {Z_{R,iB}}(\varOmega (n)) \right] \mathbf {q_{R,B}}(\varOmega (n)) \end{aligned}$$
(45)

Data matrix \(\mathbf {U}(n)\) is given by Eq. 46, and the filter coefficients are written in terms of several vectors containing the entries of \(\mathbf {Z_0}\), \(\mathbf {Z_1}\) and \(\mathbf {a}\), as shown in Eqs. 47 and 48. Note that matrices \(\mathbf {Z_0}\) and \(\mathbf {Z_1}\) are composed of \(N_b\) sub-matrices of dimension 2 \(\times \) 2 containing direct (yy and zz) and cross components (yz and zy).

$$\begin{aligned} \mathbf {U}(n) = \begin{bmatrix} \begin{pmatrix} \mathbf {q_B}^{(1)} &{} \varOmega \mathbf {q_B}^{(1)} &{} 0 &{} 0 &{} \ldots &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} \mathbf {q_B}^{(1)} &{} \varOmega \mathbf {q_B}^{(1)} &{} \ldots &{} 0 &{} 0 &{} 0 &{} 0 \\ \vdots &{} \vdots &{} \vdots &{} \vdots &{} \ddots &{} \vdots &{} \vdots &{} \vdots &{} \vdots \\ 0 &{} 0 &{} 0 &{} 0 &{} \ldots &{} \mathbf {q_B}^{(N_b)} &{} \varOmega \mathbf {q_B}^{(N_b)} &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} \ldots &{} 0 &{} 0 &{} \mathbf {q_B}^{(N_b)} &{} \varOmega \mathbf {q_B}^{(N_b)} \end{pmatrix} \begin{pmatrix} - \varOmega ^2 \mathbf {Y T} \end{pmatrix} \end{bmatrix} \end{aligned}$$
(46)
$$\begin{aligned} \mathbf {w}(n) = \begin{pmatrix} {\mathbf {v}^{(1)}}^T&\ldots&{\mathbf {v}^{(N_b)}}^T&{\mathbf {a}}^T \end{pmatrix}^T \end{aligned}$$
(47)
$$\begin{aligned} \mathbf {v}^{(m)} = \begin{pmatrix} {Z_0}_{yy}^{(m)}&{Z_0}_{yz}^{(m)}&{Z_1}_{yy}^{(m)}&{Z_1}_{yz}^{(m)}&{Z_0}_{zy}^{(m)}&{Z_0}_{zz}^{(m)}&{Z_1}_{zy}^{(m)}&{Z_1}_{zz}^{(m)} \end{pmatrix}^T \end{aligned}$$
(48)

From the identified values it is possible to determine the physical parameters through Eqs. 41 and 43.

4 Simulation Results and Discussion

In this section a rotor will be studied utilizing a Finite Element model. Two cases will be analyzed: one with fixed bearing properties and one with speed-dependent parameters. The shaft has an Young’s modulus \(E = 200\) \(\times \) \(10^9 \frac{N}{m}\), density \(\rho = 7800\) \(\frac{kg}{m^3}\), Poisson’s coefficient \(\nu = 0.3\), length \(L = 1.3\) m, diameter \(D = 0.1\) m and presents no unbalance. The disks have an outer diameter of \(D_{o} = 0.12\) m, thickness of \(t = 0.05\) m, the same material as the shaft and its inner diameter matches the shaft’s diameter.

4.1 Fixed Bearing Properties

The model shown in Fig. 2(a) will be used. There is a total of 27 nodes and 31 elements. Bearings are located at nodes 1 (Bearing 1) and 27 (Bearing 2), and three disks are located at nodes 5, 11 and 21. Bearing and unbalance properties are given in Tables 1 and 2, respectively.

Table 1. Bearings properties

From the Finite Element model with the previously specified parameters, the unbalance response of each bearing node was obtained. The speed range was set from 0 rpm to 15000 rpm. The Campbell Diagram is shown in Fig. 2(b), where \(f_n\) are the natural frequencies of the rotor as a function of the speed \(\varOmega \). The dashed line indicates where the natural frequencies are equal to the shaft speed, and the intersections of this line with the full one represent the critical speeds. The measured unbalance responses at the bearings are indicated in Figs. 3(a) and 3(b).

Fig. 2.
figure 2

Finite Element model of the rotor under study and its respective Campbell Diagram.

Table 2. Unbalance properties
Fig. 3.
figure 3

Unbalance responses measured at the bearings.

The unbalance responses at the bearing nodes are processed by the algorithm described in the previous section. The chosen filter parameters were \(\lambda = 0.999\) and \(\delta = \)\(\times \) \(10^{-7}\), and the initial guess for the filter weights was set to zero. The estimated stiffness \(k_{yy}\), \(k_{yz}\), \(k_{zy}\) and \(k_{zz}\) are shown in Fig. 4(a), and the estimated damping coefficients \(c_{yy}\), \(c_{yz}\), \(c_{zy}\) and \(c_{zz}\) are shown in Fig. 4(b).

The estimated properties change as the speed of rotation changes, since the filter coefficients is recursively updated for each speed sample. The parameters converged to the correct values and, since the largest estimation error relative to the true parameters was from the order of \(0.0001 \%\), their values are not shown here. Although the converged properties are correct, filter convergence was very slow, which happened because the method is sample-based. Thus, more samples of unbalance response leads to a faster convergence. One possible method to improve results would be to employ a constant rotation during a number os samples before moving to the next speed. Unbalance parameters were perfectly estimated and are not shown here.

4.2 Speed-Dependent Bearing Properties

Considering the same rotor, bearing properties are now given by Eq. 49, where subscript (SD) indicates speed-dependent parameters and \(ij = yy, yz, zy, zz\). Damping and unbalance remained constant and are equal to the previous case.

$$\begin{aligned} k_{ij}^{(SD)} = \frac{k_{ij}}{2.25\,\times \,10^8} \varOmega ^2 \end{aligned}$$
(49)
Fig. 4.
figure 4

Bearings estimated properties.

As there are speed-dependent parameters, forgetting factor was set to \(\lambda = 0.99\). The identified stiffness are shown in Fig. 5(a), where the reference values are given by the discrete points and the identified ones are given by the full lines. The identified parameters followed the reference with minor discrepancies. Figure 5(b) shows the identified damping parameters which clearly did not converge to the expected values.

Fig. 5.
figure 5

Bearings estimated speed-dependent properties.

Table 3. Estimated unbalance parameters at 15000 rpm

Table 3 shows the estimated unbalance parameters at 15000 rpm and it can be seen that they are very close to the reference values from Table 2. Figure 6(a) presents a comparison between the Campbell Diagrams of the fixed and speed-dependent situations, where it can be seen the stiffness influence at higher speeds. From the estimated parameters it was possible to estimate natural frequencies, indicated by the discrete points in Fig. 6(b), where the dashed line represents the \(1\text {x}\) speed component. The natural frequencies could be well estimated, even the ones that were not excited by the rotor.

Fig. 6.
figure 6

Campbell diagram and identified natural frequencies.

By analyzing the presented results it can be seen that the proposed method is very useful for the identification of rotating machinery bearing and unbalance parameters. Although damping was not well estimated, the remaining parameters could be characterized, providing good natural frequencies estimates. It is important to note that the method relies upon the format specified for the dynamic stiffness of the bearings, given by Eq. 43. A linear model with respect to \(\varOmega \) was used but different formats should be employed, as a higher order polynomial, which could lead to better estimates.

5 Conclusions

In this paper an estimation algorithm was presented for the bearing and unbalance parameters of rotor systems. The method, which relies on the use of an adaptive filter algorithm, was employed considering the use of a Finite Element model of the rotor and unbalance response measurement at the bearings. Simulations were conducted including both fixed and speed-dependent bearing properties. In the former case, the method provided good estimates, except for the bearing damping, while for the latter the technique was able to perfectly identify all properties. As the studies conducted so far included simulations only, the authors would like to emphasize the need of experimental testing in future studies. Also, the use of different equation format for the bearings dynamic stiffness should be evaluated.