Keywords

1 Introduction

Structural health monitoring (SHM) has been extensively used to evaluate the performance and health condition of civil infrastructure [1]. One approach in SHM focuses on the system identification from measured responses. The methods employed in system identification can be classified under frequency-domain or time-domain. Frequency-domain methods usually obtain the modal parameters of frequency, damping ratio and mode shape through the Fourier transform (FT) of the responses. The identified modal parameters can be further used to update the finite element model [2] and diagnose for structural damage [3]. To avoid the energy leakage in FT, time-domain methods are developed as alternatives. Time-domain methods not only can estimate the modal parameters from the time-history data, they can also reflect the time-variation of the physical parameters. Among the algorithms developed within time-domain methods, the Kalman filter (KF) [4] is one of the most effective estimators for linear dynamic systems, which has been employed for parameter estimation, model updating and damage identification. KF techniques have been extended for systems that are nonlinear and/or non-Gaussian. For example, the extended KF and unscented KF have been proposed for nonlinear systems, and the Particle filter is applicable for non-Gaussian cases. Although these techniques under the family of KF have enriched the adoption of system identification in engineering, the performance of state estimation may still be difficult and inaccurate for complex systems, such as the coupled translational and torsional responses in asymmetric structures, some of which can be difficult to uncouple. It is envisaged that for such systems, a single KF model may not be sufficient. Hence, the use of multiple models is explored.

The multiple model estimation (MME) technique employs multiple KFs, each of which represents peculiar patterns of dynamics, to better characterize the system. This concept was originally proposed by Blom and Shalom [5] for linear system with Markovian coefficients. Subsequently, the challenge of designing the appropriate set of models and how these sets can be integrated have been pursued by many researchers with the aim of improving the performance and robustness of the MME approach. To investigate the influence of the number and type of models in the set on the estimation results, the model classes based on extended KF, unscented KF, and Particle filter have been pursued and compared [6]. The results indicate that there is an appropriate number of models for optimal performance. To combine the multiple outputs from the models, Li et al. [7] put forward an exponential decay term to determine the weights of the filters. Kottath et al. [8] assumed that all the models had equal weights initially and updated the model weights based on the measured data, in which those with low weight factors were eliminated.

The afore-mentioned studies focused on the fields of maneuvering target, control system in fault tolerance, and radar system, and there seems to be no publicly published works in the field of structural engineering. In this work, the MME method is developed for coupled structures. The algorithm is extended to jointly estimate the model parameters and state vector from the measured response. A numerical model with torsional and translational coupled responses is employed to illustrate the estimation process.

2 Framework of Multiple Model Estimation (MME)

In Sect. 2.1, the Kalman filter (KF) for optimal state estimation of a linear input–output Gaussian system in time-domain is briefly introduced. Due to the presence of uncertainties, the estimation is characterized probabilistically, which for Gaussian processes, the mean and covariance of the estimates are obtained. Section 2.2 introduces the concept of decomposing a system into multiple KF models and how they can be combined using weights which changes with each time step. The weights at each time step are derived based on the likelihood of the measured data and the prior probabilities associated with the models. In Sect. 2.3, the MME technique is extended to jointly estimate the state vector and model parameters. The detailed procedure of MME for parameter estimation is then described.

2.1 Brief Review of Kalman Filter

A linear dynamic system can be expressed as a second-order governing differential equation, that is,

$$\boldsymbol{M\ddot{x}}_{k} + \boldsymbol{C\dot{x}}_{k} + {\boldsymbol{Kx}}_{k} = {\boldsymbol{f}}_{k} .$$
(1)

in which \({\boldsymbol{M}}\), \({\boldsymbol{C}}\) and \({\boldsymbol{K}}\) are matrices of mass, damping and stiffness, respectively; \({\boldsymbol{x}}_{k}\), \(\dot{\boldsymbol{x}}_{k}\) and \(\boldsymbol{\ddot{x}}_{k}\) are vectors of nodal displacement, velocity and acceleration responses at time step \(k\); and \({\boldsymbol{f}}_{k}\) is the external dynamic force vector.

Let the state vector \({\boldsymbol{x}}_{k} = \left( {{\boldsymbol{x}}_{k} ,\dot{\boldsymbol{x}}_{k} } \right)^{{\text{T}}}\). Equation (1) can be rewritten in the state space form as

$$\dot{\boldsymbol{x}}_{k + 1} = {\mathbf{A}}{\boldsymbol{x}}_{k} + {\mathbf{B}}{\boldsymbol{f}}_{k} .$$
(2)

in which the transition matrix \({\boldsymbol{A}}\) is given by

$${\mathbf{A}} = \left[ {\begin{array}{*{20}l} 0 \hfill & 1 \hfill \\ { - {\boldsymbol{M}}^{ - 1} K} \hfill & {{\boldsymbol{M}}^{ - 1} C} \hfill \\ \end{array} } \right].$$
(3)

where \({\mathbf{I}}\) is the identity matrix, and the external force matrix \({\boldsymbol{B}}\) is given by

$${\mathbf{B}} = \left[ {\begin{array}{*{20}c} { 0 } \\ {{\boldsymbol{M}}^{ - 1} } \\ \end{array} } \right].$$
(4)

The measurement equation of the response (output), denoted by \({\boldsymbol{y}}_{k} = \left[ {{\boldsymbol{x}}_{k} ,\dot{\boldsymbol{x}}_{k} ,\boldsymbol{\ddot{x}}_{k} } \right]^{T}\), is formulated as

$${\boldsymbol{y}}_{k} = {\boldsymbol{Hx}}_{k} .$$
(5)

in which the measurement matrix \({\boldsymbol{H}}\) is given by

$${\boldsymbol{H}} = \left[ {\begin{array}{*{20}l} I \hfill & 0 \hfill \\ 0 \hfill & I \hfill \\ { - {\boldsymbol{M}}^{ - 1} K} \hfill & {{\boldsymbol{M}}^{ - 1} C} \hfill \\ \end{array} } \right].$$
(6)

For linear systems with process and measurement noise, each following the Gaussian distribution with zero mean and respective covariance denoted by \({\boldsymbol{Q}}\) and \({\boldsymbol{R}}\), the equations to predict and update the mean state vector and covariance are as follows:

$$\tilde{\boldsymbol{x}}_{k + 1\left| k \right.} = \boldsymbol{A\hat{x}}_{k\left| k \right.} + {\boldsymbol{Bu}}_{k} .$$
(7)
$$\tilde{\boldsymbol{P}}_{k + 1\left| k \right.} = \boldsymbol{A\hat{P}}_{k\left| k \right.} {\boldsymbol{A}}^{{\boldsymbol{T}}} + {\boldsymbol{Q}}.$$
(8)
$${\boldsymbol{K}}_{k + 1} = \tilde{\boldsymbol{P}}_{k + 1\left| k \right.} {\boldsymbol{H}}^{{\boldsymbol{T}}} \left( {\boldsymbol{H\tilde{P}}_{k + 1\left| k \right.} {\boldsymbol{H}}^{{\boldsymbol{T}}} + {\boldsymbol{R}}} \right)^{ - 1} .$$
(9)
$$\hat{\boldsymbol{x}}_{k + 1\left| k \right. + 1} = \tilde{\boldsymbol{x}}_{k + 1\left| k \right.} + {\boldsymbol{K}}_{k + 1} \left( {{\boldsymbol{y}}_{k + 1} - \boldsymbol{H\tilde{x}}_{k + 1\left| k \right.} } \right).$$
(10)
$$\hat{\boldsymbol{P}}_{k + 1\left| k \right. + 1} = \left( {{\boldsymbol{I}} - {\boldsymbol{K}}_{k + 1} {\boldsymbol{H}}} \right)\tilde{\boldsymbol{P}}_{k + 1|k} .$$
(11)

where \(\hat{\boldsymbol{x}}_{k\left| k \right.}\) and \(\hat{\boldsymbol{x}}_{k + 1\left| k \right. + 1}\) are the posterior state vector at time step \(k\) and \(k + 1\) respectively; \(\hat{\boldsymbol{P}}_{k\left| k \right.}\) and \(\hat{\boldsymbol{P}}_{k + 1\left| k \right. + 1}\) are the posterior estimate covariance at time step \(k\) and \(k + 1\) respectively; \(\tilde{\boldsymbol{x}}_{k + 1\left| k \right.}\) and \(\tilde{\boldsymbol{P}}_{k + 1\left| k \right.}\) are the prior state vector and prior estimate covariance respectively at time step \(\left( {k + 1} \right)\); \({\boldsymbol{K}}_{k + 1}\) and \({\boldsymbol{y}}_{k + 1}\) are the Kalman gain and measurement response respectively at time step \(\left( {k + 1} \right)\); \({\boldsymbol{u}}_{k}\) is the external excitation at time step \(k\).

The KF uses an innovation term (term in brackets in Eq. (10)) to incorporate the measured data and provide optimal estimates (given by Eqs. (10) and (11)) of the system states using the Kalman gain \({\boldsymbol{K}}_{k + 1}\) in Eq. (9). In MME, the sub-models are linear systems and these equations are used as part of the solution procedure.

2.2 Multiple Model Estimation

Conceptually, KF, being a recursive estimator under both linear and Gaussian conditions, admits the use of the principle of linear superposition. Hence, a complex linear and Gaussian system may be decomposed into a set of simpler KF models, each of which can be first solved as described in Sect. 2.1. The output from each individual model can then be integrated to provide the overall system output. The quality of the output hinges strongly on the combination rule which is dependent on how the system is decomposed.

The simplest method of weighted average is adopted for each time step, with the weights (where their sum is 1) updated at each time step. The updating is done using the likelihood function of the innovations (which are the deviations of the prediction from the measured responses) at the current time step (k + 1) through the equation

$$\mu_{k + 1}^{j} = \frac{{\left( {\mu_{k}^{j} {\mathcal{L}}_{k + 1}^{j} } \right)}}{{\mathop \sum \nolimits_{j = 1}^{m} \left( {\mu_{k}^{j} {\mathcal{L}}_{k + 1}^{j} } \right)}}.$$
(12)

where \(\mu_{k}^{j} \;{\text{and}}\; \mu_{k + 1}^{j}\) denote the weights for model j at time steps k and k + 1, m is the number of models and the likelihood function is given by

$${\mathcal{L}}_{k + 1}^{j} = \frac{1}{{\sqrt {2\pi \cdot {\text{det}}\left( {\boldsymbol{S}} \right)} }}{\text{exp}}\left[ { - \frac{1}{2}{\boldsymbol{r}}^{{\text{T}}} {\boldsymbol{S}}^{ - 1} {\boldsymbol{r}}} \right].$$
(13)

in which \({\boldsymbol{S}} = \boldsymbol{H\tilde{P}}_{k + 1\left| k \right.} {\boldsymbol{H}}^{{\boldsymbol{T}}} + {\boldsymbol{R}}\) is the covariance matrix of the innovations and \({\boldsymbol{r}} = {\boldsymbol{y}}_{k + 1} - \boldsymbol{H\tilde{x}}_{k + 1\left| k \right.}\) is the innovation or residual vector associated with model j. An initial (time step k = 0) set of weights is assumed to be known, denoted by \({\boldsymbol{\mu}}_{0} = \left[ {\mu_{0}^{a} ,\mu_{0}^{{\text{b}}} , \cdots ,\mu_{0}^{j} , \cdots ,\mu_{0}^{m} } \right]\), with the weight vector at time step k + 1 denoted by \({\boldsymbol{\mu}}_{k + 1} = \left[ {\mu_{k + 1}^{a} ,\mu_{k + 1}^{{\text{b}}} ,{ } \cdots \mu_{k + 1}^{j} , \cdots ,\mu_{k + 1}^{m} } \right].\)

The system response statistics \(\hat{\boldsymbol{x}}_{{k + 1\left| {k + 1} \right.}}^{S}\) and \(\hat{\boldsymbol{P}}_{{k + 1\left| {k + 1} \right.}}^{S}\) at time step \(\left( {k + 1} \right)\) are obtained by integrating the response statistics \(\hat{\boldsymbol{x}}_{k + 1\left| k \right. + 1}^{j}\) and \(\hat{\boldsymbol{P}}_{{k + 1\left| {k + 1} \right.}}^{j}\) at time step \(\left( {k + 1} \right)\) using the weight \(\mu_{k + 1}^{j}\) of each model j to yield

$$\hat{\boldsymbol{x}}_{{k + 1\left| {k + 1} \right.}}^{S} = \sum\nolimits_{j = 1}^{m} {\mu_{k + 1}^{j} \hat{\boldsymbol{x}}_{{k + 1\left| {k + 1} \right.}}^{j} .}$$
(14)
$$\hat{\boldsymbol{P}}_{{k + 1\left| {k + 1} \right.}}^{S} = \sum\nolimits_{j = 1}^{m} {\mu_{k + 1}^{j} \left[ {\hat{\boldsymbol{P}}_{{k + 1\left| {k + 1} \right.}}^{j} + \left( {\hat{\boldsymbol{x}}_{k + 1\left| k \right. + 1}^{j} - \hat{\boldsymbol{x}}_{{k + 1\left| {k + 1} \right.}}^{S} } \right)\left( {\hat{\boldsymbol{x}}_{{k + 1\left| {k + 1} \right.}}^{j} - \hat{\boldsymbol{x}}_{{k + 1\left| {k + 1} \right.}}^{S} } \right)^{{\text{T}}} } \right].}$$
(15)

2.3 Parameter Estimation Using Multiple Model Estimation

Besides predicting response (state vector), one may be interested in estimating some unknown parameters of the system concurrently. The formulation remains valid for this purpose by regarding the unknown system parameters as additional states that are augmented to the state vector, that is, \({\boldsymbol{X}}_{k} = \left[ {{\boldsymbol{x}}_{k} ,{\boldsymbol{\theta}}_{k} } \right]\). If the model parameters are time-invariant, the corresponding first differential state is \(\dot{\boldsymbol{X}}_{k} = \left[ {\dot{\boldsymbol{X}}_{k} ,0} \right]\). The augmented state vector expands the state-space model to

$$\dot{\boldsymbol{X}}_{k + 1} = {\boldsymbol{A}}^{{{\text{aug}}}} {\boldsymbol{X}}_{k} + {\boldsymbol{B}}^{{{\text{aug}}}} {\boldsymbol{f}}_{k} .$$
(16)
$${\boldsymbol{Y}}_{k} = {\boldsymbol{H}}^{{{\text{aug}}}} {\boldsymbol{X}}_{k} .$$
(17)

in which the new transition matrix \({\boldsymbol{A}}^{{{\text{aug}}}}\), external force matrix \({\boldsymbol{B}}^{{{\text{aug}}}}\) and output matrix \({\boldsymbol{H}}^{{{\text{aug}}}}\) are augmented as

$${\boldsymbol{A}}^{{{\text{aug}}}} = \left[ {\begin{array}{*{20}l} 0 \hfill & I \hfill & 0 \hfill \\ { - \left( {\boldsymbol{M}} \right)^{ - 1} K} \hfill & {\left( {\boldsymbol{M}} \right)^{ - 1} C} \hfill & 0 \hfill \\ \end{array} } \right].$$
(18)
$${\boldsymbol{B}}^{{{\text{aug}}}} = \left[ {\begin{array}{*{20}c} { 0 } \\ {\left( {\boldsymbol{M}} \right)^{ - 1} } \\ 0 \\ \end{array} } \right].$$
(19)
$${\boldsymbol{H}}^{{{\text{aug}}}} = \left[ { - \left( {\boldsymbol{M}} \right)^{ - 1} \boldsymbol{K }\left( {\boldsymbol{M}} \right)^{ - 1} \boldsymbol{C }\;\boldsymbol{ }0} \right].$$
(20)

Adding the unknown parameters to the state-space representation enlarges the state vector without changing the system property, which means the algorithm of KF is still valid for the augmented state vector estimation, including for MME systems. The solution process of MME is summarized as follows:

  1. 1.

    Build a set of sub-models with weights \(\mu^{j} , { }j = a,{\text{b}}, \cdots ,m,\) to represent the system of interest

    $$\begin{gathered} \;\;\; \hfill \\ \begin{array}{*{20}l} {\dot{\boldsymbol{X}}_{k + 1}^{j} = {\boldsymbol{A}}^{{{\text{aug}},j}} {\boldsymbol{X}}_{k}^{j} + {\boldsymbol{B}}^{{{\text{aug}},j}} {\boldsymbol{f}}_{k} + {\boldsymbol{v}}_{k}^{j} ,} \hfill & {{\boldsymbol{v}}_{k}^{j} \sim {\mathcal{N}}\left( {0, {\boldsymbol{Q}}^{j} } \right),} \hfill \\ {{\boldsymbol{Y}}_{k}^{j} = {\boldsymbol{H}}^{{{\text{aug}},{ }j}} {\boldsymbol{X}}_{k}^{j} + {\boldsymbol{w}}_{k}^{j} ,} \hfill & {{\boldsymbol{w}}_{k}^{j} \sim {\mathcal{N}}\left( {0, {\boldsymbol{R}}^{j} } \right).} \hfill \\ \end{array} \hfill \\ \end{gathered}$$
  2. 2.

    Initial values are given by.

    1. a.

      each filter weight \(\mu_{0}^{j} = 1/m\),

    2. b.

      MME state estimate \(\hat{\boldsymbol{X}}_{0}^{S}\),

    3. c.

      MME state covariance \(\hat{\boldsymbol{P}}_{0}^{S}\),

    4. d.

      each filter process noise \({\boldsymbol{Q}}^{j}\),

    5. e.

      each filter measurement noise \({\boldsymbol{R}}^{j}\).

  3. 3.

    For each model:

    1. a.

      Propagate the next state (prediction)

      $$\begin{gathered} \tilde{\boldsymbol{X}}_{k + 1\left| k \right.}^{j} = {\boldsymbol{A}}^{{{\text{aug}},j}} \hat{\boldsymbol{X}}_{k\left| k \right.}^{S} + {\boldsymbol{B}}^{{{\text{aug}},j}} u_{k} , \hfill \\ \tilde{\boldsymbol{P}}_{k + 1\left| k \right.}^{j} = {\boldsymbol{A}}^{{{\text{aug}},j}} \hat{\boldsymbol{P}}_{k\left| k \right.}^{S} \left( {{\boldsymbol{A}}^{{{\text{aug}},j}} } \right)^{{\text{T}}} + {\boldsymbol{Q}}^{j} . \hfill \\ \end{gathered}$$
    2. b.

      Calculate the Kalman gain

      $${\boldsymbol{K}}_{k + 1}^{j} = \tilde{\boldsymbol{P}}_{{{\text{k}} + 1\left| {\text{k}} \right.}}^{j} \left( {{\boldsymbol{H}}^{{{\text{aug}},{ }j}} } \right)^{{\text{T}}} \left( {{\boldsymbol{H}}^{{{\text{aug}},{ }j}} \tilde{\boldsymbol{P}}_{{{\text{k}} + 1\left| {\text{k}} \right.}}^{j} \left( {{\boldsymbol{H}}^{{{\text{aug}},{ }j}} } \right)^{{\text{T}}} + {\boldsymbol{R}}^{j} } \right)^{ - 1} ,$$
    3. c.

      Update the prediction

      $$\begin{gathered} \hat{\boldsymbol{X}}_{{k + 1\left| {k + 1} \right.}}^{j} = \tilde{\boldsymbol{X}}_{k + 1\left| k \right.}^{j} + {\boldsymbol{K}}_{k + 1}^{j} \left( {{\boldsymbol{y}}_{k + 1} - {\boldsymbol{H}}^{{{\text{aug}}, j}} \tilde{\boldsymbol{X}}_{k + 1\left| k \right.}^{j} } \right), \hfill \\ \hat{\boldsymbol{P}}_{{k + 1\left| {k + 1} \right.}}^{j} = \left( {{\boldsymbol{I}} - {\boldsymbol{K}}_{k + 1}^{j} {\boldsymbol{H}}^{{{\text{aug}}, j}} } \right)\tilde{\boldsymbol{P}}_{k + 1\left| k \right.}^{j} . \hfill \\ \end{gathered}$$
    4. d.

      Calculate the likelihood

      $${\mathcal{L}}_{k + 1}^{j} = \frac{1}{{\sqrt {2\pi \cdot {\text{det}}\left( {\boldsymbol{S}} \right)} }}{\text{exp}}\left[ { - \frac{1}{2}\left( {{\boldsymbol{r}}^{j} } \right)^{{\text{T}}} \left( {{\boldsymbol{S}}^{j} } \right)^{ - 1} \left( {{\boldsymbol{r}}^{j} } \right)} \right].$$
    5. e.

      Update the weights

      $$\mu_{k + 1}^{j} = \mu_{k}^{j} {\mathcal{L}}_{k + 1}^{j} .$$

      Repeat steps \(\left( {{\text{a}} - {\text{e}}} \right)\) for all the KF models.

  4. 4.

    Normalize the weights

    $$\hat{\mu }_{k + 1}^{j} = \frac{{\mu_{k + 1}^{j} }}{{\mathop \sum \nolimits_{j = 1}^{m} \left( {\mu_{k + 1}^{j} } \right)}}.$$
  5. 5.

    Obtain the estimate results

    $$\begin{gathered} \hat{\boldsymbol{X}}_{{k + 1\left| {k + 1} \right.}}^{S} = \sum\nolimits_{j = 1}^{m} {\hat{\mu }_{k + 1}^{j} \hat{\boldsymbol{X}}_{{k + 1\left| {k + 1} \right.}}^{j} ,} \hfill \\ \hat{\boldsymbol{P}}_{{k + 1\left| {k + 1} \right.}}^{S} = \sum\nolimits_{j = 1}^{m} {\hat{\mu }_{k + 1}^{j} \left[ {\hat{\boldsymbol{P}}_{{k + 1\left| {k + 1} \right.}}^{j} + \left( {\hat{\boldsymbol{X}}_{k + 1\left| k \right. + 1}^{j} - \hat{\boldsymbol{X}}_{{k + 1\left| {k + 1} \right.}}^{S} } \right)\left( {\hat{\boldsymbol{X}}_{{k + 1\left| {k + 1} \right.}}^{j} - \hat{\boldsymbol{X}}_{{k + 1\left| {k + 1} \right.}}^{S} } \right)^{T} } \right].} \hfill \\ \end{gathered}$$
  6. 6.

    Repeat steps (3–5) until all the measurements are depleted.

3 Numerical Example

3.1 Case Study

To demonstrate the effectiveness of MME algorithm, a two-floor building under bidirectional earthquake excitation is presented in Fig. 1a. The concentrated mass of floor 1 and 2 are \(600 \times 1{\text{e}}3{\text{ kg}}\) and \(500 \times 1{\text{e}}3{\text{ kg}}\), respectively. The polar moments of inertia are \({\boldsymbol{J}}_{t} = \left[ {J_{1} ,{ }J_{2} } \right] = \left[ {7.2,{ }5.6} \right] \times 1{\text{e}}7{ }\left( {{\text{kg}} \cdot m^{2} } \right)\). The lateral stiffness of floors 1 and 2 in \(x\) and \(y\) directions, respectively, are \(k_{x} = \left[ {k_{x1} ,{ }k_{x2} } \right] = \left[ {0.55,{ }0.43} \right] \times 1{\text{e}}9{ }\left( {{\text{kN}}/{\text{m}}} \right)\), and \(k_{y} = \left[ {k_{y1} ,{ }k_{y2} } \right] = \left[ {0.48,{ }0.39} \right] \times 1{\text{e}}9{ }\left( {{\text{kN}}/{\text{m}}} \right)\). It is assumed that Rayleigh damping is appropriate and that the centres of mass are located at the geometric centres of floors 1 and 2, while the resultant centre of stiffness of the structure in plan is offset at 0.1 m from the geometric centre in both the x and y directions (see Fig. 1b). Because the centres of mass and stiffness do not coincide, the equation of motions will lead to coupling in the horizontal and torsional responses. The stiffness and mass matrices for a 3-DOFs system (x, y for translational and t for rotational DOFs) are modelled as

$${\boldsymbol{K}}_{w} = \left[ {\begin{array}{*{20}l} {{\boldsymbol{K}}_{xx} } \hfill & 0 \hfill & {{\boldsymbol{K}}_{xt} } \hfill \\ 0 \hfill & {{\boldsymbol{K}}_{yy} } \hfill & {{\boldsymbol{K}}_{yt} } \hfill \\ {{\boldsymbol{K}}_{tx} } \hfill & {{\boldsymbol{K}}_{ty} } \hfill & {{\boldsymbol{K}}_{tt} } \hfill \\ \end{array} } \right], {\boldsymbol{M}}_{w} = \left[ {\begin{array}{*{20}l} {{\boldsymbol{M}}_{xx} } \hfill & 0 \hfill & 0 \hfill \\ 0 \hfill & {{\boldsymbol{M}}_{yy} } \hfill & 0 \hfill \\ 0 \hfill & 0 \hfill & {{\boldsymbol{J}}_{tt} } \hfill \\ \end{array} } \right].$$
(21)
Fig. 1
A 3 dimensional model of a building with earthquake resistance. a: depicts the centre of mass and stiffness of floors 1 and 2 along the x, y, and z, axis. b: describes the dimensions of the floor in m meters with acceleration point, mass centre and stiffness centre.

Geometric information of the model, a diagram of 3D model, b plane of floors 1 and 2 (unit: m)

in which \({\boldsymbol{K}}_{xx}\) and \({\boldsymbol{K}}_{yy}\) are translational stiffness in \(x\) and \(y\) directions; \({\boldsymbol{K}}_{tt}\) is the torsional stiffness about an axis perpendicular to the x–y plane; \({\boldsymbol{K}}_{xt}\) and \({\boldsymbol{K}}_{yt}\) are cross translational-torsional terms; \({\boldsymbol{M}}_{xx}\) and \({\boldsymbol{M}}_{yy}\) are translational mass in the \(x\) and \(y\) directions, respectively; \({\boldsymbol{J}}_{tt}\) is polar moment of inertia. The damping matrix is formed using \({\boldsymbol{C}}_{w} = \alpha {\boldsymbol{M}}_{w} + \beta {\boldsymbol{K}}_{w}\), whose coefficients \(\alpha\) and \(\beta\) are determined by

$$\alpha = \frac{{2\omega_{1} \omega_{2} }}{{\omega_{1} + \omega_{2} }}\xi ,{ }\beta = \frac{2\xi }{{\omega_{1} + \omega_{2} }},$$
(22)

here \(\omega_{1}\) and \(\omega_{2}\) are the first two natural frequencies; \(\xi\) is the damping ratio set at 3%.

Two horizontal ground acceleration records from the 1940 El Centro earthquake are selected as inputs for the base excitation, whose peak ground accelerations in \(x\) and \(y\) directions are scaled to 0.2 and 0.15 \({\text{m}}/{\text{s}}^{2}\). The time histories of structural response are calculated by the Runge–Kutta method. The accelerations in the \(x\) and \(y\) directions of each floor are measured at points \(A_{x}\) and \(A_{y}\) (see Fig. 1b), respectively. To simulate measurement noise, an artificial noise of level \(N_{L} =\) 30% is superimposed on the exact response as

$$a_{N} = a_{E} + N_{L} \cdot N_{S} \cdot \sigma_{E} .{ }$$
(23)

where \(a_{{\text{N}}}\) and \(a_{{\text{E}}}\) are the noisy and exact accelerations; \(\sigma_{E}\) is the standard deviation of the exact response; \(N_{L}\) denotes the noise level and \(N_{S}\) denotes the standard normal noise generated using the randn function in MATLAB. Figure 2 displays the noisy responses of floor 2 in both the \(x\) and \(y\) directions.

Fig. 2
2 line graphs with a series of peaks of acceleration versus time. The responses are recorded by superimposing exact noise and artificial noise. The upper graph describes the response in the x-direction while the lower depicts the noise response in the y-direction. Acceleration is recorded in meters per second square.

Noisy acceleration responses of floor 2 in \(x\) and \(y\) directions

3.2 Identification Results

The goal is to estimate unknown system parameters from the noisy acceleration responses. Two unknown parameters \({\boldsymbol{\theta}} = \left[ {k_{x2} ,k_{y1} } \right]^{T}\), namely the x-direction stiffness in floor 2 and the y-direction stiffness in floor 1, are to be identified, in which the superscript \(T\) denotes matrix transpose. Hence, the augmented state vector of this system is written as \({\boldsymbol{X}}^{S} = \left[ {{\boldsymbol{x}}^{{\text{x}}} ,{\boldsymbol{x}}^{{\text{y}}} ,{\boldsymbol{x}}^{{\text{t}}} ,\dot{\boldsymbol{x}}^{{\text{x}}} ,\dot{\boldsymbol{x}}^{{\text{y}}} ,\dot{\boldsymbol{x}}^{{\text{t}}} ,k_{x2} ,k_{y1} } \right]^{T}\), in which \({\boldsymbol{x}}^{{\text{x}}}\) and \({\boldsymbol{x}}^{{\text{y}}}\) are horizontal displacements in the \(x\) and \(y\) directions, and \({\boldsymbol{x}}^{{\text{t}}}\) is the torsional displacement along the \(z\) direction; \(\dot{\boldsymbol{x}}^{{\text{x}}}\) and \(\dot{\boldsymbol{x}}^{{\text{y}}}\) are horizontal velocities in the \(x\) and \(y\) directions, and \(\dot{\boldsymbol{x}}^{{\text{t}}}\) is the torsional velocity along the \(z\) direction. This system is decomposed into two linear sub-models. The first model (model a) includes all the structural responses related to the \(x\) direction, whose state vector is expressed as \({\boldsymbol{X}}^{a} = \left[ {{\boldsymbol{x}}^{{\text{x}}} ,{\boldsymbol{x}}^{{\text{t}}} ,\dot{\boldsymbol{x}}^{{\text{x}}} ,\dot{\boldsymbol{x}}^{{\text{t}}} ,k_{x2} ,k_{y1} } \right]^{T} = {\boldsymbol{E}}^{a} {\boldsymbol{X}}^{S}\), where the state vector position matrix

\({\boldsymbol{E}}^{a} = \left[ {1, 0, 1,1,0,1,1,1} \right]\). Since the augmented state vector \({\boldsymbol{X}}^{a}\) contains unknown parameters, the state space equation is formulated as

$$\dot{\boldsymbol{X}}_{k}^{a} = {\boldsymbol{A}}^{a} {\boldsymbol{X}}_{k}^{a} + {\boldsymbol{B}}^{a} {\boldsymbol{f}}_{k} + {\boldsymbol{v}}_{k}^{a} .$$
(24)

in which \({\boldsymbol{v}}_{k}^{a}\) is the process noise (accounting for model error) that is assumed to have zero mean and covariance matrix \({\boldsymbol{Q}}_{k}^{a}\); and the transition matrix \({\boldsymbol{A}}^{a}\) in Eq. (24) is augmented by

$${\boldsymbol{A}}^{a} = \left[ {\begin{array}{*{20}l} 0 \hfill & I \hfill & 0 \hfill \\ { - \left( {{\boldsymbol{M}}_{{\boldsymbol{x}}} } \right)^{ - 1} {\boldsymbol{K}}_{{\boldsymbol{x}}} } \hfill & {\left( {{\boldsymbol{M}}_{{\boldsymbol{x}}} } \right)^{ - 1} {\boldsymbol{C}}_{{\boldsymbol{x}}} } \hfill & 0 \hfill \\ \end{array} } \right].$$
(25)

here the matrices of stiffness \({\boldsymbol{K}}_{x}\) and mass \({\boldsymbol{M}}_{x}\) are given by

$${\boldsymbol{K}}_{x} = \left[ {\begin{array}{*{20}l} {{\boldsymbol{K}}_{xx} } \hfill & {{\boldsymbol{K}}_{xt} } \hfill \\ {{\boldsymbol{K}}_{tx} } \hfill & {{\boldsymbol{K}}_{tt} } \hfill \\ \end{array} } \right].$$
(26)
$${\boldsymbol{M}}_{x} = \left[ {\begin{array}{*{20}l} {{\boldsymbol{M}}_{xx} } \hfill & 0 \hfill \\ 0 \hfill & {{\boldsymbol{J}}_{tt} } \hfill \\ \end{array} } \right].$$
(27)

The external force matrix \({\boldsymbol{B}}^{a}\) in Eq. (24) is extended to

$${\boldsymbol{B}}^{a} = \left[ {\begin{array}{*{20}c} { 0 } \\ {\left( {{\boldsymbol{M}}_{{\boldsymbol{x}}} } \right)^{ - 1} } \\ 0 \\ \end{array} } \right].$$
(28)

When only the horizontal acceleration data in the \(x\) and \(y\) directions, denoted by \(\boldsymbol{\ddot{x}}^{{\text{x}}}\) and \(\boldsymbol{\ddot{x}}^{{\text{y}}}\), is recorded \({\boldsymbol{Y}} = \left[ {\boldsymbol{\ddot{x}}^{{a{\text{x}}}} ,\boldsymbol{\ddot{x}}^{{a{\text{y}}}} } \right]^{T}\). The measurement equation is formulated as

$${\boldsymbol{Y}}_{k}^{a} = {\boldsymbol{H}}^{a} {\boldsymbol{X}}_{k}^{a} + {\boldsymbol{w}}_{k}^{a} .$$
(29)

in which \({\boldsymbol{Y}}_{k}^{a} = {\boldsymbol{F}}^{a} {\boldsymbol{Y}}\), here the measurement position matrix \({ }{\boldsymbol{F}}^{a} = \left[ {1,0} \right]\); \({\boldsymbol{w}}_{k}^{a}\) is the measurement noise, assumed to have zero mean and covariance matrix \({\boldsymbol{R}}_{k}^{a}\); \({\boldsymbol{H}}^{a}\) is given by

$${\boldsymbol{H}}^{a} = \left[ { - \left( {{\boldsymbol{M}}_{{\boldsymbol{x}}} } \right)^{ - 1} {\boldsymbol{K}}_{{\boldsymbol{x}}} \boldsymbol{ }\left( {{\boldsymbol{M}}_{{\boldsymbol{x}}} } \right)^{ - 1} {\boldsymbol{C}}_{{\boldsymbol{x}}} \boldsymbol{ }0} \right].$$
(30)

In the second model (model b), all the structural responses related to the \(y\) direction are considered, whose state vector is given by \({\boldsymbol{X}}^{{\text{b}}} = \left[ {{\boldsymbol{x}}^{{\text{y}}} ,{\boldsymbol{x}}^{{\text{t}}} ,\dot{\boldsymbol{x}}^{{\text{y}}} ,\dot{\boldsymbol{x}}^{{\text{t}}} ,k_{x2} ,k_{y1} } \right]^{T} = {\boldsymbol{E}}^{{\text{b}}} {\boldsymbol{X}}^{S}\), where the state vector position matrix \({\boldsymbol{E}}^{{\text{b}}} = \left[ {0, 1, 1,0,1,1,1,1} \right]\). Since the models a and b are linear systems, the form of state equation (Eq. 24) is the same, that is,

$$\dot{\boldsymbol{X}}_{k}^{b} = {\boldsymbol{A}}^{b} {\boldsymbol{X}}_{k}^{b} + {\boldsymbol{B}}^{b} {\boldsymbol{f}}_{k} + {\boldsymbol{v}}_{k}^{b} .$$
(31)

where the values of the process noise \({\boldsymbol{v}}_{k}^{{\text{b}}}\) can be different from the values of \({\boldsymbol{v}}_{k}^{a}\); and the augmented transition matrix \({\boldsymbol{A}}^{b}\) is given by

$${\boldsymbol{A}}^{b} = \left[ {\begin{array}{*{20}l} 0 \hfill & I \hfill & 0 \hfill \\ { - \left( {{\boldsymbol{M}}_{{\boldsymbol{y}}} } \right)^{ - 1} {\boldsymbol{K}}_{{\boldsymbol{y}}} } \hfill & {\left( {{\boldsymbol{M}}_{{\boldsymbol{y}}} } \right)^{ - 1} {\boldsymbol{C}}_{{\boldsymbol{y}}} } \hfill & 0 \hfill \\ \end{array} } \right].$$
(32)

where the matrices of stiffness \({\boldsymbol{K}}_{y}\) and mass \({\boldsymbol{M}}_{y}\) are given by

$${\boldsymbol{K}}_{y} = \left[ {\begin{array}{*{20}l} {{\boldsymbol{K}}_{yy} } \hfill & {{\boldsymbol{K}}_{yt} } \hfill \\ {{\boldsymbol{K}}_{ty} } \hfill & {{\boldsymbol{K}}_{tt} } \hfill \\ \end{array} } \right].$$
(33)
$${\boldsymbol{M}}_{y} = \left[ {\begin{array}{*{20}l} {{\boldsymbol{M}}_{yy} } \hfill & 0 \hfill \\ 0 \hfill & {{\boldsymbol{J}}_{tt} } \hfill \\ \end{array} } \right].$$
(34)

The corresponding measurement equation is expressed as

$${\boldsymbol{Y}}_{k}^{b} = {\boldsymbol{H}}^{b} {\boldsymbol{X}}_{k}^{b} + {\boldsymbol{w}}_{k}^{b} .$$
(35)

in which \({\boldsymbol{Y}}_{k}^{b} = {\boldsymbol{F}}^{b} {\boldsymbol{Y}}\), where the measurement position matrix \({ }{\boldsymbol{F}}^{b} = \left[ {0,1} \right]\); \({\boldsymbol{w}}_{k}^{{\text{b}}}\) is the measurement noise that can be different with \({\boldsymbol{w}}_{k}^{a}\); \({\boldsymbol{H}}^{b}\) is given by

$${\boldsymbol{H}}^{b} = \left[ { - \left( {{\boldsymbol{M}}_{{\boldsymbol{y}}} } \right)^{ - 1} {\boldsymbol{K}}_{{\boldsymbol{y}}} \boldsymbol{ }\left( {{\boldsymbol{M}}_{{\boldsymbol{y}}} } \right)^{ - 1} {\boldsymbol{C}}_{{\boldsymbol{y}}} \boldsymbol{ }0} \right].$$
(36)

The initial weights of each model are set as \(\hat{\boldsymbol{\mu }}_{0} = \left[ {0.5,{ }0.5} \right]^{T} .\) The initial state estimate \(\hat{\boldsymbol{X}}_{0}^{S} = \left[ {0,{ }\hat{\boldsymbol{\theta }}_{0} { }} \right]^{T}\), where \({ }\hat{\boldsymbol{\theta }}_{0} = \left( {1.2{*}k_{x2}^{{{\text{Exact}}}} ,0.85{*}k_{y1}^{{{\text{Exact}}}} } \right)\) is an initial guess of exact values of the parameters (alternatively, can use the nominal values of the parameters). The process noise of the two filters are \({\boldsymbol{Q}}^{a} = {\boldsymbol{Q}}^{{\text{b}}} =\) (1e−8) * \({\mathbf{I}}_{10 \times 10}\), in which \({\mathbf{I}}_{10 \times 10}\) is a \(10 \times 10\) identity diagonal matrix. The measurement noise of the two filters are \({\boldsymbol{R}}^{a} = {\boldsymbol{R}}^{b} =\) (1e−8) * \({\mathbf{I}}_{8 \times 8}\). According to the procedure of MME described in Sect. 2.3, the estimated accelerations are obtained presented in Fig. 3 (only the first 15 s shown). The estimated accelerations capture exact responses well. Figure 4 shows that the estimated time-history parameters converge to exact values within 3 s.

Fig. 3
2 graphs depict different intensities of peaks for exact and estimate plots. The upper graph represents comparison in the x-direction while the lower graph is in the y-direction. The acceleration of noise is recorded in meters per second square.

Comparison of accelerations between exact and estimated results

Fig. 4
2 graphs depict the comparative analysis of estimated parameters and exact values of stiffness over time. a describes K x matrice of stiffness, b describes K y matrice of stiffness. The stiffness is recorded in kiloNewton per meter. a has a couple of peaks at the starting and b too has the same but on the opposite side.

Comparison of estimated parameters with exact values, a time history of \(k_{x2}\), b time history of \(k_{y1}\)

3.3 Effect of Response Noise

To investigate the robustness of the MME algorithm, four cases with different noise levels are added to the exact acceleration responses, namely, cases A: \(N_{L}\) = 20%; B: \(N_{L}\) = 30%; C: \(N_{L}\) = 40%; and D: \(N_{L}\) = 50%. These noisy responses are used as the measured data from which the accuracy in determining the unknown system parameters are inferred. Since the system parameters are assumed to be time-invariant, the determination of the unknown parameters is affected by the process noise (see Eqs. 24 and 31), \({\boldsymbol{Q}}^{a}\)(and \({\boldsymbol{Q}}^{{\text{b}}}\)) = (1e−8) * \({\mathbf{I}}_{10 \times 10}\). The process covariance is kept as the same for all the four cases, while the measurement covariance may change due to the different levels of measurement noise. For cases A and B, the measurement covariance are assumed to be \({\boldsymbol{R}}^{a}\) (and \({\boldsymbol{R}}^{{\text{b}}}\)) = (1e−8) * \({\mathbf{I}}_{8 \times 8}\), and \({\boldsymbol{R}}^{a}\) (and \({\boldsymbol{R}}^{{\text{b}}}\)) = (1e−7) * \({\mathbf{I}}_{8 \times 8}\) for cases C and D. The estimated acceleration responses for the four cases are compared in Fig. 5. All the four cases can track the exact accelerations well.

Fig. 5
2 graphs depict different intensities of peaks for Exact and Cases A, B, C, and D. The upper graph represents comparison in the x-direction while the lower graph is in the y-direction. The acceleration of noise is recorded in meters per second square.

Comparison of time-history accelerations between exact and estimated results for four cases

To further quantify the estimated time-history responses, the relative root mean square error (RRMSE) is employed, defined as

$${\text{RRMSE}} = \frac{{\sqrt {\frac{1}{N}\mathop \sum \nolimits_{k = 1}^{N} \left( {{\boldsymbol{R}}_{k} - \hat{\boldsymbol{R}}_{k} } \right)^{2} } }}{{\sqrt {\frac{1}{N}\mathop \sum \nolimits_{k = 1}^{N} \left( {{\boldsymbol{R}}_{k} } \right)^{2} } }}*100\% .$$
(37)

in which \({\boldsymbol{R}}_{k}\) and \(\hat{\boldsymbol{R}}_{k}\) are the exact and estimated structural response, respectively; \(N\) is the total number of time steps used in the structural responses. Table 1 reports the RRMSE of the accelerations between the estimated and exact results. The RRMSE of all the four cases are less than 9%. As the noise level increases from cases A to D, the values of RRMSE increase as expected.

Table 1 RRMSE (%) of accelerations between exact and estimated results for four cases

Figure 6 presents the time-history of the parameters estimated by the four cases. All the estimated parameters fluctuate initially but gradually converge to the exact values within 3 s. The temporal average over the last five seconds are taken as the final estimated values, as reported in Table 2. The relative error between the estimated and exact parameters are within 1%. Although this study uses a simple case to illustrate the procedure of MME, the estimated results indicate that the proposed method seems robust and reliable, with potential for system identification under a wider variety of situations.

Fig. 6
2 graphs depict the comparative analysis of estimated parameters and exact values of stiffness over time. a describes K x matrice of stiffness, b describes K y matrice of stiffness. The stiffness is recorded in kiloNewton per meter. a and b have a couple of peaks at the starting.

Comparison of estimated parameters with exact values for four cases, a time history of \(k_{x2}\), b time history of \(k_{y1}\)

Table 2 Relative error (RE) of parameters between exact and estimated results for four cases

4 Concluding Remarks

This paper introduces the multiple model estimation (MME) method to jointly estimate the unknown parameters and the state vector for complex structures. This method constructs a bank of sub-models, each of which uses different state equations to represent the different characteristics of the dynamical system. The multiple outputs are fused to give an overall estimate through a linear combination of the responses obtained from the sub-models using time-variant weights. These weights are updated probabilistically in time using the likelihood value of the innovations (that is, deviation of prediction from measurement values). Numerical simulated structural responses from a three-dimensional translation and torsion coupled two-storey building are used to illustrate the performance of the proposed MME algorithm. The estimated response and system parameters agree well with the exact responses and values, indicating that the MME algorithm has potential for applications in complex structures. The effect of measurement noise (up to 50%) on the estimated results is also investigated. Nevertheless, more work is currently ongoing before confidence can be gained for application to real complex systems in practice.