1 Introduction

Linear systems, which have been widely studied by researchers in different fields, have provided a basis for the development of the majority of control system synthesis, mechanical system analysis, and design. However, it is well known that some dynamic behaviors which cannot be explained by linear system theory would happen to nonlinear systems [1], i.e., frequency distortion, generation of sub- and superharmonic components, occurrence of sub-resonance, limit cycle oscillation, bifurcation, chaos, and so on. To understand those dynamic behaviors of nonlinear systems, various theories and methods have been developed, such as chaos [24], nonlinear time series analysis methods [59], multiple scales method [10], KBM method [11], homotopy analysis method [12, 13], and harmonic balance method [14]. Unfortunately, there exists no canonical representation that encompasses all conceivable systems. Volterra series [15] is a powerful mathematical tool for nonlinear system analysis. It is one of the earliest approaches to achieve a systematic characterization of nonlinear system. Essentially, it is an extension of the standard convolution description of linear system to nonlinear system. The Volterra series is particularly appropriate for any system with smooth nonlinearity [16], which can be described by a polynomial form differential equation model. The Weierstrass approximation theorem [17] guarantees that any continuous function on a closed and a bounded interval can be uniformly approximated on that interval by a polynomial to any degree of accuracy. Therefore, a wide class of nonlinear systems can be well represented by the Volterra series. It has been seen that Volterra series has a wide range of the applications including aeroelastic system [18], biomedical engineering [19], fluid dynamics [20], electrical engineering [21], mechanical engineering [2224], etc.

The key issue involved in modeling nonlinear system using the Volterra series is the identification of its kernel functions, which has proven to be a challenge for applying the Volterra series in practice. The Volterra kernel identification is fundamentally an ill-posed problem since the objective is to determine the structure of the system from the in- and outgoing signals. To address this problem, Wiener [25] developed a variation of the Volterra series that is orthogonal provided that the input signal is a Gaussian white noise. A number of statistical approaches, such as the cross-correlation technique [25], have been developed to identify Wiener kernels. A problem with the Wiener kernels identification is its difficulty to generate a Gaussian white noise input in experimental system, if not impossible. The identification of Volterra kernel functions is also difficult as the number of terms for modeling the kernels is usually quite large. For example, we consider a system with a memory of \(N\) samples. A simple discrete Volterra model for such a system requires \(N^{p}\) coefficients to represent the \(p\)th-order kernel function. Therefore, to present the system, a Volterra model requires a large number of coefficients even if only the first few kernels are included. Furthermore, not only is the identification of such a model difficult, but the model is too large to be used in many applications such as the control design. Clearly, it is necessary to obtain a reduced order kernel representation.

In the consideration of these limitations, many other approaches for kernels identification have been applied in both the time and frequency domains. Some techniques identify the kernels by applying specific input excitations to the system. For example, Bedrosian and Rice [26] developed a harmonic probing technique in frequency domain, and Worden et al. [27] extended it to deal with multi-input multi-output forms of the Volterra functional series. Pavlenko [28] applied impulse inputs to identify the time domain kernels from the impulse response data. To reduce the required number of estimated parameters, another common approach for kernel identification is to expand the kernels in terms of a set of function basis. For example, Marmarelis [29] estimated the kernels for biological system in terms of discrete Laguerre functions. Moodi and Bustan [30] used Laguerre functions and wavelet packets as orthogonal basis to represent Volterra kernel functions. Da Rosa et al. [31] derived an analytic solution to expand the Volterra kernels with a set of Kautz functions. These methods seek to represent the kernels in terms of a relatively compact set of globally or locally supported basis function. The advantage of these methods is that they only require the input with sufficient bandwidth for accurate kernels identification, but they do not require any specific input excitations.

Wavelets and multiresolution analysis can offer the time and frequency localization of functions and signals. In many cases, a function can be represented in a relatively small number of wavelet coefficients. This approach can highly reduce the calculation complexity of the identification process while improving the accuracy of the results. The advantage of this method is that once the basis is selected properly, the identification of coefficients is a linear question. Beylkin et al. [32] demonstrated that the wavelets are particularly effective for compressing various integral operators. Many subsequent researchers have sought to take advantage of these results. For example, Nikolaou and Mantha [33] used biorthogonal wavelets to express the first- and second-order Volterra kernels, and Chou and Guthart [34] derived sparse representations of Green’s function operators with the orthogonal wavelet basis. Wei et al. [35] derived nonparametric NARX model by expanding each functional component of nonparametric NARX model into wavelet multiresolution expansions. Coca and Billings [36, 37] identified NARMAX model from the data contaminated by noise based on semi-orthogonal wavelet multiresolution approximation. When wavelet basis is used to represent the Volterra kernels, the coefficients are nonvarying. Therefore, the Volterra kernel functions are linear equations with the nonvarying coefficients. Based on the advantages, Kurdila et al. [38] considered the reduced order Volterra kernel representations in terms of biorthogonal wavelets. This approach utilized a family of biorthogonal wavelets proposed by Cohen et al. [39]. These wavelets possess several preferable properties such as biorthogonality, symmetry or antisymmetry, and relatively compact support. In addition, the biorthogonal wavelets do not have explicit expression and are often defined by a procedure. This raises difficulties in applying the biorthogonal wavelets particularly when the object is quadratures [39]. Prazenica and Kurdila [40] constructed wavelets over the domain of the support of the triangular form of the second-order Volterra kernel. These triangular wavelets are orthogonal, compactly supported, and symmetric or antisymmetric. However, these functions are piecewise constant, and consequently do not yield very smooth kernel estimation. In addition, the triangular wavelet construction is specific to the second-order kernel. It is not straightforward to extend this approach to higher-order kernels. Recently, To overcome the problem, Prazenica and Kurdila [41] further presented an approach in which the multiwavelets constructed from the classical finite element basis functions using the technique of intertwining are used to obtain low-order estimations of the first-, second-, and third-order Volterra kernels. These results indicate the potential of the multiwavelet-based algorithm in obtaining the reduced order models for a large class of weakly nonlinear system. As pointed by Prazenica and Kurdila [41], there was one problem in applying the algorithm that the first-, second-, and third-order Volterra kernel functions must be identified simultaneously. This problem reduces the identification accuracy of Volterra kernel functions. In this article, to overcome this problem, a wavelet balance method-based approach is proposed. The basic routine of the approach is that, from the system outputs under multilevel excitations, Volterra series outputs of different orders are first estimated with the wavelet balance method, and then the Volterra kernel functions of different orders are separately estimated through their corresponding Volterra series outputs by expanding them with four-order B-spline wavelet on the interval (BSWI).

The outline of this article is as follows. Section 2 briefly introduces the wavelet analysis and BSWI, and presents the wavelet balance method in detail. The detailed procedure of Volterra kernel identification is presented in Sect. 3. Numerical simulations are presented in Sect. 4. Finally, the conclusions are given in Sect. 5.

2 BSWI and wavelet balance method

2.1 Wavelet analysis

Wavelet function \(\psi (x)\) is a function whose integral value is equal to zero during the integral interval of \((-\infty ,+\infty )\),

$$\begin{aligned} \int \limits _{-\infty }^{+\infty } {\psi (x)} {\text {d}}x=0, \end{aligned}$$
(1)

\(\psi (x)\) is known as mother wavelet, by translating \(k\) and dilating \(2^{j}\), we can obtain a function basis which is a cluster of square integrable function space. \(L^{2}(R)\).

$$\begin{aligned} \psi _{j,k} (x)=2^{j/2}\psi (2^{j}x-k) \quad j,k\in Z. \end{aligned}$$
(2)

An arbitrary function \(f(x)\in L^{2}(R)\) can be represented as

$$\begin{aligned} f(x)=\sum _{j,k=-\infty }^\infty {d_{j,k} \psi _{j,k} (x)}, \end{aligned}$$
(3)

where

$$\begin{aligned} d_{j,k} =\left\langle {f(x),\,\, \psi _{j,k} (x)} \right\rangle . \end{aligned}$$
(4)

A multiwavelet basis for \(L^{2}(R)\) is derived by translating and dilating multiple wavelet functions \([\psi ^{1},\ldots ,\psi ^{r}]\). These multiwavelets are generated from \(r\) scale functions \([\phi ^{1},\ldots ,\phi ^{r}]\). The multiwavelets \([\psi ^{1},\ldots ,\psi ^{r}]\) and their associated scale functions \([\phi ^{1},\ldots ,\phi ^{r}]\) satisfy the two scale equations,

$$\begin{aligned} \phi ^{s}(x)&= \sqrt{2}a_p^{s,t} \phi ^{t}(2^{j}x-k),\quad s=1,\ldots ,r ,\nonumber \\ \psi ^{s}(x)&= \sqrt{2}b_p^{s,t} \phi ^{t}(2^{j}x-k),\quad s=1,\ldots ,r. \end{aligned}$$
(5)

The coefficients \(\left[ {a_p^{s,t} } \right] ,\left[ {b_p^{s,t}} \right] \) are elements of scale function and wavelet filter matrices, respectively. The scale translates and dilates of the scale functions and multiwavelets are defined as

$$\begin{aligned} \phi ^{s}(x)&= 2^{j/2}\phi ^{s}(2^{j}x-k), \nonumber \\ \psi ^{s}(x)&= 2^{j/2}\psi ^{s}(2^{j}x-k), \end{aligned}$$
(6)

where, parameter \(j\in Z,\,Z\) is the set of all integers.

In the multiwavelet-based multiresolution analysis, an arbitrary function \(f(x)\in L^{2}(R)\) can be approximated in terms of a fine resolution space \(V_{j}\) as [41]:

$$\begin{aligned} f_j (x)=\sum _{s=1}^r {\sum _{k\in Z} {\alpha _{j,k}^s \phi _{j,k}^s (x)} }, \end{aligned}$$
(7)

where \(\alpha _{j,k}^s \) are scale function expansion coefficients, and \(f_j (x)\) denotes an approximation on level \(j\). An equivalent, multiscale representation of \(f_j (x)\) can be expressed as [41]

$$\begin{aligned}&f_j (x)=\sum _{s=1}^r {\sum _{k\in Z} {\alpha _{j_0 ,k}^s \phi _{j_0 ,k}^s (x)} }\nonumber \\&\qquad \qquad \,\,\,+\sum _{s=1}^r {\sum _{l=j_0 }^{j-1} {\sum _{k\in Z} {\alpha _{l,k}^s \psi _{l,k}^s (x)}}}. \end{aligned}$$
(8)

It means that \(f(x)\) can be represented by level \(j_{0}\) scale functions and level \(j_{0}\) through \(j-1\) multiwavelets. In most cases, many of the coefficients in Eq. (8) are equal to or close to zero. Consequently, the function can be accurately represented by relatively few multiwavelet coefficients.

The first-order Volterra kernel function can be represented conveniently by these one-dimensional multiwavelets. In order to represent higher-order Volterra kernel functions, higher dimensional multiwavelets are required. Higher dimensional multiwavelets can be constructed by the tensor products of one-dimensional scale functions and multiwavelets [41].

2.2 B-spline wavelet on the interval (BSWI)

On a bounded interval, BSWI basis has the good characteristics of compact support, symmetry, smoothness [42, 43], and explicit expression. Moreover, B-spline wavelets have the best approximation properties among all the known wavelets of a given order \(L\) [44]. Therefore, the Volterra kernel functions can be conveniently expressed by BSWI. Considering these advantages of BSWI, we use BSWI multiwavelets to represent each order Volterra kernel functions. Four-order B-spline scale functions on the interval, \(j=0,\,\phi _{4,k}^0 \,\,(k=-3,-2,-1,0)\) can be expressed as [42]

$$\begin{aligned}&\phi _{4,-3}^0 (x)\nonumber \\&\quad =\frac{1}{6}\left\{ {\begin{array}{ll} 6-18x+18x^{2}-6x^{3},&{} x\in [0,1] \\ 0,&{} \hbox { otherwise} \\ \end{array}} \right. \end{aligned}$$
(9)
$$\begin{aligned}&\phi _{4,-2}^0 (x)\nonumber \\&\quad =\frac{1}{6}\left\{ {\begin{array}{ll} 18x-27x^{2}+\frac{21}{2}x^{3},&{} x\in [0,1] \\ 12-18x+9x^{2}-\frac{3}{2}x^{3},&{} x\in [1,2] \\ 0,&{}\hbox { otherwise} \\ \end{array}} \right. \end{aligned}$$
(10)
$$\begin{aligned}&\phi _{4,-1}^0 (x)\nonumber \\&\quad =\frac{1}{6}\left\{ {\begin{array}{l} 9x^{2}-\frac{11}{2}x^{3},x\in [0,1] \\ -9+27x-18x^{2}+\frac{7}{2}x^{3},x\in [1,2] \\ 27-27x+9x^{2}-x^{3},x\in [2,3] \\ 0,\hbox { otherwise} \\ \end{array}} \right. \end{aligned}$$
(11)
$$\begin{aligned}&\phi _{4,0}^0 (x)\nonumber \\&\quad =\frac{1}{6}\left\{ {\begin{array}{ll} x^{3},x\in [0,1] \\ 4-12x\!+\!12x^{2}-3x^{3},&{} x\in [1,2] \\ -44\!+\!60x-24x^{2}\!+\!3x^{3},&{} x\in [2,3] \\ 64-48x\!+\!12x^{2}-x^{3},&{} x\in [3,4] \\ 0,&{} \hbox { otherwise} \\ \end{array}} \right. . \end{aligned}$$
(12)

Four-order B-spline scale functions on the interval, \(j=0,\,\phi _{4,k}^0 \,\,(k=-3,-2,-1,0)\) are shown in Fig 1.

Fig. 1
figure 1

Four-order BSWI, \(j=0\)

Four-order BSWI, \(j\!=\!0,\,\psi _{4,k}^0 \,(k=-3,-2,-1,0)\) can be expressed as [42, 45]

$$\begin{aligned} 5040\psi _{4,k}^0 (x)=\sum _{i=0}^3 {a_i x^{i}}. \end{aligned}$$
(13)

The coefficients \(a_{0} ,a_{1} ,a_{2} ,a_{3} \) of different \(k\) in Eq. (13) are not listed for the sake of simplicity. Interested readers can find them in [42, 45].

For arbitrary scale \(j,\,m\) order B-spline scale functions \(\phi _{m,k}^j (x)\) and wavelet functions \(\psi _{m,k}^j (x)\), can be computed using the following formulae [42, 45]:

$$\begin{aligned}&\phi _{m,k}^j (x)\nonumber \\&\quad =\!\left\{ {\begin{array}{l@{\quad }l} \phi _{m,k}^l (2^{j-l}x),&{} k=-m+1,\ldots ,-1\hbox { (0 boundary)} \\ \phi _{m,2^{j}-m-k}^l (1-2^{j-l}x),&{} k=2^{j}-m+1,\ldots ,2^{j}-1 \\ &{}\hbox { (1 boundary)} \\ \phi _{m,0}^l (2^{j-l}x-2^{-l}k),&{} k=0,\ldots ,2^{j}-m\hbox { (internal)} \\ \end{array}} \right. \end{aligned}$$
(14)
$$\begin{aligned}&\psi _{m,k}^j (x)\nonumber \\&\quad =\!\left\{ {\begin{array}{l@{\quad }l} \psi _{m,k}^l (2^{j-l}x),&{} k=-m+1,\ldots ,-1\hbox { (0 boundary)} \\ \psi _{m,2^{j}-m-k}^l (1-2^{j-l}x),&{} k=2^{j}-m+1,\ldots ,2^{j}-1\\ &{} \hbox { (1 boundary)} \\ \psi _{m,0}^l (2^{j-l}x-2^{-l}k),&{} k=0,\ldots ,2^{j}-m\hbox { (internal)}\\ \end{array}} \right. . \end{aligned}$$
(15)

Four-order B-spline scale functions on the interval, \(j=3,\,\phi _{4,k}^0 \,\,(k=-3,-2,-1,0)\) are shown in Fig. 2. Two-dimensional four-order B-spline scale functions \(\Phi (t_{1} ,t_{2} )\) on the interval, \(j=3\), are shown in Fig. 3.

Fig. 2
figure 2

Four-order BSWI, \(j=3\)

Fig. 3
figure 3

Two-dimensional four-order BSWI, \(j=3\)

2.3 Wavelet balance method

The basic principle of the wavelet balance method is to expand the state variables by wavelet basis methods [46], such as the biorthogonal wavelet basis. In order to describe wavelet balance method well, a general ordinary differential equation is used as an example. Considering the following ordinary differential equation, we obtain [46],

$$\begin{aligned} \frac{\text {d}X}{\text {d}t}=F(X,t), \end{aligned}$$
(16)

where \(X(t)=[X_1 (t),X_2 (t),\ldots ,X_n (t)]^{T}\) are the state variables, and \(F(X,t)\) is a given nonlinear vector function.

The state variables \(X(t)\) can be expanded by wavelet basis as follows:

$$\begin{aligned} X(t)\!&= \!\left[ {\begin{array}{l} X_1 (t) \\ X_2 (t) \\ \vdots \\ X_n (t) \\ \end{array}} \right] \!=\!\left[ {{\begin{array}{llll} {C_{11} }&{} {C_{12} }&{} \cdots &{} {C_{1M} } \\ {C_{21} }&{} {C_{22} }&{} \cdots &{} {C_{1M} } \\ \vdots &{} \vdots &{} \vdots &{} \vdots \\ {C_{n1} }&{} {C_{n2} }&{} \cdots &{} {C_{nM} } \\ \end{array} }} \right] \left[ {{\begin{array}{l} {\phi _1 (t)} \\ {\phi _2 (t)} \\ \vdots \\ {\phi _M (t)} \\ \end{array}}} \right] \nonumber \\&= C\cdot \Phi (t), \end{aligned}$$
(17)

where \(C_{n\times M} \) is the coefficient matrix, \(\{ \phi _i (t),\,i=1,2,\ldots ,M \}\) is wavelet basis, and \(M\) is the total number of function basis.

Substituting Eq. (17) into Eq. (16) gives

$$\begin{aligned} CD\Phi (t)=G\Phi (t) \end{aligned}$$
(18)

with

$$\begin{aligned} D_{ij}&= \left\langle {\frac{\text {d}\phi _i (t)}{\text {d}t},\phi _j (t)} \right\rangle ,\end{aligned}$$
(19)
$$\begin{aligned} G_{ij}&= \left\langle {F_i (C\Phi (t),t),\phi _j (t)} \right\rangle . \end{aligned}$$
(20)

Then, because the left and right sides of Eq. (18) must be equal all the time, we can get

$$\begin{aligned} CD=G . \end{aligned}$$
(21)

Consequently, the coefficient matrix \(C\) can be determined using a least square-based approach as

$$\begin{aligned} C=GD^{-1}. \end{aligned}$$
(22)

Finally, according to the estimated \(C\) and Eq. (17), the state variables \(X(t)\) can be calculated.

Comparing with the harmonic balance method where the Fourier basis with a global support is adopted, the main feature of the wavelet balance method is that wavelet basis has compact or local support in the time domain and possesses several advantages. [4648]. First, it works in the time domain, so that many complex problems in the frequency domain, such as higher-order harmonics, can be handled efficiently. Second, the adaptive scheme automatically selects the proper wavelet basis functions given certain accuracy. High-level wavelet basis functions are selected only near singularities. However, the Fourier basis has global support, and it is infeasible to realize such a selection in time domain. Therefore, numerous researchers have done several studies about wavelet balance method. For example, Barmada et al. [49] used the wavelet balance method to solve the nonlinear equations. Soveiko and Nakhla [47, 48] used it to calculate the steady-state analysis of nonlinear microwave circuits under periodic excitation. Zhou et al. [50, 51] pointed out that the wavelet balance method increased significantly in sparsity of the equation matrices, and consequently decreased the CPU cost and storage requirements, while retaining accuracy and convergence of the traditional approach.

3 Volterra series and Volterra kernel function identification

3.1 Volterra series

If a system is linear and time-invariant, then the first-order Volterra series represents the linear input–output relation of system, which is shown as follows [25]:

$$\begin{aligned} y(t)=\int \limits _{-\infty }^{+\infty } {h(t-\tau )x(\tau )\text {d}\tau }, \end{aligned}$$
(23)

where \(x(t)\) is the input, and \(y(t)\) is the output; when Eq. (23) can be interpreted as Duhamel integral, system is determined uniquely by impulse response function \(h(t)\). As regards a large class of nonlinear system, the input–output relation of system is nonlinear, which can be represented by higher-order Volterra series. Higher-order Volterra series is the extension of this familiar convolution integral for linear system to a series of multidimensional convolution integrals, which can be shown as follows [25]:

$$\begin{aligned} y(t)&= \sum _{n=1}^\infty {\int \limits _{-\infty }^{+\infty } {\int \limits _{-\infty }^{+\infty } {\cdots \int \limits _{-\infty }^{+\infty } {h_n (\tau _1 ,\tau _2 ,\ldots ,\tau _n )} } } } \ldots \nonumber \\&\quad \prod _{i=1}^n {x(t-\tau _i) \text {d}\tau _1 \text {d}\tau _2 \ldots \text {d}\tau _n }, \end{aligned}$$
(24)

where functions \(h_n (\tau _1 ,\ldots ,\tau _n ),\,n=1,2,\ldots ,\infty \) are the extension of impulse response function for linear system to nonlinear system, named Volterra kernel functions in general.

In order to use Volterra series to model the input–output relation of nonlinear system, each order Volterra kernel functions should be identified. Rugh [15] pointed out that the dimensional disaster makes the identification of the Volterra kernel functions difficult. The Volterra kernel function identification is a common characteristic of ill-posed problems, and the problem is exacerbated by the fact that all kernel functions must be identified simultaneously. In order to improve the identification accuracy of Volterra kernel functions, the sub-band Volterra kernels are introduced [52]. For example, when a two-order Volterra series is considered, then the first- and second-order Volterra series outputs can be derived from following equations [52]:

$$\begin{aligned} \left( {{\begin{array}{l} {Y_1 (n)} \\ {Y_2 (n)} \\ \end{array}}} \right) =\left( {{\begin{array}{ll} 1&{} 1 \\ a &{} {a^{2}} \\ \end{array} }} \right) \left( {{\begin{array}{l} {y_1 (n)} \\ {y_2 (n)} \\ \end{array} }} \right) +\left( {\begin{array}{l} e_1 (n) \\ e_2 (n) \\ \end{array}} \right) , \end{aligned}$$
(25)

where \(a\ne 1,\, and Y_1 (n),\,Y_2 (n)\) are the system’s total output signals to input signals \(x(t),\,ax(t)\), respectively. \(y_1 (n),\,y_2 (n)\) are the first- and second-order output signals, and \(e_1 (n),\,e_2 (n)\) are the errors between ideal and practical outputs, respectively. Using matrix inversion and neglecting \(e_1 (n),\,e_2 (n),\,y_1 (n),\,y_2 (n)\) can be solved. However, as this method is directly implemented in time domain, the Vander matrix inversion may amplify the error in \(Y_1 (n),\,Y_2 (n)\). This disadvantage will reduce the identification accuracy of Volterra kernel functions. In order to overcome this disadvantage, the wavelet balance method is used to derive the sub-band Volterra series outputs.

From Eq. (24), when the input is \(u(t)\), the system response is

$$\begin{aligned} Y(t)=y_1 (t)+y_2 (t)+\cdots +y_N (t), \end{aligned}$$
(26)

where

$$\begin{aligned} y_n (t)&= \int \limits _{-\infty }^{+\infty } {\int \limits _{-\infty }^{+\infty } {\cdots \int \limits _{-\infty }^{+\infty } {h_n (\tau _1 ,\tau _2 ,\ldots ,\tau _n )} } } \ldots \nonumber \\&\quad \prod _{i=1}^n {x(t-\tau _i )\text {d}\tau _1 \text {d}\tau _2 \ldots \text {d}\tau _n } \end{aligned}$$
(27)

When the system is excited \(N\) times by multilevel inputs amplitudes of which are \(a_{(1)} ,\ldots ,a_{(N)} \), respectively, \(N\) output responses \(Y_{(1)} ,\ldots ,Y_{(N)} \) are obtained. From Eq. (24), the output response under the excitation of amplitude \(a_{(n)} \) can be determined as

$$\begin{aligned} Y_n (t)=a_{(n)} y_1 (t)+a_{(n)}^2 y_2 (t)+ \cdots +a_{(n)}^N y_n (t). \end{aligned}$$
(28)

Then, the output responses under multilevel excitations can be expressed as follows:

$$\begin{aligned} \left( {{\begin{array}{l} {Y_1 (t)} \\ \vdots \\ {Y_N (t)} \\ \end{array} }} \right) =\left( {{\begin{array}{lll} {a_1 }&{} \cdots &{} {a_1^N } \\ \vdots &{} \ddots &{} \vdots \\ {a_N }&{} \cdots &{} {a_N^N } \\ \end{array} }} \right) \left( {{\begin{array}{l} {y_1 (t)} \\ \vdots \\ {y_N (t)} \\ \end{array} }} \right) . \end{aligned}$$
(29)

Expressing \(Y_1 (t),Y_2 (t),\ldots ,Y_N (t),y_1 (t),y_2 (t),\ldots ,y_N (t)\) by wavelet basis, respectively, yields

$$\begin{aligned}&Y_1 (t)=\sum _j {\sum _k {Y_{1,j,k} \psi _{j,k} (t)} } \nonumber \\&\qquad \qquad \vdots \nonumber \\&Y_N (t)=\sum _j {\sum _k {Y_{N,j,k} \psi _{j,k} (t)} } \nonumber \\&y_1 (t)=\sum _j {\sum _k {y_{1,j,k} \psi _{j,k} (t)} } \nonumber \\&\qquad \qquad \vdots \nonumber \\&y_N (t)=\sum _j {\sum _k {y_{N,j,k} \psi _{j,k} (t)} }. \end{aligned}$$
(30)

Substituting Eq. (30) into Eq. (29), and according to the wavelet balance method, it can be derived as follows:

$$\begin{aligned} \left( {{\begin{array}{l} Y_{1,j,k} \\ Y_{2,j,k} \\ \vdots \\ Y_{N,j,k} \\ \end{array} }} \right) =\left( {{\begin{array}{llll} {a_{1} }&{} {a_{1}^{2} }&{} \cdots &{} a_{1}^{N} \\ a_{2} &{} a_{2}^{2}&{} \cdots &{}a_{2}^{N} \\ \vdots &{} \vdots &{}\ddots &{}\vdots \\ {a_{N} }&{} {a_{N}^{2} }&{} \cdots &{}a_{N}^{N} \\ \end{array} }} \right) \left( {{\begin{array}{l} y_{1,j,k} \\ y_{2,j,k} \\ \vdots \\ y_{N,j,k} \\ \end{array} }} \right) \end{aligned}$$
(31)

and

$$\begin{aligned} \left( {{\begin{array}{l} {y_{1,j,k} } \\ y_{2,j,k} \\ \vdots \\ {y_{N,j,k} } \\ \end{array} }} \right) \!=\!\left( {{\begin{array}{llll} {a_1 }&{} {a_{1}^{2} }&{} \cdots &{} a_{1}^{N} \\ a_2 &{}a_{2}^{2} &{} \cdots &{}a_{2}^{N} \\ \vdots &{} \vdots &{}\ddots &{}\vdots \\ {a_{N}}&{} {a_{N}^{2} }&{} \cdots &{} a_{N}^{N} \\ \end{array} }} \right) ^{-1}\left( {{\begin{array}{l} {Y_{1,j,k} } \\ Y_{2,j,k} \\ \vdots \\ {Y_{N,j,k} } \\ \end{array} }} \right) .\nonumber \\ \end{aligned}$$
(32)

Then, based on the identified \(y_{1,j,k} ,y_{2,j,k} ,\ldots y_{N,j,k} \), the subband Volterra series outputs \(y_1 (t),y_2 (t),\ldots , y_N (t)\)can be derived by using Eq. (30).

By implementing the Vander matrix inversion on the wavelet transform coefficients, the sub-band Volterra series outputs are calculated based on the wavelet balance method. From the estimated Volterra series outputs \(y_1 (t),y_2 (t),\ldots , y_N (t)\), the Volterra kernels of different orders can be identified separately. The identification accuracy of Volterra kernel functions is dependent on the accuracy of each order Volterra series outputs. Consequently, the identification method presented in this article can improve the identification accuracy of Volterra kernel functions.

3.2 The first-order kernel function

The first-order Volterra series can be represented by [15]

$$\begin{aligned} y_1 (t)=\int \limits _0^t {h_1 (\tau )x(t-\tau )\text {d}\tau }. \end{aligned}$$
(33)

In order to derive a discrete form of (33), the input \(u\) is approximated using zero-order hold. The input and output are sampled at the rate of \(2^{j}\) Hz, and the number of data points is \(N\). The zero-order hold approximation of the input can be written as [41],

$$\begin{aligned} u_j (t)=\sum _{k=0}^{N-1} {u_{j,k} \chi _{j,k} (t)}. \end{aligned}$$
(34)

Define function \(\chi _{j,k} (t)\) as [41],

$$\begin{aligned} \chi _{j,k} (t)&= 2^{j/2}\chi (2^{j}t-k)\nonumber \\&= \left\{ {\begin{array}{ll} 2^{j/2},&{} t\in [2^{-j}k,2^{-j}(k+1)] \\ 0,&{} \hbox { otherwise} \\ \end{array}} \right. , \end{aligned}$$
(35)

where \(\chi \) is the characteristic function of interval [0, 1]. The coefficients \(\left\{ {u_{j,k}}\right\} \) are equivalent to scale samples of the input [41],

$$\begin{aligned} u_{j,k} =2^{-j/2}u(2^{-j}k),\quad k=0,\ldots ,N-1. \end{aligned}$$
(36)

By discretizing the output at a sampling rate of \(2^{j}\) Hz, Eq. (33) yields \(N\) equations for the discrete first-order outputs [41]:

$$\begin{aligned} y_{1,j} (t_n )\!=\!\int \limits _0^{t_n } {h_1 (\tau )x(t_n \!-\!\tau )d\tau } ,\, n=1,\ldots ,N,\quad \end{aligned}$$
(37)

where \(t_n =2^{-j}n\); the translated zero-order hold approximation of the input can be expressed as [41],

$$\begin{aligned} u_j (t_n -\tau )=\sum _{k=0}^{n-1} {u_{j,n-k-1} (\tau )\chi _{j,k} (\tau )}. \end{aligned}$$
(38)

The first-order kernel can be approximated by the B-spline scale functions on level \(j_{1}\):

$$\begin{aligned} h_{1,j_1 } (\tau )=\sum _p {\sum _{s=1}^r {\alpha _{j_1 ,p}^s } } \phi _{j_1 ,p}^s (\tau ). \end{aligned}$$
(39)

Substituting Eqs. (38) and (39) into Eq. (37), the discrete first-order outputs are derived:

$$\begin{aligned} y_{1,j} (t_n )&= \sum _{k=0}^{n_1 -1} {\sum _p {\sum _{s=1}^r {u_{j,n-k-1} \alpha _{j_1 ,p} } } }\nonumber \\&\quad \times \int \limits _0^{T_1 } {\phi _{j_1 ,p}^s (\tau )\chi _{j,k} (\tau )d\tau } \end{aligned}$$
(40)

with

$$\begin{aligned} n_1 =\left\{ {\begin{array}{ll} n,&{} n<2^{j}T_1 \\ 2^{j}T_1 ,&{} n\ge 2^{j}T_1 \\ \end{array}} \right. . \end{aligned}$$
(41)

Equation (40) can be written in matrix form as [41],

$$\begin{aligned} \underline{y}_{1,j} =[M_1 ]\underline{\alpha }_{1}, \end{aligned}$$
(42)

where \(\underline{y}_{1,j} \) is a vector of discrete first-order outputs, and \(\underline{\alpha }_1 \) is a vector of scale function coefficients that represent the first-order kernel. The \(N\times N_{1}\) matrix [\(M_{1}\)] is calculated by using Eq. (40), where the integrals are calculated using Gauss–Legendre quadrature.

Equivalent to the single-scale expansion in Eq. (39), the multiscale representation of the kernel can be expressed as [41],

$$\begin{aligned} h_{1,j_1 } (\tau )&= \sum _p {\sum _{s=1}^r {\alpha _{j_0 ,p}^s } } \phi _{j_0 ,p}^s (\tau )\nonumber \\&+\sum _{l=j_0 }^{j_1 -1} {\sum _p {\sum _{s=1}^r {\beta _{l,p}^s \psi _{l,p}^s (\tau )} } }, \end{aligned}$$
(43)

where \(j_{0}\) is the coarsest level chosen in the wavelet decomposition. Denoting \(\underline{\beta }_1 \) as the vector of multiscale kernel coefficients, and denoting [\(T_{1}\)] as the invertible matrix that performs the discrete wavelet transform, Eq. (42) can be written as

$$\begin{aligned} \underline{y}_{1,j} =[M_1 ][T_1 ]^{-1}\underline{\beta }_1 =[A_1 ]\underline{\beta }_1 . \end{aligned}$$
(44)

3.3 The second-order kernel

The second-order Volterra series can be represented by [15]

$$\begin{aligned} y_2 (t)=\int \limits _{-\infty }^{+\infty } {\int \limits _{-\infty }^{+\infty } {h_2 (\tau _1 ,\tau _2 )x(t-\tau _1 } } )x(t-\tau _2 )\text {d}\tau _1 \text {d}\tau _2 .\nonumber \\ \end{aligned}$$
(45)

The second-order kernel can be represented by a combination of two-dimensional tensor product scale functions as [41],

$$\begin{aligned} h_{2,j_2 } (\tau _1 ,\tau _2 )=\sum _{p,q} {\alpha _{j_2 ,p,q} \phi _{j_2 ,p} (\tau _1 )\phi _{j_2 ,q} (\tau _2 )}. \end{aligned}$$
(46)

The second-order kernel is assumed to decay to zero after finite time \(T_{2}\). Then, the symmetric second-order kernel is supported on the [\(0,\, T_{2}]\,\times \,[0,\, T_{2}\)] square domain.

Substituting Eq. (46) and the zero-order hold approximation of the input (38) into Eq. (45), \(N\) equations for the discrete second-order outputs can be obtained [41]:

$$\begin{aligned} y_{2,j} (t_n )&= \sum _{k,m=0}^{n_2 -1} {\sum _{p,q} {\sum _{s,v=1}^r {u_{j,n-k-1} u_{j,n-m-1} } } } \alpha _{j_2 ,p,q}^{s,v} \nonumber \\&\times \int \limits _0^t {\int \limits _0^t {\phi _{j_2 ,p}^s (\tau _1 )\phi _{j_2 ,q}^v (\tau _2 )\chi _{j,k,m} (\tau _1 ,\tau _2 )} }\nonumber \\&\quad \times \,\text {d}\tau _1 \text {d}\tau _2 , \end{aligned}$$
(47)

where, \(n=1,\ldots ,N\). The upper limit in the summations over \(k \)and \(m\) is given by [41],

$$\begin{aligned} n_2 =\left\{ {\begin{array}{ll} n,&{} n<2^{j}T_2 \\ 2^{j}T_2 ,&{} n\ge 2^{j}T_2 \\ \end{array}} \right. . \end{aligned}$$
(48)

Equation (47) can be written in the matrix form:

$$\begin{aligned} \underline{y}_{2,j} =[M_2 ]\underline{\alpha }_{2}, \end{aligned}$$
(49)

where \(\underline{y}_{2,j} \)is a vector of discrete second-order outputs and \(\underline{\alpha }_2 \) is a vector of single-scale second-order kernel coefficients.

Equivalent to the single-scale expansion in Eq. (46), the multiscale representation of the second-order kernel can be expressed as [41],

$$\begin{aligned} h_{2,j_2 } (\tau _1 ,\tau _2 )&= \sum _{p,q} {\sum _{s,v=1}^r {\alpha _{j_0 ,p,q}^{(s,v)} \phi _{j_0 ,p}^s (\tau _1 )\phi _{j_0 ,q}^v (\tau _2 )} } \nonumber \\&+\!\sum _{l=j_0 }^{j_2 -1} {\sum _{p,q} {\sum _{s,v=1}^r \!{\beta _{l,p,q}^{1,(s,v)} \phi _{l,p}^s (\tau _1 )\psi _{l,q}^v (\tau _2 )} } } \nonumber \\&+\!\sum _{l=j_0 }^{j_2 -1} {\sum _{p,q} {\sum _{s,v=1}^r \!\!{\beta _{l,p,q}^{2,(s,v)} \psi _{l,p}^s (\tau _1 )\phi _{l,q}^v (\tau _2 )} } } \nonumber \\&+\!\sum _{l=j_0 }^{j_2 -1} {\sum _{p,q} {\sum _{s,v=1}^r\! \!{\beta _{l,p,q}^{3,(s,v)} \psi _{l,p}^s \!(\tau _1 )\psi _{l,q}^v \!(\tau _2 )} } }.\nonumber \\ \end{aligned}$$
(50)

Similar to the first-order case, it is possible to construct an invertible matrix [\(T_{2}\)] that decomposes the vector of single-scale coefficients into a vector of multiscale coefficients. Then, Eq. (49) can be represented as [41],

$$\begin{aligned} \underline{y}_{2,j} =[M_2 ][T_2 ]^{-1}\underline{\beta }_2 . \end{aligned}$$
(51)

Taking advantage of the symmetry of the second-order kernel, the number of unknown coefficients in Eq. (47) can be significantly reduced. The symmetry of the kernel means that the number of coefficients can be reduced from \(N_2^2 \) to \(\tilde{N}_2 =(N_2^2 +N_2 )/2\). Therefore, an \(\tilde{N}_2 \)-dimensional vector of second-order kernel coefficients can be defined as \(\hat{{\underline{\alpha }}}_2 \). This vector can be related to \(\underline{\alpha }_2 \) by a transformation matrix \([P_2]\) [41],

$$\begin{aligned} \underline{\alpha }_2 =[P_2 ]\hat{{\underline{\alpha }}}_2 . \end{aligned}$$
(52)

Then, the discrete second-order Volterra model can be expressed in the following form [41]:

$$\begin{aligned} \underline{y}_{2,j} =[M_2 ][P_2 ]\hat{{\underline{\alpha }}}_2 =[A_2 ]\hat{{\underline{\alpha }}}_2 . \end{aligned}$$
(53)

3.4 The third-order kernel

The third-order Volterra series output can be represented by [15]

$$\begin{aligned} y_3 (t)&= \int \limits _0^t {\int \limits _0^t {\int \limits _0^t {h_3 (\tau _1 ,\tau _2 ,\tau _3 )u(t-\tau _1 )u(t-\tau _2 )} } } \nonumber \\&\times u(t-\tau _3 )\text {d}\tau _1 \text {d}\tau _2 \text {d}\tau _3 , \end{aligned}$$
(54)

where \(h_3 (\tau _1 ,\tau _2 ,\tau _3 )\) is the symmetric third-order kernel. The single-scale representation of the third-order kernel can be written as [41]

$$\begin{aligned} h_{3,j_3 } (\tau _1 ,\tau _2 ,\tau _3 )&= \sum _{p,q,z} \sum _{s,v,w=1}^r \alpha _{_{j_3 ,p,q,z} }^{(s,v,w)} \phi _{_{j_3 ,p} }^{(s)}\nonumber \\&\quad \times (\tau _1 )\phi _{_{j_3 ,q} }^{(v)} (\tau _2 )\phi _{_{j_3 ,z} }^{(w)} (\tau _2 ). \end{aligned}$$
(55)

Due to computational constraints, the discretization level \(j_{3 }\) is usually chosen to be much coarser than the input/output discretization. The third-order kernel is assumed to decay to zero after finite time \(T_{3}\). Then, the symmetric third-order kernel is supported on a [\(0,\, T_{3}]\,\times \,[0,\,T_{3}]\,\times \,[0,\,T_{3}\)] three-dimensional domain.

The zero-order hold approximation of the input in Eq. (38) and the single-scale representation of the kernel in Eq. (55) are substituted into Eq. (54). \(N\) equations for the discrete third-order outputs can be obtained [41]

$$\begin{aligned} y_{3,j} (t_n )&= \sum _{k,m,f=0}^{n_3 -1} \sum _{p,q,z} \sum _{s,v,w=1}^r u_{j,n-k-1}\nonumber \\&\quad \times \, u_{j,n-m-1} u_{j,n-f-1} \alpha _{j_3 ,p,q,z}^{s,v,w} \ldots \nonumber \\&\quad \times \int \limits _0^t \int \limits _0^t \phi _{j_3 ,p}^s (\tau _1 )\phi _{j_3 ,q}^v (\tau _2 )\phi _{j_3 ,z}^w (\tau _3 )\chi _{j,k,m}\nonumber \\&\quad \times \,(\tau _1 ,\tau _2 ,\tau _3 ) \text {d}\tau _1 \text {d}\tau _2 \text {d}\tau _3 \end{aligned}$$
(56)

\(n=1,\ldots ,N\). The upper limits in the summations over \(k,\,m\), and \(f\) are given by [41]

$$\begin{aligned} n_3 =\left\{ {\begin{array}{ll} n,&{} n<2^{j}T_3 \\ 2^{j}T_3 ,&{} n\ge 2^{j}T_3 \\ \end{array}} \right. . \end{aligned}$$
(57)

Equation (56) can be written in the matrix form [41],

$$\begin{aligned} \underline{y}_{3,j} =[M_3 ]\underline{\alpha }_3 , \end{aligned}$$
(58)

where \(\underline{y}_{3,j}\) is a vector of discrete third-order outputs, and \(\underline{\alpha }_3 \) is a vector of third-order kernel coefficients.

As usual, there is an equivalent multilevel representation of the third-order kernel. An invertible matrix [\(T_{3}\)] can be formed that decomposes the single-scale coefficients into the vector of multiscale coefficients. However, just as in the second-order case, it is not practical to form this matrix. Therefore, low-order approximations of the third-order kernel are obtained by choosing an appropriately coarse resolution level \(j_{3}\) in Eq. (56). Therefore, the multiscale kernel coefficients do not appear explicitly in the discrete third-order model.

Then, similar to the second-order case, we get

$$\begin{aligned} \underline{\alpha }_3 =[P_3 ]\hat{{\underline{\alpha }}}_3 , \end{aligned}$$
(59)

where \(\hat{{\underline{\alpha }}}_3 \) is a vector of unique third-order kernel coefficients. The discrete third-order Volterra model can be written in the form:

$$\begin{aligned} \underline{y}_{3,j} =[M_3 ][P_3 ]{\hat{\underline{\alpha }}}_3 =[A_3 ]{\hat{\underline{\alpha }}}_3 . \end{aligned}$$
(60)

Taking advantage of derived \({y}_{1,j} ,\,{y}_{2,j} \), and \({y}_{3,j} \), the coefficients of the first-, second-, and third-order kernels can be identified through Eqs. (44), (53), (60), respectively. According to the identified coefficients, the first-, second- and third-order kernels can be separately derived. Therefore, based on this Volterra kernel function identification method put forward in this article, the first-, second-, and third Volterra kernel functions can be identified separately. This is quite different from the method presented by Prazenica and Kurdila [41] in which the first-, second-, and third-order kernels must be identified simultaneously. This may degrade the accuracy of the estimated third-order kernel.

It should be noted that this identification problem is ill-posed in that the objective is to determine the structure of the system from the in- and outgoing signals [41]. Therefore, in order to obtain stable kernel estimation, a regularization technique must be used to solve the least squares problem. There are many regularization methods discussed in the literature [53, 54]. In this article, we use truncated singular value decomposition to compute the least squares solution of Eqs. (44), (53), and (60).

4 Numerical simulations

In this section, two nonlinear dynamical systems are used to demonstrate the feasibility of the Volterra kernel function identification based on wavelet balance method.

Case 1: The system is a nonlinear oscillator considered in [41], having the following equation of motion,

$$\begin{aligned} m\frac{\text {d}^{2}y}{\text {d}t^{2}}+c\frac{\text {d}y}{\text {d}t}+k_1 y(t)+k_2 y^{2}(t)=u(t), \end{aligned}$$
(61)

where \(m\) is the mass, \(c\) is the damping coefficient, \(k_{1}\) is the linear stiffness coefficient, and \(k_2 \) is a quadratic spring stiffness. The system parameters are chosen as

$$\begin{aligned} m\!=\!1\,\text {kg},\, c\!=\!3\,\text {Ns/m},\,k_1 \!=\!4\pi ^{2}\,\text {N/m},\,k_2 =4\pi ^{2}\,\text {N/m}^{2} . \end{aligned}$$

Because the dynamics of motion is known, the analytic expressions of Volterra kernels can be derived in the frequency domain using the method of harmonic probing [26]. Based on the method of harmonic probing, the analytic expressions of the first-, second-, and third-order kernels in the frequency domain can be calculated as follows:

$$\begin{aligned} H_1 (\omega _1 )&= \frac{1}{-m\omega _1^2 +jc\omega _1 +k_1 }\end{aligned}$$
(62)
$$\begin{aligned} H_2 (\omega _1 ,\omega _2 )&= -k_2 H_1 (\omega _1 )H_1 (\omega _2 )H_1 (\omega _1 +\omega _2 )\nonumber \\ \end{aligned}$$
(63)
$$\begin{aligned} H_3 (\omega _1 ,\omega _2 ,\omega _3 )&= 2k_2^2 H_1 (\omega _1 )H_1 (\omega _2 )H_1 \omega _3 ) \nonumber \\&\times H_1 (\omega _2 +\omega _3 )H_1 (\omega _1 +\omega _2 +\omega _3 ).\nonumber \\ \end{aligned}$$
(64)

From the expression of the first-order kernel in the frequency, we can find that the linear FRF is exactly equivalent to the FRF of its associated linear system, which is generated by keeping the linear characteristic parameters unchanged and setting all the nonlinear characteristic parameters to be zero. The associated linear system of system (61) can be expressed as

$$\begin{aligned} m\frac{\text {d}^{2}y}{\text {d}t^{2}}+c\frac{\text {d}y}{\text {d}t}+k_1 y(t)=u(t). \end{aligned}$$
(65)

Time domain Volterra kernels can be derived by taking inverse Fourier transforms of the expressions in Eqs. (62)–(64). The first-order kernel is equivalent to the impulse response function of Eq. (65) whose the expression is

$$\begin{aligned} h_{1} (t)=\frac{1}{m\omega _{\text{ d }} }e^{-\xi \omega _{\text{ n }} t}\sin (\omega _{\text{ d }} t), \end{aligned}$$
(66)

where \(\xi \) is the damping ratio, \(\omega _{\text{ n }} \) is the natural frequency, and \(\omega _{\text{ d }} \) is the damped natural frequency defined as

$$\begin{aligned} \xi&= \frac{c}{2\sqrt{k_1 m}} \nonumber \\ \omega _{\text{ n }}&= \sqrt{k_1 /m} \nonumber \\ \omega _{\text{ d }}&= \omega _{\text{ n }} \sqrt{1-\xi ^{2}}. \end{aligned}$$
(67)

In this case study, these parameters in Eq. (67) are set to be

$$\begin{aligned} \xi&= 0.75 \nonumber \\ \omega _{\text{ n }}&= 2\pi \, \text {rad/s} \nonumber \\ \omega _{\text{ d }}&= 4.156 \, \text {rad/s}. \end{aligned}$$
(68)

Similarly, the time domain forms of the second- and third-order kernels are obtained by taking multidimensional inverse Fourier transforms of Eqs. (63) and (64). This calculation is performed in Maple. The analytic expressions for these time domain kernels are extremely complicated and not given here.

Since a linear chirp input used by Prazenica and Kurdila [40] only has one frequency at a time, it is insufficient to identify higher-order kernels of nonlinear system. Therefore, in order to generate the input signal that possesses multiple frequencies all the time. The input to the system is chosen as follows [55]:

$$\begin{aligned} u(t)=A\frac{12}{\pi t}[\sin (2\pi *2t)-\sin (2\pi *4t)]. \end{aligned}$$
(69)

The input signal is shown in Fig. 4.

Fig. 4
figure 4

Input signal

The response of the system (61) to the input (69) is simulated by numerically integrating, using function ode45 in MATLAB. The amplitudes A of the multilever inputs are chosen as 1, 0.7, and 0.5. Correspondingly, three sets of output responses are obtained, and then they are used to identify the kernels. The data are sampled at the rate of 64 Hz (or \(j= 6\)). The time duration of the simulation is 32 s. The number of each dataset is 2048.

Based on the wavelet balance method described in Sect. 3, the first-, second-, and third-order Volterra outputs of system (61) can be derived using db4 wavelet. The first three Volterra outputs of different orders are shown in Fig. 5.

Fig. 5
figure 5

Volterra outputs of the first three orders: (solid first, dash second, and dot third)

From the estimated first three Volterra outputs, the first three-order Volterra kernels are identified using the procedure introduced in Sect. 3. The identified and analytic results of the first-order kernels are shown in Fig. 6. The identified kernel matches with the analytic kernel very well. The identified and analytic results of the second- and third-orders are shown in Figs. 7 and 8, respectively. The identified kernels generally matches with the analytic kernels.

Fig. 6
figure 6

The first-order Volterra kernels (solid identified, dash analytic)

Fig. 7
figure 7

The second-order Volterra kernels

To validate this Volterra kernel function identification method, the output predicted by the identified first-order Volterra kernel \(h_1 (\tau )\) and the first-order Volterra output \(\hbox {y}_{1}\) are shown in Fig. 9. The output predicted by the identified second-order Volterra kernel \(h_2 (\tau _1 ,\tau _2 )\) and the second-order Volterra output \(\hbox {y}_{2}\) are shown in Fig. 10. The predicted first- and second-order Volterra outputs closely match with the simulated outputs. Clearly, the first two-order-identified kernels are able to accurately predict the first two-order Volterra outputs to the input. The output predicted by the identified third-order Volterra kernel \(h_3 (\tau _1 ,\tau _2 ,\tau _3 )\) and the simulated third-order Volterra output \(\hbox {y}_{3}\) are shown in Fig. 11. The predicted third-order Volterra output generally matches with the simulated third-order Volterra output. Therefore, the identified third-order kernel is capable of predicting most of the third-order Volterra output.

Case 2: The system is a two-order discrete Volterra series that is usually regarded as nonlinear filter [56]. Several researchers have used such nonlinear system representations for studying nonlinear channel equalization [57] and nonlinear distortion in electronic devices [58]. Koh and Powers [59] had utilized it to study the nonlinear drift oscillations of moored vessels subject to random sea waves. One example of the second-order Volterra filters can be described as follows:

$$\begin{aligned} y(n)&= -0.78x(n)-1.48x(n-1)+1.39x(n-2) \nonumber \\&+\,0.04x(n\!-\!3)\!+\!1.75x(n)^{2}\!+\!1.26x(n)x(n\!-\!1) \nonumber \\&+\,0.7x(n)x(n-2)+0.09x(n)x(n-3)\nonumber \\&+\,0.85x(n-1)^{2}+0.39x(n-1)x(n-2) \nonumber \\&-\,0.1x(n\!-\!1)x(n\!-\!3)\!+\!0.055x(n\!-\!2)x(n\!-\!2) \nonumber \\&-\,0.31x(n-2)x(n-3)-0.524x(n-3)^{2}.\nonumber \\ \end{aligned}$$
(70)
Fig. 8
figure 8

The third-order Volterra kernels (\(\tau _3 =0.5\) s)

Fig. 9
figure 9

The Volterra output of order 1, \(y_{1}\) (solid simulated, dash predicted)

Fig. 10
figure 10

The Volterra output of order 2, \(y_{2}\) (solid simulated, dash predicted)

Fig. 11
figure 11

The Volterra output of order 3, \(y_{3}\) (solid simulated, dash predicted)

The input to the system is,

$$\begin{aligned} u(t)=A\frac{3}{2\pi t}[\sin (2\pi *2t)-\sin (2\pi *4t)]. \end{aligned}$$
(71)

The amplitudes A of the multilever inputs are chosen as 1 and 0.5, respectively. Correspondingly, two sets of output responses are obtained, and then they are used to identify the kernels. The data are sampled at the rate of 64 Hz (or \(j = 6\)). The time duration of the simulation is 32 s. The number of each dataset is 2048.

Based on the Volterra kernel function identification method described in the above sections, the first- and second-order Volterra kernel functions can be derived. The identified and accurate first-order kernels \(h(n)\) are given in Table 1, the identified and accurate second-order kernels are given in Table 2. From Tables 1 and 2, it can be seen that the identified first- and second-order kernels are very close to their real values.

Table 1 Identified and accurate first-order Volterra kernels

Overall, the results in Cases 1 and 2 verify the effectiveness of the Volterra kernel function identification method based on wavelet balance method.

Table 2 Identified and accurate second-order Volterra kernels

5 Conclusion

In this article, a wavelet basis expansion-based approach is proposed to identify the Volterra kernel function through multilevel excitations. The approach first estimated the Volterra series outputs of different orders based on the wavelet balance method, from the system outputs under multilevel excitations. Then, Volterra kernel functions of different orders are, respectively, estimated through their corresponding Volterra series outputs by expanding them with four-order BSWI. Two simulation studies verify the effectiveness of the proposed Volterra kernel identification method. This is basically the theoretical study for a novel Volterra kernel function identification. Further studies will be concerned with the application of the proposed technique to identify the Volterra kernel functions of different engineering structures under different cases. This kernel functions identification approach can be used in the health monitoring of structures.