## 3 Levenberg-Marquardt Algorithm  
In fitting, the nonlinear least-squares Levenberg-Marquardt algorithm (L-M) is used [30].  
This iterative algorithm is based on successive approximation of analyzed parameters (i.e., frequency, amplitude and phase):  
\[\beta_{j}^{k+1}=\beta_{j}^{k}+\Delta\beta_{j} \tag{11}\]  
where: \(\beta_{j}^{k}\) is a parameter value of the blade mode (frequencies (\(j=1\)) or amplitudes (\(j=2\)) or phases (\(j=3\))), the superscript \(k\) is the iteration step, and the difference \(\Delta\beta_{j}\) is called the shift value. At each iteration, the model is linearized using the Taylor series:  
\[F(x_{i},\mathbf{\beta})=F^{k}(x_{i},\mathbf{\beta})+\sum_{j}\frac{\partial F(x_{i},\bm {\beta})}{\partial\beta_{j}}\left(\beta_{j}-\beta_{j}^{k}\right)=F^{k}(x_{i}, \mathbf{\beta})+\sum_{j}J_{ij}\Delta\beta_{j} \tag{12}\]  
where: \(\mathbf{\beta}\) is a vector of the parameters (frequency, amplitude and phase).  
Jacobian J is a function of the constant (in this case, it is \(\bar{0}\) from Equations (1)-(4)), the independent variable (time) (\(x_{i}\)), and the parameters, and therefore changes from iteration to iteration.  
The fitting error for each measurement is:  
\[r_{i}=y_{i}-F^{j}(x_{i},\mathbf{\beta})-\sum_{j=1}^{m}J_{ij}\Delta\beta_{j}=\Delta y _{i}-\sum_{j=1}^{m}J_{ij}\Delta\beta_{j} \tag{13}\]  
where: \(y_{i}\) is the measured value (blade displacement), \(i=1,\,\ldots,\,n,\,n\) is the number of measurement points, \(F\) is a function of the model (in this case, right side of Equation (1) or (2) or (3) or (4)), \(m\) is connected with the number of blade mode components \(m=3\) for one harmonic, \(6\) for two harmonics, etc., \(\mathbf{\beta}\) is a vector of the parameters (frequency, amplitude and phase).  
The sum of squared fitting errors is minimized  
\[S=\sum_{i}^{n}r_{i}^{2} \tag{14}\]  
The minimum value of \(S\) occurs when the gradient is zero.  
\[\frac{\partial S}{\partial\beta_{j}}=2\sum_{i}^{n}r_{i}\frac{\partial r_{i}}{ \partial\beta_{j}}=0\;(j=1,\,\ldots,\,m) \tag{15}\]  
Number of parameters \(m\), means that there are \(m\) gradient equations,  
\(\beta_{j}\) is approximated in each step using (11).  
Next, Jacobian J is linearized:  
\[J_{ij}=-\frac{\partial r_{i}}{\partial\beta_{j}} \tag{16}\]  
Substituting (13) and (16) into (15):  
\[-2\sum_{i=1}^{n}J_{ij}\left(\Delta y_{i}-\sum_{k=1}^{m}J_{ik}\Delta\beta_{k} \right)=0 \tag{17}\]  
where: \(n\) is the number of measurement points.  
Equation (17) can be written as the \(m\) of linear equations:  
\[\sum_{i=1}^{n}\sum_{k=1}^{m}J_{ij}J_{ik}\Delta\beta_{k}=\sum_{i=1}^{n}J_{ij} \Delta y_{i}\;(j=1,\,\ldots,\,m) \tag{18}\]  
Equation (18) is analogous to the linear least squares fitting algorithm and can be easily solved.  
The nonlinear least-squares Levenberg-Marquardt algorithm requires a gradient of Equation (1) or (2) or (3) or (4) (Jacobian J in the linearized model). For Equation (1), it can be calculated by obtaining derivatives concerning each parameter:  
\[\begin{array}{c}\frac{\partial}{\partial A}(A\sin(2\pi ft+\varphi))=\sin(2\pi ft +\varphi)\\ \frac{\partial}{\partial f}(A\sin(2\pi ft+\varphi))=2\pi At\cos(2\pi ft+ \varphi)\\ \frac{\partial}{\partial\varphi}(A\sin(2\pi ft+\varphi))=A\cos(2\pi ft+ \varphi)\end{array} \tag{19}\]  
The partial derivatives of Equations (2)-(4) are similar to those of Equation (1).