Step 1 | Let at stage k, k ≥ N, the parameter vector estimate Ŵ(k − 1), the scale estimates s(k − 1), …, s(k − L + 1), the error signals e(k − 1), …, e(k − L + 1) and the matrix P(k − 1) from the (L − 1) previous stages are known. |
Step 2 | Take the current input, x(k), and form the regression vector in (3) X T(k) = {x(k), x(k − 1), …, x(k − N + 1)} of length N, assuming that the (N − 1) most recent inputs are given. |
Step 3 | Take the current output, d(k), and calculate the current error signal, e(k), from (11) using X(k) from step 2, and define the current data frame E L = {e(k), e(k − 1), …, e(k − L + 1)} of length L < N, assuming that the (L − 1) most recent errors are previously stored. |
Step 4 | Calculate the normalised error e(k)/s(k − 1) and the winsorised error ψ(e(k)/s(k − 1)) from (4) with σ = 1; then calculate the weight ω(k) in (25) by using (8) with W 0 = Ŵ(k − 1) and s = s(k − 1); finally, calculate the scale factor s(k) from (25). |
Step 5 | Define the current data frame of normalised residuals E NL = {e(k)/s(k), e(k − 1)/s(k − 1), …, e(k − L + 1)/s(k − L + 1)} from steps 1, 3 and 4; then calculate the robust discrimination function, Q(k), in (28), using the data set E NL ; finally, calculate the VFF, ρ(k), from (29) and (30). |
Step 6 | Calculate the winsorised error, ψ(e(k)/s(k)), from (4), with σ = 1 and by using e(k) from step 3 and s(k) from step 4; then calculate the weight, ω(k), in (8) by using (4) with W 0 = Ŵ(k − 1) and s = s(k). |
Step 7 | Calculate the matrix, M(k), in (12) with ρ = ρ(k) from step 5; then calculate the matrix, K(k), in (12) by using X(k) from step 2 and ω(k) from step 6. |
Step 8 | Calculate the parameter vector update, Ŵ(k), in (10), by using d(k) and e(k) from step 3, as well as K(k) from step 7. |
Step 9 | Calculate the weighting matrix, P(k), in (13) by using M(k) and K(k) from step 7, together with X(k) from step 2. |
Step 10 | Tune the time counter, that is increase the time index, k ← k + 1, and go back to step 2. |