1 Introduction

Linear adaptive filters are widely used for system and signal modelling, due to their simplicity. Despite their popularity, they remain inappropriate in many cases, especially for modelling nonlinear systems. Unfortunately, when dealing with nonlinear filters, no general adaptation algorithm is available. By contrast, neural networks can be regarded as a class of nonlinear adaptive filters, either transversal or recursive, which are quite general because of the ability of feedforward nets to approximate nonlinear functions [1, 2]. In addition, both the adaptation of filters [3, 4] and the training of neural networks involve gradient techniques. In single-element neural network, an adaptive algorithm is often used to adjust the weights of adaptive linear element (ADALINE) so that it responds correctly to as many patterns as possible in a training set that has binary desired responses [5]. The ADALINE neural network is generalized and used for adaptive system identification of linear time varying systems [6]. Also neural networks (NNs) [7, 8] represent a flexible tool to realize nonlinear filters, but this approach generally requires a high computational cost. Therefore, the neural network and adaptive algorithms are interrelated but have their own characteristics.

In the last few decades several researchers have made many efforts towards nonlinear adaptive filtering theory and applications [9]. Volterra series approach is an extension of the convolution integral of linear systems by a series of multi-dimensional convolution integrals. The dynamical properties of the nonlinear system in the Volterra series representation are completely characterized by a sequence of multi-dimensional weighting function called Volterra kernels. These Volterra kernels are the backbone of Volterra series approach in nonlinear analysis and system identification [10]. Due to the large number of free parameters required, the Volterra adaptive filter (VAF) is generally used only in situations of mild nonlinearity [11]. In recent years, new efficient models for nonlinear filtering have been proposed, such as, generalized functional-link network (GFLN) [12]. And nonlinear adaptive filters named kernel adaptive filters (KAF) [13,14,15,16,17]. For the KAF algorithm, it closely related to the radial basis function (RBF) and regularization networks [13]. The KAF algorithm is a general term for a class of algorithms, which includes, such as the kernel recursive least-squares (KRLS) algorithm [14], the extended KRLS algorithms [15], the kernel affine projection algorithm (KAPA) [16] and the quantized KLMS algorithm (QKLMS) [16]. The KAF offer the advantage of a simple implementation [18], but have the problem of a continuously increasing network growth.

Recently, a novel class of nonlinear adaptive filters, called spline adaptive filter (SAF), has been introduced [19]. In [19], it is shown that SAF is able to well identify Wiener systems with high order nonlinearities. This kind of nonlinear filter was demonstrated to be very effective in many applications, such as nonlinear system identification, due to its flexibility, simplicity of implementation and low computational cost. More recently, the SAF architecture has been extended to the infinite impulse response (IIR) case [20] and the Hammerstein case [21]. Based on SAF, a SAF based nonlinear active noise control (ANC) system is proposed in [22]. In addition, Scarpiniti et al. [23] provided a steady-state performance evaluation. Following this approach and by properly extending the work on SAFs, Scarpiniti et al. [24] proposed two novel architectures for the nonlinear–linear–nonlinear (NLN) and linear–nonlinear–linear (LNL) models, named here as Sandwich 1 (S1) and Sandwich 2 (S2) respectively.

However, the updating process of the above SAF algorithms will be affected by the eigenvalue spread of the autocorrelation matrix of the input signal. Because the stability of adaptive filtering algorithm is an important indicator for verifying the algorithm, so inspired by the work in [9, 13], we investigate a nonlinear spline adaptive filtering algorithm based on normalised least mean square in this paper. This algorithm is called SAF-NLMS. In order to study the theoretical aspects of the proposed SAF-NLMS algorithm, our paper also explores into its on-line adaptation, computational analysis and convergence properties.

The rest of the paper is organized as follows. In the following section, the proposed SAF-NLMS algorithm is explained. Section 3 presents a theoretical proof of the convergence and the computational complexity properties of the SAF-NLMS architecture and Sect. 4 shows some experimental results. Finally Sect. 5 concludes the work.

2 Proposed SAF-NLMS Algorithm

In this section, we derive the SAF-NLMS algorithm. One thing that needs to be made clear of the relationship between adaptive filtering algorithms and neural network models is that the ADALINE model is equivalent to the finite impulse response (FIR) filter, since they are comprised by a linear combiner whose parameters are updated by the LMS rule [25, 26]. The spline adaptive filter shown in Fig. 1 is essentially a linear nonlinear network, where in the linear network is a FIR filter and the nonlinear network consists of an adaptive look-up table followed by a spline interpolation network. In the figure, x(n) is the input to the controller, s(n) is the output of the linear network and y(n) is the output of the spline filter.

Fig. 1
figure 1

Linear nonlinear network

The output of the linear network is given by

$$\begin{aligned} s(n)=\mathbf{w}^{\mathrm{T}}(n)\mathbf{x}(n) \end{aligned}$$
(1)

where \(\mathbf{w}(n)=\left[ {w_0 ,w_1 , \ldots , w_{N-1} } \right] \) is the adaptive weight vector and \(\mathbf{x}(n)=\left[ {x(n), x(n-1), \ldots , x(n-N+1)} \right] \) is the tap delayed input signal vector with N as the length of the tap delay line. s(n) and y(n) are related using a nonlinear activation function, which is determined using the span index i and the local parameter u, where \(u\in \left[ {0,1} \right] \).

In the simple case of uniform spacing of knots and referring to the top of Fig. 2, we constrain the control point abscissas to be equidistant and, most important, not adaptable. Moreover, for the sake of efficiency, another constraint is imposed on the control points, forcing the sampling interval to be centered on the x-axis origin (see Fig. 3). In the general case, given Q equispaced control points, the spline curve results as a polynomial interpolation through Q-1 adjacent spans. Q is the total number of control points in the activation function. The local parameter is computed as

$$\begin{aligned} u(n)=\frac{s(n)}{\Delta x}-\left\lfloor {\frac{s(n)}{\Delta x}} \right\rfloor \end{aligned}$$
(2)

and the span index is obtained by

$$\begin{aligned} i=\left\lfloor {\frac{s(n)}{\Delta x}} \right\rfloor +\frac{Q-1}{2} \end{aligned}$$
(3)

where \(\Delta x<0.2977\) [20] is the gap between the control points and \(\left\lfloor \cdot \right\rfloor \) is the floor operator. The output of the spline adaptive filter is given by

$$\begin{aligned} y(n)=\mathbf{u}^{\mathrm{T}}(n)\mathbf{Cq}_i \,(n) \end{aligned}$$
(4)

where \(\mathbf{u}(n)=\left[ {{\begin{array}{llll} {u^{3}(n),}&{} {u^{2}(n),}&{} {u(n),}&{} 1 \\ \end{array} }} \right] ^{\mathrm{T}}, \mathbf{C}\) is the spline basis matrix. An example of such a basis, suitable in signal processing applications, is Catmul–Rom (CR) spline [19].

$$\begin{aligned} \mathbf{C}_{CR} =\frac{1}{2}\left[ {{\begin{array}{c@{\quad }c@{\quad }c@{\quad }c} {-1}&{} 3&{} {-3}&{} 1 \\ 2&{} {-5}&{} 4&{} {-1} \\ {-1}&{} 0&{} 1&{} 0 \\ 0&{} 2&{} 0&{} 0 \\ \end{array} }} \right] \end{aligned}$$
(5)

and \(\mathbf{q}_i (n)=\left[ {q_i (n), q_{i+1} (n), q_{i+2} (n), q_{i+3} (n)} \right] ^{\mathrm{T}}\) is the control point vector.

Fig. 2
figure 2

Schematic structure of the SAF. Block S1 computes the parameters u and i by (2) and (3), while S2 computes the SAF output through the spline patch determined by S1

Fig. 3
figure 3

Example of \(q_{x,i}\) control points interpolation using a CR-spline function with a fixed step for the x-axes control points

We can derive \(\mathbf{w}\left( {n+1} \right) \) of the SAF-NLMS algorithm, as the solution to the following minimization problem

$$\begin{aligned} \mathop {\min }\limits _{w\left( {n+1} \right) } \left\{ {\frac{1}{2}\left| {d\left( n \right) -y\left( n \right) } \right| ^{2}+\frac{1}{2}\left[ {\mathbf{u}^{\mathrm{T}}\left( n \right) \mathbf{u}\left( n \right) } \right] \left\| {\mathbf{w}\left( {n+1} \right) -\mathbf{w}\left( n \right) } \right\| ^{2}} \right\} \end{aligned}$$
(6)

where \(\left| \cdot \right| \) is the absolute value operation and \(\left\| \cdot \right\| \) is the Euclidean norm of a vector.

Let the derivative of the formula (6) with respect to \(\mathbf{w}\left( {n+1} \right) \) equal to zero, i.e.,

$$\begin{aligned} -e\left( n \right) \frac{\partial y\left( n \right) }{\partial \mathbf{w}\left( {n+1} \right) }+\left[ {\mathbf{u}^{\mathrm{T}}\left( n \right) \,\mathbf{u}\left( n \right) } \right] \left[ {\mathbf{w}\left( {n+1} \right) -\mathbf{w}\left( n \right) } \right] =0 \end{aligned}$$
(7)

So

$$\begin{aligned} \mathbf{w}\left( {n+1} \right) =\mathbf{w}\left( n \right) +\frac{e\left( n \right) }{\mathbf{u}^{\mathrm{T}}\left( n \right) \,\mathbf{u}\left( n \right) }\frac{\partial y\left( n \right) }{\partial \mathbf{w}\left( {n+1} \right) } \end{aligned}$$
(8)

where \(e\left( n \right) =d\left( n \right) -y\left( n \right) \).

Further, the updating rule of the weight vector of the SAF-NLMS algorithm is obtained, i.e.,

$$\begin{aligned} \mathbf{w}\left( {n+1} \right) =\mathbf{w}\left( n \right) +\mu _w \left( n \right) \frac{e\left( n \right) }{\varepsilon +\mathbf{u}^{\mathrm{T}}\left( n \right) \mathbf{u}\left( n \right) }\frac{1}{\Delta x}{\dot{\mathbf{u}}}^{\mathrm{T}}\left( n \right) \mathbf{Cq}_i \left( n \right) \mathbf{x}\left( n \right) \end{aligned}$$
(9)

where \({\dot{\mathbf{u}}} \left( n \right) ={\partial \mathbf{u}}/{\partial \hbox {u}}=\left[ {3u^{2}\left( n \right) , _ 2u\left( n \right) , _ 1, _ 0} \right] ^{\mathrm{T}}\), \(\mu _w \left( n \right) \) is a step-size to control the convergence performance, and \(\varepsilon \)is a small positive constant to prevent numerical instabilities in case of a vanishingly small \(\mathbf{u}^{\mathrm{T}}\left( n \right) \mathbf{u}\left( n \right) \).

Similar to Eq. (6), we can derive \(\mathbf{q}_i \left( {n+1} \right) \) of the SAF-NLMS algorithm, as the solution to the following minimization problem:

$$\begin{aligned} \mathop {\min }\limits _{w\left( {n+1} \right) } \left\{ {\frac{1}{2}\left| {d\left( n \right) -y\left( n \right) } \right| ^{2}+\frac{1}{2}\left[ {\mathbf{u}^{\mathrm{T}}\left( n \right) \,\mathbf{u}\left( n \right) } \right] \left\| {\mathbf{q}_i \left( {n+1} \right) -\mathbf{q}_i \left( n \right) } \right\| ^{2}} \right\} \end{aligned}$$
(10)

Let the derivative of the control point error vector (10) with respect to \(\mathbf{q}_i \left( {n+1} \right) \) equal to zero, i.e.,

$$\begin{aligned} -e\left( n \right) \frac{\partial y\left( n \right) }{\partial \mathbf{q}_i \left( {n+1} \right) }+\left[ {\mathbf{u}^{\mathrm{T}}\left( n \right) \,\mathbf{u}\left( n \right) } \right] \left[ {\mathbf{q}_i \left( {n+1} \right) -\mathbf{q}_i \left( n \right) } \right] =0 \end{aligned}$$
(11)

So

$$\begin{aligned} \mathbf{q}_i \left( {n+1} \right) =\mathbf{q}_i \left( n \right) +\frac{e\left( n \right) }{\mathbf{u}^{\mathrm{T}}\left( n \right) \,\mathbf{u}\left( n \right) }\frac{\partial y\left( n \right) }{\partial \mathbf{q}_i \left( {n+1} \right) } \end{aligned}$$
(12)

Further, the updating rule of the weight vector of the SAF-NLMS algorithm is obtained, i.e.,

$$\begin{aligned} \mathbf{q}_i \left( {n+1} \right) =\mathbf{q}_i \left( n \right) +\mu _q \left( n \right) \frac{e\left( n \right) }{\varepsilon +\mathbf{u}^{\mathrm{T}}\left( n \right) \,\mathbf{u}\left( n \right) }{} \mathbf{C}^{\mathrm{T}}\mathbf{u}\,\left( n \right) \end{aligned}$$
(13)

where \(\mu _q \left( n \right) \) is a step-size to control the convergence performance, and \(\varepsilon \) is a small positive constant to prevent numerical instabilities in case of a vanishingly small \(\mathbf{u}^{\mathrm{T}}\left( n \right) \mathbf{u}\left( n \right) \).

Based on above analysis, a summary of the proposed SAF-NLMS algorithm can be found in Table 1.

Table 1 The SAF-NLMS algorithm

3 Performance of the SAF-NLMS Algorithm

In this section, we provide the statistical mean behavior of the SAF-NLMS algorithm in (9) and (13) in the Gaussian case. The analysis is performed under the NLMS independence theory [27, 28]. This means that, for sufficiently small learning rates, the linear filter weights and spline control points can be considered statistically independent of the input sequence. Moreover, for very small learning rates, the fluctuations of free parameters around their mean can be considered negligible [23]. In addition, the coupling effect between the two learning procedures can be neglected for sufficiently small learning rates.

3.1 Computational Analysis

Compared to the SAF-LMS algorithm, the SAF-NLMS algorithm is proposed by introducing an additional concept. Normalised operation is used in the iterative formula \(\mathbf{w}\left( n \right) \) and \(\mathbf{q}_i \left( n \right) \), respectively. So, the computational complexity of SAF-NLMS algorithm is more complex than that of the SAF-LMS algorithm.

3.2 Convergence Analysis

The conditions under which the update rules of the proposed scheme converge are derived in this section. The Taylor series expansion of the error signal \(\hbox {e}\left( {n+1} \right) \)is given by

$$\begin{aligned} e\left( {n+1} \right) =e\left( n \right) +\frac{\partial e\left( n \right) }{\partial \mathbf{w}^{T}\left( n \right) }\Delta \mathbf{w}\left( n \right) +\hbox {h.o.t} \end{aligned}$$
(14)

where h.o.t. is the higher order terms in the Taylor series expansion and \(\Delta \mathbf{w}\left( n \right) =\mathbf{w}\left( {n+1} \right) -\mathbf{w}\left( n \right) \).

Now, we derive

$$\begin{aligned} \frac{\partial e\left( n \right) }{\partial \mathbf{w}^{\mathrm{T}}\left( n \right) }=-\frac{1}{\Delta x}{\dot{\mathbf{u}}}^{\mathrm{T}}\left( n \right) \mathbf{Cq}_i \left( n \right) \mathbf{x}\left( n \right) \end{aligned}$$
(15)

and

$$\begin{aligned} \Delta \mathbf{w}\left( n \right) =\mu _w \left( n \right) \frac{e\left( n \right) }{\varepsilon +\mathbf{u}^{\mathrm{T}}\left( n \right) \mathbf{u}\left( n \right) }\frac{1}{\Delta x}{\dot{\mathbf{u}}}^{\mathrm{T}}\left( n \right) \mathbf{Cq}_i \left( n \right) \mathbf{x}\left( n \right) \end{aligned}$$
(16)

Substituting (15) and (16) in (14), we can obtain after simple manipulations

$$\begin{aligned} e\left( {n+1} \right) =\left[ {1-\frac{\mu _w \left( n \right) }{\varepsilon +\left\| {\mathbf{u}\left( n \right) } \right\| ^{2}}} \right] \left[ {\frac{1}{\Delta x}{\dot{\mathbf{u}}}^{\mathrm{T}}\left( n \right) \mathbf{Cq}_i \left( n \right) } \right] ^{2}\left\| {\mathbf{x}\left( n \right) } \right\| ^{2}e\left( n \right) \end{aligned}$$
(17)

In order to ensure the convergence of the algorithm, we desire that the norm of the error \(\hbox {e}\left( {n+1} \right) \) is not greater than the norm of the right side of (17), assuring the uniform convergence, that is

$$\begin{aligned} \left| {e\left( {n+1} \right) } \right| \le \left\{ {1-\frac{\mu _w \left( n \right) }{\varepsilon +\left\| {\mathbf{u}\left( n \right) } \right\| ^{2}}\left[ {\frac{1}{\Delta x}{\dot{\mathbf{u}}}^{\mathrm{T}}\left( n \right) \mathbf{Cq}_i \left( n \right) } \right] ^{2}\left\| {\mathbf{x}\left( n \right) } \right\| ^{2}} \right\} \left| {e\left( n \right) } \right| \end{aligned}$$
(18)

This aim is reached if the following relation holds

$$\begin{aligned} \left| {1-\frac{\mu _w \left( n \right) }{\varepsilon +\left\| {\mathbf{u}\left( n \right) } \right\| ^{2}}\left[ {\frac{1}{\Delta x} {\dot{\mathbf{u}}}^{\mathrm{T}}\left( n \right) \mathbf{Cq}_i \left( n \right) } \right] ^{2}\left\| {\mathbf{x}\left( n \right) } \right\| ^{2}} \right| <1 \end{aligned}$$
(19)

that implies the following bound on the choice of the learning rate \(\mu _w \left( n \right) \)

$$\begin{aligned} 0<\mu _w \left( n \right) <\frac{2\left[ {\varepsilon +\left\| {\mathbf{u}\left( n \right) } \right\| ^{2}} \right] }{\left[ {\frac{1}{\Delta x}{\dot{\mathbf{u}}}^{\mathrm{T}}\left( n \right) \mathbf{Cq}_i \left( n \right) } \right] ^{2}\left\| {\mathbf{x}\left( n \right) } \right\| ^{2}} \end{aligned}$$
(20)

In order to stabilize the expression in (20) due to unsatisfactory statistics for nonlinear and nonstationary input signals, an adaptable regularizing term \(\delta _w \left( n \right) \) can be added. So the learning rate is chosen as

$$\begin{aligned} 0<\mu _w \left( n \right) <\frac{2\left[ {\varepsilon +\left\| {\mathbf{u}\left( n \right) } \right\| ^{2}} \right] }{\left[ {\frac{1}{\Delta x}{\dot{\mathbf{u}}}^{\mathrm{T}}\left( n \right) \mathbf{Cq}_i \left( n \right) } \right] ^{2}\left\| {\mathbf{x}\left( n \right) } \right\| ^{2}+\delta _w \left( n \right) } \end{aligned}$$
(21)

The regularizing term \(\delta _w \left( n \right) \) can be adapted using the method in [19].

$$\begin{aligned} \delta _w \left( {n+1} \right) =\delta _w \left( n \right) -\eta _w \frac{\left[ {\frac{1}{\Delta x}{\dot{\mathbf{u}}}^{\mathrm{T}}\left( n \right) \mathbf{Cq}_i \left( n \right) } \right] ^{2}e\left( n \right) e\left( {n-1} \right) \mathbf{x}^{\mathrm{T}}\left( n \right) \mathbf{x}\left( {n-1} \right) }{\left[ {\frac{1}{\Delta x}{\dot{\mathbf{u}}}^{\mathrm{T}}\left( n \right) \mathbf{Cq}_i \left( n \right) } \right] ^{2}\left\| {\mathbf{x}\left( n \right) } \right\| ^{2}+\delta _w \left( {n-1} \right) ^{2}} \end{aligned}$$
(22)

where \(\eta _w\) is the learning rate.

In a similar way, we can derive a bound on \(\mu _q \left( n \right) \). From the Taylor series expansion of the error \(\hbox {e}\left( {n+1} \right) \) around the instant n, stopped at the first order, we obtain:

$$\begin{aligned} e\left( {n+1} \right) =e\left( n \right) +\frac{\partial e\left( n \right) }{\partial \mathbf{q}_i^\mathrm{T} \left( n \right) }\Delta \mathbf{q}_i \left( n \right) +\hbox {h.o.t} \end{aligned}$$
(23)

and the equations

$$\begin{aligned} \frac{\partial e\left( n \right) }{\partial \mathbf{q}_i^\mathrm{T} \left( n \right) }=-\mathbf{u}\left( n \right) \mathbf{C} \end{aligned}$$
(24)

and

$$\begin{aligned} \Delta \mathbf{q}_i \left( n \right) =\mu _q \left( n \right) \frac{e\left( n \right) }{\varepsilon +\mathbf{u}^{\mathrm{T}}\left( n \right) \mathbf{u}\left( n \right) }{} \mathbf{C}^{\mathrm{T}}{} \mathbf{u}\left( n \right) \end{aligned}$$
(25)

Substituting (24) and (25) in (23), we can obtain after simple manipulations

$$\begin{aligned} e\left( {n+1} \right) =\left[ {1-\frac{\mu _q \left( n \right) }{\varepsilon +\left\| {\mathbf{u}\left( n \right) } \right\| ^{2}}\left[ {\mathbf{C}^{\mathrm{T}}{} \mathbf{u}\left( n \right) } \right] ^{2}} \right] e\left( n \right) \end{aligned}$$
(26)

In order to ensure the convergence of the algorithm, imposing the uniform convergence of (26) as done in (17), we obtain

$$\begin{aligned} \left| {\left[ {1-\frac{\mu _q \left( n \right) }{\varepsilon +\left\| {\mathbf{u}\left( n \right) } \right\| ^{2}}\left[ {\mathbf{C}^{\mathrm{T}}{} \mathbf{u}\left( n \right) } \right] ^{2}} \right] } \right| <1 \end{aligned}$$
(27)

that implies the following bound on the choice of the learning rate \(\mu _q \left( n \right) \).

$$\begin{aligned} 0<\mu _q \left( n \right) <\frac{2\left[ {\varepsilon +\left\| {\mathbf{u}\left( n \right) } \right\| ^{2}} \right] }{\left[ {\mathbf{C}^{\mathrm{T}}\mathbf{u}\left( n \right) } \right] ^{2}} \end{aligned}$$
(28)

4 Simulation Results

This section presents simulations in the context of system identification to illustrate the accuracy of the SAF-NLMS algorithm. The computer platform is notebook (et.al, Acer notebook, Intel (R) Core (TM) i5-2430M, @ 2.40 GHz and Memory is 4.00 GHz) and software is Matlab R2009b.

4.1 Artificial Data Sets

The length of the unknown coefficient vector \(\mathbf{w}^{o}=\left[ {0.6, -0.4, 0.25, -0.15, 0.1} \right] ^{\mathrm{T}}\) and a nonlinear memoryless target function implemented by a 23-points length LUT \(\mathbf{q}_{0 }\) and interpolated by a uniform third degree CR-spline with an interval sampling \(\Delta x=0.2\) defined as \(\mathbf{q}_{0}\) = [−2.2, −2, −1.8, ..., −1, −0.8, −0.91, 0.42, −0.01, −0.1, 0.1, −0.15, 0.58, 1.2, 1, 1.2, ..., 2, 2.2].

Compared to the SAF-LMS algorithm, the SAF-NLMS algorithm is proposed by introducing an additional concept. The normalised operation is used in the iterative formula \(\mathbf{w}\left( n \right) \) and \(\mathbf{q}_i \left( n \right) \), respectively. So, the computational complexity of SAF-NLMS algorithm is complexity than that of the SAF-LMS algorithm.

Experiment 1

The input signal \(\mathbf{x}\left( n \right) \) consists in 100,000 samples of the signal generated by \(\mathbf{x}\left( n \right) \). \(\mathbf{x}\left( n \right) \) is a zero mean white Gaussian noise with unitary variance. Experiments were conducted with \(\lambda =0\). \(\eta _w =0.01\) and \(\mu _w =\mu _q =0.025\). The input signals and noise were generated by a white zero-mean Gaussian random sequence. The results are as shown in Figs. 4, 5 and 6.

Experiment 2

The input signal \(\mathbf{x}\left( n \right) \) consists in 100,000 samples of the signal generated by \(\mathbf{x}\left( n \right) =\lambda \mathbf{x}\left( {n-1} \right) +\sqrt{1-\lambda ^{2}}\tau \left( n \right) \). \(\tau \left( n \right) \) is a zero mean white Gaussian noise with unitary variance and \(0\le \lambda <1\) is a parameter that determines the level of correlation between adjacent samples. Experiments were conducted with \(\lambda =0.9\). \(\eta _w =0.01\) and \(\mu _w =\mu _q =0.025\). The input signals and noise were generated by a white zero-mean Gaussian random sequence. The results are as shown in Figs. 7, 8 and 9.

Fig. 4
figure 4

The profile of the model and adapted spline for white input with 20 dB

Fig. 5
figure 5

Comparison of theoretical vs. simulated mean behavior of the first four linear filter taps for white input with 20 dB

Fig. 6
figure 6

Learning curves for white input with 20 dB

Fig. 7
figure 7

The profile of the model and adapted spline for color input with 30 dB. (Color figure online)

Fig. 8
figure 8

Comparison of theoretical versus simulated mean behavior of the first four linear filter taps for color input with 30 dB. (Color figure online)

Fig. 9
figure 9

Learning curves for color input with 30 dB. (Color figure online)

Fig. 10
figure 10

The input and output variables in a liquid-satured steam heat exchanger at [29]

Fig. 11
figure 11

Learning curves for real dataset at [29]

4.2 Real Dataset

Experiment 3

In order to test the performance of our SAF-NLMS algorithm, a real dataset (No.97-002: Liquid-saturated steam heat exchanger) we picked from the DaISy repository at [29]. The process is a liquid-satured steam heat exchanger, where water is heated by pressurized saturated steam through a copper tube. The output variables are the outlet liquid temperature [see Fig. 10(top)]. The input variables are the liquid flow rate [see Fig. 10(bottom)]. Experiments were conducted with \(\eta _w =0.01\) and \(\mu _w =\mu _q =0.025\). The results of nonlinear system identification are as shown in Fig. 11.

Figures 4 and 7 show the profile of the model and adapted spline with a signal to noise ratio SNR \(=\) 20 dB for white input and 30 dB for color input, respectively. The behavior of the SAF-LMS algorithm (green solid lines), the SAF-NLMS algorithm (blue dashed lines), compared with the theoretical recursion (red solid lines). Those figures show that the SAF-NLMS algorithm has an excellent matching between theory and the averaged weights learned after 100 runs. Besides, the SAF-NLMS algorithm outperforms the SAF-LMS algorithm in this condition.

Figures 5 and 8 show the behavior of the first four linear filter taps for the behavior of the SAF-LMS algorithm (green solid lines), the SAF-NLMS algorithm (blue dashed lines), compared with the theoretical recursion in (9) (red solid lines) with a signal to noise ratio SNR=20 dB for white input and with a signal to noise ratio SNR=30 dB for color input, respectively. Those figures show that the SAF-NLMS algorithm has an excellent matching between theory and the averaged weights learned after 100 runs. Besides, the SAF-NLMS algorithm outperforms the SAF-LMS algorithm in this condition.

Figures 7 and 9 show the MSE learning curves for the SAF-LMS algorithm (blue solid lines) and the proposed SAF-NLMS algorithm (green solid lines) for white input signals with a signal to noise ratio SNR = 20 dB for white input and with a signal to noise ratio SNR =30 dB for color input, respectively. From Figs. 7 and 9, the SAF-NLMS algorithm has a better tracking capability than that of the SAF-LMS algorithm.

Figure 11 shows the MSE learning curves for the SAF-LMS algorithm (blue solid lines) and the proposed SAF-NLMS algorithm (green solid lines) for real datasets. From Fig. 11, the SAF-NLMS algorithm has a better tracking capability than that of the SAF-LMS algorithm.

5 Conclusions

An SAF-NLMS algorithm is developed in this paper that addresses eigenvalue spread of the input signal for nonlinear system identification and conducted performance analysis. The SAF-NLMS algorithm is proposed on the basis of the normalised least mean square (NLMS) approach and the value range of the learning rate in this algorithm is specified. Theoretical analysis and experimental simulations prove the SAF-NLMS algorithm to be a good potential value in nonlinear system identification or nonlinear system analysis.