RIM: A Matlab Software Tool for Recursive Identification ... · Aissa Rebai1 Kamel Guesmi2 Boualem...

8
International Journal of Automation and Computing 12(5), October 2015, 482-489 DOI: 10.1007/s11633-015-0905-y RIM: A Matlab Software Tool for Recursive Identification Methods Aissa Rebai 1 Kamel Guesmi 2 Boualem Hemici 1 1 Process Control Laboratory, National Polytechnic School of Algiers, El Harrach, Algiers 16200, Algeria 2 CReSTIC, IUT of Troyes, 09 Rode of Quebec, Troyes 10026, France Abstract: This paper introduces a recursive identification methods toolbox (called RIM) running under Matlab environment for dynamic system identification from available data. The RIM includes many methods which are generally used. The RIM helps users to validate the theoretical results and to carry out comparison between identifications methods without the need of algorithms programming. Furthermore, the RIM can be used as an education platform to study the identification parameters effect on model validity and results accuracy. To show its performance and capability, the RIM is evaluated through many application examples. Keywords: Matlab graphical user interfaces (GUI), system identification, recursive methods, multi-innovation algorithms, auxiliary model algorithms, model validation. 1 Introduction In dynamic system theory, the forward problem is the system behavior description using mathematical models. These expressions can be established using analytical devel- opment and physical laws, which is difficult in most cases. To deal with this problem, the system behavior can be ap- proximated using the identification theory [1, 2] . In this context, there is several methods of identifica- tion and the most used are those called recursive meth- ods. Indeed, they are frequently used because of their high performance and capability to approximate a large class of systems [36] . In order to simplify the use of these techniques, sev- eral toolboxes and graphical user interfaces (GUI) were implemented in Matlab environment and we can men- tion, frequency domain system identification toolbox [7] , the continuous-time system identification (CONTSID) toolbox [8] , recursive identification algorithms library [9] , the mathworks system identification toolbox [10] , the interac- tive tool for system identification education (ITSIE) [11] , the computer aided program for time-series analysis and iden- tification of noisy systems (CAPTAIN) toolbox [12] , and the university of newcastle identification toolbox (UNIT) [13] . However, these tools are, in most cases, not easy to use, commercial and need a minimum of information on Matlab environment manipulations. Furthermore, these tools are relatively limited to specific methods and do not allow the comparison between the main identification techniques. In this paper, we present RIM which is an identification platform that includes the main recursive methods. This platform is developed using Matlab GUI [14] , and is non- Regular paper Manuscript received March 15, 2014; accepted October 23, 2014 Recommended by Associate Editor Sheng Chen c Institute of Automation, Chinese Academy of Science and Springer-Verlag Berlin Heidelberg 2015 commercial and freely available. RIM possesses the advan- tage to be easy to use by beginners and students to validate the theoretical results without any need to learn about Mat- lab programming environment and manipulations. The paper is organized as follows. In Sections 2 and 3, the main recursive identification methods are presented. Description of the RIM GUI is given in Section 4. Applica- tion examples are discussed in Section 5. 2 Recursive identification algorithms The identification problem can take the form as y(t)= θ T ϕ(t)+ e(t) (1) where y(t) is the system output, θ is the parameter vector to be estimated, ϕ is the observations vector, and e(t) is a white noise with zero mean value and constant variance. In this paper, the superscript T denotes the transpose. The dimensions of ϕ and θ depend on the model choice. In this section, we give a survey on the most known al- gorithms used in systems identification. 2.1 Stochastic gradient (SG) algorithm From (1), we define the criterion J1(t) as min ˆ θ(t) J1(t)=E{||y(t) ˆ θ T (t)ϕ(t)|| 2 }. (2) Minimizing this criterion and using the stochastic gradient search principle, we obtain the stochastic gradient identifi- cation algorithm [15] ˆ θ(t)= ˆ θ(t 1) + ϕ(t) r(t) y(t) ˆ θ T (t 1)ϕ(t) (3) r(t)= r(t 1) + ||ϕ(t)|| 2 , r(0) = 1 (4) where

Transcript of RIM: A Matlab Software Tool for Recursive Identification ... · Aissa Rebai1 Kamel Guesmi2 Boualem...

Page 1: RIM: A Matlab Software Tool for Recursive Identification ... · Aissa Rebai1 Kamel Guesmi2 Boualem Hemici1 1 Process Control Laboratory, National Polytechnic School of Algiers, El

International Journal of Automation and Computing 12(5), October 2015, 482-489

DOI: 10.1007/s11633-015-0905-y

RIM: A Matlab Software Tool for Recursive

Identification Methods

Aissa Rebai1 Kamel Guesmi2 Boualem Hemici11Process Control Laboratory, National Polytechnic School of Algiers, El Harrach, Algiers 16200, Algeria

2CReSTIC, IUT of Troyes, 09 Rode of Quebec, Troyes 10026, France

Abstract: This paper introduces a recursive identification methods toolbox (called RIM) running under Matlab environment for

dynamic system identification from available data. The RIM includes many methods which are generally used. The RIM helps

users to validate the theoretical results and to carry out comparison between identifications methods without the need of algorithms

programming. Furthermore, the RIM can be used as an education platform to study the identification parameters effect on model

validity and results accuracy. To show its performance and capability, the RIM is evaluated through many application examples.

Keywords: Matlab graphical user interfaces (GUI), system identification, recursive methods, multi-innovation algorithms, auxiliary

model algorithms, model validation.

1 Introduction

In dynamic system theory, the forward problem is the

system behavior description using mathematical models.

These expressions can be established using analytical devel-

opment and physical laws, which is difficult in most cases.

To deal with this problem, the system behavior can be ap-

proximated using the identification theory[1, 2].

In this context, there is several methods of identifica-

tion and the most used are those called recursive meth-

ods. Indeed, they are frequently used because of their high

performance and capability to approximate a large class of

systems[3−6].

In order to simplify the use of these techniques, sev-

eral toolboxes and graphical user interfaces (GUI) were

implemented in Matlab environment and we can men-

tion, frequency domain system identification toolbox[7],

the continuous-time system identification (CONTSID)

toolbox[8], recursive identification algorithms library[9], the

mathworks system identification toolbox[10], the interac-

tive tool for system identification education (ITSIE)[11], the

computer aided program for time-series analysis and iden-

tification of noisy systems (CAPTAIN) toolbox[12], and the

university of newcastle identification toolbox (UNIT)[13].

However, these tools are, in most cases, not easy to use,

commercial and need a minimum of information on Matlab

environment manipulations. Furthermore, these tools are

relatively limited to specific methods and do not allow the

comparison between the main identification techniques.

In this paper, we present RIM which is an identification

platform that includes the main recursive methods. This

platform is developed using Matlab GUI[14], and is non-

Regular paperManuscript received March 15, 2014; accepted October 23, 2014Recommended by Associate Editor Sheng Chenc© Institute of Automation, Chinese Academy of Science and

Springer-Verlag Berlin Heidelberg 2015

commercial and freely available. RIM possesses the advan-

tage to be easy to use by beginners and students to validate

the theoretical results without any need to learn about Mat-

lab programming environment and manipulations.

The paper is organized as follows. In Sections 2 and

3, the main recursive identification methods are presented.

Description of the RIM GUI is given in Section 4. Applica-

tion examples are discussed in Section 5.

2 Recursive identification algorithms

The identification problem can take the form as

y(t) = θTϕ(t) + e(t) (1)

where y(t) is the system output, θ is the parameter vector

to be estimated, ϕ is the observations vector, and e(t) is a

white noise with zero mean value and constant variance. In

this paper, the superscript T denotes the transpose. The

dimensions of ϕ and θ depend on the model choice.

In this section, we give a survey on the most known al-

gorithms used in systems identification.

2.1 Stochastic gradient (SG) algorithm

From (1), we define the criterion J1(t) as

minθ(t)

J1(t) = E{||y(t) − θT(t)ϕ(t)||2}. (2)

Minimizing this criterion and using the stochastic gradient

search principle, we obtain the stochastic gradient identifi-

cation algorithm[15]

θ(t) = θ(t − 1) +ϕ(t)

r(t)

[y(t) − θT(t − 1)ϕ(t)

](3)

r(t) = r(t − 1) + ||ϕ(t)||2, r(0) = 1 (4)

where

Page 2: RIM: A Matlab Software Tool for Recursive Identification ... · Aissa Rebai1 Kamel Guesmi2 Boualem Hemici1 1 Process Control Laboratory, National Polytechnic School of Algiers, El

A. Rebai et al. / RIM: A Matlab Software Tool for Recursive Identification Methods 483

||X||2 = tr[XXT

].

2.2 Recursive least squares (RLS) algo-rithm

For this algorithm, the criterion J2(t) is used:

minθ(t)

J2(t) =1

2

t∑i=1

[y(i) − θTϕ(i)]2. (5)

Minimizing this criterion, we obtain

θ(t) = θ(t − 1) + F (t)ϕ(t)ε(t) (6)

with

ε(t) = y(t) − θT(t − 1)ϕ(t)

and

F (t) = F (t − 1) − F (t − 1)ϕ(t)ϕT(t)F (t − 1)

1 + ϕT(t)F (t − 1)ϕ(t)(7)

where F (t) is the adaptation gain and ε(t) is the prediction

error.

The formula of the adaptation gain is generalized by in-

troducing factors λ1(t), λ2(t)[16] and it is given by

F (t) =1

λ1(t)

(F (t − 1) − F (t − 1)ϕ(t)ϕT(t)F (t − 1)

λ1(t)λ2(t)

+ ϕT(t)F (t − 1)ϕ(t)

)

(8)

with

0 ≤ λ1(t) ≤ 1 and 0 ≤ λ2(t) ≤ 2.

The effects of λ1(t) and λ2(t) on the adaptation gain are

summarized in Table 1.

Table 1 Effects of λ1(t) and λ2(t)

Adaptation gain λ1(t) and λ2(t) values

Decreasing gain λ1(t) = 1

λ2(t) = 1

Constant forgetting factor λ1(t) = λ1,

0.95 ≤ λ1 ≤ 0.99

λ2(t) = 1

Variable forgetting factor λ1(t) = λ0λ1(t − 1) + 1 − λ0,

0.95 ≤ λ0 ≤ 0.99

λ2(t) = 1

Constant gain λ1(t) = 1

λ2(t) = 0

2.3 Multi-innovation stochastic gradient(MISG) algorithm

The multi-innovation stochastic gradient (MISG) was

proposed in [17], in order to achieve fast convergence rates

and improve the parameter estimation accuracy[18, 19]. The

basic idea of this algorithm is to use not only the current

data {y(t), ϕ(t)} but also the past data {y(t−i), ϕ(t−i), i =

1, 2, · · · , p − 1}, where p is a positive integer denoting the

innovation length.

Define the stacked output vector Y (p, t) and stacked in-

formation matrix φ(p, t) as

Y (p, t) =

⎡⎢⎢⎢⎢⎣

y(t)

y(t − 1)...

y(t − p + 1)

⎤⎥⎥⎥⎥⎦

, φT(p, t) =

⎡⎢⎢⎢⎢⎣

ϕT(t)

ϕT(t − 1)...

ϕT(t − p + 1)

⎤⎥⎥⎥⎥⎦

.

Minimize the quadratic criterion defined by

minθ(t)

J3(t) = ||Y (p, t) − φT(p, t)θ(t)||2. (9)

Finally, the multi-innovation stochastic gradient is obtained

as

θ(t) = θ(t − 1) +φ(p, t)

r(t)

[Y (p, t) − φ(p, t)θ(t − 1)

](10)

r(t) = r(t − 1) + ||ϕ(t)||2, r(0) = 1 (11)

φ(p, t) = [ϕ(t), ϕ(t − 1), · · · , ϕ(t − p + 1)] (12)

Y (p, t) = [y(t), y(t − 1), · · · , y(t − p + 1)]T . (13)

When p = 1, the MISG algorithm reduces to the SG algo-

rithm.

2.4 Multi-innovation least squares (MILS)algorithm

The minimized criterion for this algorithm is given by

minθ(t)

J4(t) =1

2

t∑i=1

[y(i) − φ(p, i)Tθ]2. (14)

Then, the multi-innovation recursive identification algo-

rithm is obtained[19, 20] as

θ(t) = θ(t − 1) + L(t)[Y (p, t) − φT(p, t)θ(t − 1)

](15)

L(t) = F (t − 1)φ(p, t)[Ip + φT(p, t)F (t − 1)φ(p, t)

]−1

(16)

F (t) = F (t − 1) − L(t)φT(p, t)F (t − 1) (17)

φ(p, t) = [ϕ(t), ϕ(t − 1), · · · , ϕ(t − p + 1)] (18)

Y (p, t) = [y(t), y(t − 1), · · · , y(t − p + 1)]T . (19)

When p = 1, the MILS algorithm reduces to the RLS algo-

rithm.

3 Recursive identification techniques

The recursive identification techniques are divided into

two categories. The first one is based on the whitening of

the prediction error. The second is based on the uncorre-

lation of observation vector and prediction error[21, 22]. In

this section, we give a survey on the most known techniques

of these two categories.

For the first category, the four well known methods are

the RLS, extended least squares (ELS), generalized least

squares (GLS) and output error with extended prediction

model (OEEPM).

Page 3: RIM: A Matlab Software Tool for Recursive Identification ... · Aissa Rebai1 Kamel Guesmi2 Boualem Hemici1 1 Process Control Laboratory, National Polytechnic School of Algiers, El

484 International Journal of Automation and Computing 12(5), October 2015

3.1 Recursive least squares

The selected model of this technique is autoregressive

with external input (ARX) given by

A(q−1)y(t) = q−dB(q−1)u(t) + e(t) (20)

with

A(q−1) = 1 +

nA∑i=1

aiq−i

B(q−1) =

nB∑i=1

biq−i.

Hence, the model of (20) can be written as

y(t) = θTϕ(t) + e(t) (21)

where

θT = [a1, · · · , anA , b1, · · · , bnB ]

ϕT = [−y(t − 1), · · · ,−y(t − nA), u(t − 1 − d), · · · ,

u(t − d − nB)].

3.2 Extended least squares

In this method, the model is autoregressive moving aver-

age with external input (ARMAX) given by

A(q−1)y(t) = q−dB(q−1)u(t) + C(q−1)e(t) (22)

where

C(q−1) = 1 +

nC∑i=1

ciq−i.

From (22), we have

θT = [a1, · · · , anA , b1, · · · , bnB , c1, · · · , cnC ]

ϕT = [−y(t − 1), · · · ,−y(t − nA), u(t − 1 − d), · · · ,

u(t − d − nB), e(t − 1), · · · , e(t − nC)].

We replace e(t) by ε(t) in the observation vector because

e(t) is not observable. Finally, we obtain

θT = [a1, · · · , anA , b1, · · · , bnB , c1, · · · , cnC ]

ϕT = [−y(t − 1), · · · ,−y(t − nA), u(t − 1 − d), · · · ,

u(t − d − nB), ε(t − 1), · · · , ε(t − nC)].

3.3 Generalized least squares

This method is adapted to ARARX models as

A(q−1)y(t) = q−dB(q−1)u(t) +e(t)

C(q−1). (23)

Then, we have

θT = [a1, · · · , anA , b1, · · · , bnB , c1, · · · , cnC ]

ϕT = [−y(t − 1), · · · ,−y(t − nA), u(t − 1 − d), · · · ,

u(t − d − nB),−α(t − 1), · · · ,−α(t − nC)].

The estimated value of α(t) is given by

α(t) = A(q−1)y(t) − q−dB(q−1)u(t). (24)

3.4 Output error with extended predic-tion model

The algorithm of this one is the same as the ELS with

θT = [a1, · · · , anA , b1, · · · , bnB , h1, · · · , hnC ]

ϕT = [−y(t − 1), · · · ,−y(t − nA), u(t − 1 − d), · · · ,

u(t − d − nB), ε(t − 1), · · · , ε(t − nC)]

ci = hi + ai.

For the second category, the 4 main methods are the instru-

mental variable with auxiliary to model (IVAM), output

error with fixed compensator (OEFC), output error with

filtered observations (OEFO) and output error with adap-

tive filtered observations (OEAFO).

3.5 Instrumental variable with auxiliarymodel

For this technique, we have

θT = [a1, · · · , anA , b1, · · · , bnB ]

ϕT = [−yIV (t − 1), · · · ,−yIV (t − nA), u(t − 1 − d), · · · ,

u(t − d − nB)]

where the prediction auxiliary model is defined by

yIV (t) = −nA∑i=1

aiyIV (t − i) +

nB∑i=1

biu(t − d − i). (25)

3.6 Output error with fixed compensator

The disturbed output y(t) is replaced by the prediction

y(t) in the RLS predictor and we obtain

θT = [a1, · · · , anA , b1, · · · , bnB ]

ϕT = [−y(t − 1), · · · ,−y(t − nA), u(t − 1 − d), · · · , u(t−d − nB)].

3.7 Output error with filtered observa-tions

This method is based on the same principle of the pre-

vious one with a filtered observation vector obtained by a

stable filter A0(q−1). Thus,

ε(t) = y(t) − θTϕ(t)

F (t) = F (t − 1) − F (t − 1)ϕf (t)ϕf (t)TF (t − 1)

1 + ϕf (t)TF (t − 1)ϕf (t)

θ(t) = θ(t − 1) + F (t)ϕf (t)ε(t)

with

θT = [a1, · · · , anA , b1, · · · , bnB ]

ϕT = [−y(t − 1), · · · ,−y(t − nA), u(t − 1 − d), · · · ,

u(t − d − nB)]

ϕTf =

1

A0(q−1)ϕT.

Page 4: RIM: A Matlab Software Tool for Recursive Identification ... · Aissa Rebai1 Kamel Guesmi2 Boualem Hemici1 1 Process Control Laboratory, National Polytechnic School of Algiers, El

A. Rebai et al. / RIM: A Matlab Software Tool for Recursive Identification Methods 485

3.8 Output error with adaptive filteredobservations

In this method, the observation vector is filtered by an

estimated filter A(q−1). Hence,

ε(t) = y(t) − θTϕ(t)

F (t) = F (t − 1) − F (t − 1)ϕf (t)ϕf (t)TF (t − 1)

1 + ϕf (t)TF (t − 1)ϕf (t)

θ(t) = θ(t − 1) + F (t)ϕf (t)ε(t)

where

θT = [a1, · · · , anA , b1, · · · , bnB ]

ϕT = [−y(t − 1), · · · ,−y(t − nA), u(t − 1 − d), · · · ,

u(t − d − nB)]

ϕTf = 1

A(q−1)ϕT.

3.9 Auxiliary model identification algo-rithm

This technique was proposed in [20, 23] for output error

moving average (OEMA) system given by

y(t) =B(q−1)

A(q−1)u(t) + D(q−1)e(t). (26)

From (26), we have

y(t) = x(t) + D(q−1)e(t) (27)

with

D(q−1) = 1 +

nD∑i=1

diq−i.

Define the parameter vector

θ =

[θs

θn

]

θTs = [a1, · · · , anA , b1, · · · , bnB ]

θTn = [d1, d2, · · · , anD ]

and the observations vector

ϕ =

[ϕs

ϕn

]

ϕTs = [−x(t − 1), · · · ,−x(t − nA), u(t − 1), · · · , u(t − nB)]

ϕTn = [e(t − 1), · · · , e(t − nD)].

We choose Ba(q−1)/Aa(q−1) as the transfer function of the

auxiliary model and xa(t) as its output. The unknown inner

variables x(t − i) are replaced by xa(t − i), and unmeasur-

able noise terms e(t − i) are replaced by their estimated

residuals ε(t − i).

Finally, we obtain

θT = [a1, · · · , anA , b1, · · · , bnB , d1, · · · , dnD ]

ϕT = [−xa(t − 1), · · · ,−xa(t − nA), u(t − 1), · · · ,

u(t − nB), ε(t − 1), · · · , ε(t − nD)].

For each identification method, one of the previous algo-

rithms described in Section (2) can be used to estimate the

parameter vector.

For validation of the various identified models, the esti-

mations of the normalized autocorrelations RN(i) are cal-

culated. RN(i) is defined for the 1st category of identifica-

tion methods and the whiteness test is

RN(i) =R(i)

R(0), i = 1, 2, · · · , max(nA, nB + d) (28)

with

R(i) =1

N

N∑t=1

ε(t)ε(t − i), R(0) =1

N

N∑t=1

ε2(t). (29)

For the 2nd category, the uncorrelation test is applied and

we have

RN(i) =R(i)√√√√

(1

N

N∑t=1

y2(t)

)(1

N

N∑t=1

ε2(t)

) (30)

with

R(i) =1

N

N∑t=1

ε(t)y(t − i) (31)

where ε(t) is output prediction error, y(t) is system output,

y(t) is model output, and N is data number.

The identified model is valid if |RN(i)| ≤ 2.17√N

. In prac-

tice, the used criterion is |RN(i)| ≤ 0.15[22] .

4 Description of the RIM toolbox

The proposed RIM GUI is developed using tools available

in Matlab/GUI and all algorithms described in Sections 2

and 3 are programmed using Matlab environment in such

way that the user does not need Matlab or any other pro-

gramming language experience.

To start the RIM platform, you have to enter into the

Matlab command line: RIM.

The RIM window appears on the screen as shown in

Fig. 1.

Fig. 1 RIM window

Page 5: RIM: A Matlab Software Tool for Recursive Identification ... · Aissa Rebai1 Kamel Guesmi2 Boualem Hemici1 1 Process Control Laboratory, National Polytechnic School of Algiers, El

486 International Journal of Automation and Computing 12(5), October 2015

In this platform, the user feels free to use classical menu

or buttons. Indeed, in the menu, we set the links of differ-

ent buttons. Furthermore, RIM allows user to save or print

the identification process results in several formats such as

*.m, *.txt and *.doc using the option “Save as · · · ” and

“Print” in the menu. RIM also allows plotting the vari-

ables (identification error, error autocorrelation, etc.) in

external figures. Furthermore, the RIM shows a message

indicating if the model is valid or not based on the values

of the error autocorrelation.

The user can also jump from the identification category

to the other by pressing the button “Next” or “Previous”.

For each button, we set a shortcut such as CTRL+S for the

option “Save as · · · ” , CTRL+P for “Print”, etc.

The use of RIM can be summarized on 3 steps and they

are the main steps of any identification process as shown in

Fig. 2. The first step is the generation of I/O file or data

file. The second is the choice of the techniques to be used

for system identification. And the last one is the selection

of the identification parameters such as the polynomials or-

ders nA, nB and nC , the initial adaptation gain F (0) and

the forgetting factor λ1(t).

Fig. 2 Identification steps

5 Application examples

5.1 Example 1: Identification of a piezo-electric actuator

In order to illustrate the application and the performance

of the RIM GUI, this section discusses the identification of

a piezoelectric actuator (PEA) which is a nonlinear system.

The experimental data used for the identification cor-

responds to the piezoelectric actuator APA-120ML. The

excitation signal is a sinusoidal signal of frequency 50 Hz:

u(t) = 68.5 sin(2π × 50t + 0.44) + 61.5(V).

5.1.1 Identification of ARX model

The piezoelectric actuators are generally modeled by a

second-order system. Therefore, the polynomials orders of

the model are selected as follows: nA = 2, nB = 2, nC = 1

and d = 0. The identification parameters used in this paper

are summarized in Table 2.

Table 2 Identification parameters

Parameter Value

nA 2

nB 2

nC 1

d 0

F (0) 1 × 105

A0 [1 0.3]

λ0 0.97

λ1 0.97

N 2 × 104

The identification results using the traditional RLS

method are shown in Fig. 3. From Fig. 3, the values of

|RN(i)| are all less than 0.15, which means that this model

is valid and the system can be represented by the ARX

model as

y(t) = − a1y(t − 1) − a2y(t − 2) + b1u(t − 1)+

b2u(t − 2) + e(t)

with a1 = −1.0577, a2 = 0.0575, b1 = −17.49 × 10−5 and

b2 = 17.43 × 10−5.

Fig. 3 Identification results using the RLS method

Based on RIM, more information can be illustrated (see

Figs. 4–6) to conclude about the model validity. Fig. 4 rep-

resents a comparison between the physical system response

and the model. It can be seen that the model describes

accurately the real system behavior.

From Fig. 5, the input-output feature indicates that the

hysteresis phenomenon, which is the main property of piezo-

electric actuators and can be described accurately by the

proposed ARX model. From Fig. 6, the maximum relative

error is 5%, which is in the accepted rang.

Page 6: RIM: A Matlab Software Tool for Recursive Identification ... · Aissa Rebai1 Kamel Guesmi2 Boualem Hemici1 1 Process Control Laboratory, National Polytechnic School of Algiers, El

A. Rebai et al. / RIM: A Matlab Software Tool for Recursive Identification Methods 487

Fig. 4 Outputs curves

Fig. 5 Input-output feature

Fig. 6 Identification error

5.1.2 Comparative study

As mentioned before, one of the advantages of RIM is its

capability to carry out a comparison between the various

identification methods based on the normalized autocorre-

lation values. The quantification of results are shown in

Table 3.

The comparison can be carried out by two criteria,

the first one is the autocorrelation boundaries (|RN |max,

|RN |min) for each category. The second one is based on the

choice of the model structure. We compare the values of

|RN |max and |RN |min for both models ARX and ARMAX.

From Table 3, it can be seen that the ELS and the IVAM

methods are more valid than the others and the PEA can

be identified by these two techniques.

Table 3 Comparison between different identification methods

Method |RN |max |RN |min

RLS 3.8665 × 10−4 1.7747 × 10−6

ELS 3.8299 × 10−4 4.5152 × 10−7

GLS 3.8386 × 10−4 4.3394 × 10−6

OEEPM 3.8793 × 10−4 2.0307 × 10−6

IVAM 4.8068 × 10−5 4.7702 × 10−6

OEFC 6.0198 × 10−5 5.1257 × 10−4

OEFO 5.4387 × 10−4 5.1106 × 10−4

OEAFO 0.1160 0.1153

For the second criterion, the |RN |max and |RN |min of the

ELS method are the smallest for the methods based on AR-

MAX structure. For the methods based on ARX structure,

the IVAM has the smallest values of |RN |max and |RN |min.

5.1.3 Effect of identification parameters

RIM also allows user to study the influence of identifi-

cation parameters on the result. For example, in the case

of decreasing gain, the model is valid. But with a constant

gain, the model is not valid. A summary result between the

different cases, presented in Table 1 using the parameters

identification of Table 2, is illustrated in Table 4.

Table 4 Influence of adaptation gain on model validity

Adaptation gain Model validity

Decreasing gain Valid

Constant forgetting factor Not valid

Variable forgetting factor Valid

Constant gain Not valid

5.2 Example 2

Let′s consider the following system

A(q−1)y(t) = B(q−1)u(t) + e(t)

A(q−1) = 1 + a1q−1 + a2q

−2 = 1 − 1.70q−1 + 0.85q−2

B(q−1) = b1q−1 + b2q

−2 = 0.32q−1 + 0.60q−2.

This example can be rewritten as

y(t) = θTϕ(t) + e(t).

The input u(t) is an uncorrelated persistent excitation sig-

nal sequence with zero mean and unit variance, and e(t)

is a white noise sequence with zero mean and variance 0.5.

The data number is chosen as N = 500. Using RIM, the

model parameters are estimated applying traditional RLS

algorithm, MILS algorithm and MISG algorithm. The iden-

tification results for the MILS algorithm with p = 3 are

shown in Fig. 7. The complete results are summarized in

Table 5.

Page 7: RIM: A Matlab Software Tool for Recursive Identification ... · Aissa Rebai1 Kamel Guesmi2 Boualem Hemici1 1 Process Control Laboratory, National Polytechnic School of Algiers, El

488 International Journal of Automation and Computing 12(5), October 2015

Fig. 7 Identification results using the MILS method (p = 3)

Table 5 Identification results of an ARX system

Method a1 a2 b1 b2

RLS (MILS p = 1) −1.6992 0.8491 0.3214 0.6019

MILS p = 3 −1.7008 0.8507 0.3201 0.6002

MISG p = 8 −1.7125 0.8312 0.3291 0.5715

From Table 5, It can be seen that the MILS algorithm

presents better results than the traditional RLS and MISG

algorithms.

5.3 Example 3

This example considers an OEMA system to evaluate the

multi-innovation auxiliary model algorithm performance in

parameters estimation.

The system is given by

y(t) =B(q−1)

A(q−1)u(t) + D(q−1)e(t)

A(q−1) = 1 + a1q−1 + a2q

−2 = 1 − 1.60q−1 + 0.80q−2

B(q−1) = b1q−1 + b2q

−2 = 0.23q−1 + 0.70q−2

D(q−1) = 1 + d1q−1 = 1 − 0.40q−1.

Simulation parameters are the same as those used in

the previous example. Using RIM, the estimated param-

eters with auxiliary model extended least squares (AM-

ELS) and multi-innovation auxiliary model extended least

squares (MI-AM-ELS) (p = 3, p = 5) algorithms are given

in Table 6.

From Table 6, the MI-AM-ELS algorithm presents bet-

ter computational efficiency compared with the AM-ELS

algorithm. These results can be improved by increasing the

innovation length p.

6 Conclusions

In this paper, we presented a Matlab GUI platform for

systems identification. The proposed toolbox deals with the

recursive identification methods and contains the necessary

tools to validate many theoretical aspects in the domain of

system identification.

The RIM toolbox allows users to make simulations with-

out the need to program the identification techniques or to

have programming experience in Matlab environment. RIM

gives to users the possibility to study the effects of different

identification parameters and makes users more insight into

the system identification theory.

Table 6 Identification results of an OEMA system

Method a1 a2 b1 b2 d1

AM-ELS (MI-AM-ELS p = 1) −1.6128 0.8126 0.2365 0.6922 0.3456

MI-AM-ELS p = 3 −1.5987 0.8054 0.2312 0.6970 0.3825

MI-AM-ELS p = 5 −1.6010 0.8026 0.2311 0.7012 0.3957

References

[1] J. P. Corriou. Process Control: Theory and Applications,London, UK: Springer-Verlag, pp. 371–380, 2004.

[2] C. Heij, A. Ran, F. Van Schagen. Introduction to Mathe-matical System Theory: Linear Systems, Identification andControl, Basel, Switzerland: Birkhauser-Verlag, pp. 115–120, 2007.

[3] X. F. Wu, Z. Q. Lang, S. A. Billings. An orthogonal leastsquares based approach to FIR designs. International Jour-nal of Automation and Computing, vol. 2, no. 2, pp. 163–170, 2005.

[4] O. M. Mohamed Vall, R. M′hiri. An approach to polyno-mial NARX/NARMAX systems identification in a closed-loop with variable structure control. International Journalof Automation and Computing, vol. 5, no. 3, pp. 313–318,2008.

[5] S. Bedoui, M. Ltaief, K. Abderrahim. New results ondiscrete-time delay systems identification. International

Journal of Automation and Computing, vol. 9, no. 6,pp. 570–577, 2012.

[6] B. C. Xu, X. L. Liu. Identification algorithm based onthe approximate least absolute deviation criteria. Interna-tional Journal of Automation and Computing, vol. 9, no. 5,pp. 501–505, 2012.

[7] I. Kollar, R. Pintelon, J. Schoukens. Frequency domainsystem identification toolbox for MATLAB: Characterizingnonlinear errors of linear models. In Proceedings of the 14thIFAC Symposium on System Identification, IFAC, Newcas-tle, Australia, pp. 726–731, 2006.

[8] H. Garnier, M. Gilson, V. Laurain. The CONTSID tool-box for MATLAB: Extensions and latest developments. InProceedings of the 15th IFAC Symposium on System Iden-tification, IFAC, Saint-Malo, France, pp. 735–740, 2009.

[9] P. Navratil, J. Ivanka. Recursive identification algorithmslibrary in MATLAB & Simulink. In Proceedings of the22nd International DAAAM Symposium, Vienna, Austria,vol. 22, no. 1, pp. 1317–1318, 2011.

Page 8: RIM: A Matlab Software Tool for Recursive Identification ... · Aissa Rebai1 Kamel Guesmi2 Boualem Hemici1 1 Process Control Laboratory, National Polytechnic School of Algiers, El

A. Rebai et al. / RIM: A Matlab Software Tool for Recursive Identification Methods 489

[10] L. Ljung. MATLAB system identification toolbox usersguide, [Online], Available: http://www.mathworks.com,The Mathworks, 2012.

[11] J. L. Guzmam, D. E. Rivera, S. Dormido, M. Berenguel.An interactive software tool for system identification. Ad-vances in Engineering Software, vol. 45, no. 1, pp. 115–123,2012.

[12] P. C. Young, C. J. Taylor. Recent developments in the CAP-TAIN toolbox for Matlab. In Proceedings of the 15th IFACSymposium on System Identification, IFAC, Brussels, Bel-gium, pp. 1838–1843, 2012.

[13] B. Ninness, A. Wills, A. Mills. UNIT: A freely available sys-tem identification toolbox. Control Engineering Practice,vol. 21, no. 5, pp. 631–644, 2013.

[14] Mathworks, MATLAB users guide, [Online], Available:http://www.mathworks.com, The Mathworks, 2012.

[15] L. Ljung. System Identification: Theory for the User, 2nded., Prentice Hall, USA, pp. 361–370, 1999.

[16] M. S. Mahmoud, Y. Q. Xia. Applied Control Systems De-sign, London, UK: Springer-Verlag, pp. 35–54, 2012.

[17] F. Ding, P. X. Liu, G. Liu. Auxiliary model based multi-innovation extended stochastic gradient parameter estima-tion with colored measurement noises. Signal Processing,vol. 89, no. 10, pp. 1883–1890, 2009.

[18] F. Ding, T. Chen. Performance analysis of multi-innovationgradient type identification methods. Automatica, vol. 43,no. 1, pp. 1–14, 2007.

[19] F. Ding. Several multi-innovation identification methods.Digital Signal Processing, vol. 20, no. 4, pp. 1027–1039,2010.

[20] F. Ding, P. X. Liu, G. Liu. Multiinnovation least-squaresidentification for system modeling. IEEE Transactions onSystems, Man, and Cybernetics—Part B: Cybernetics,vol. 40, no. 3, pp. 767–778, 2010.

[21] I. D. Landau, G. Zito. Digital Control Systems: Design,Identification and Implementation, London, UK: Springer-Verlag, pp. 247–276, 2006.

[22] I. D. Landau, R. Lozano, M. M′Saad, A. Karimi. AdaptiveControl: Algorithms, Analysis and Applications, London,UK: Springer-Verlag, pp. 153–191, 2011.

[23] F. Ding, T. Chen. Combined parameter and output estima-tion of dual-rate systems using an auxiliary model. Auto-matica, vol. 40, no. 10, pp. 1739–1748, 2004.

Aissa Rebai received the B.Eng. andM. Sc. degrees in control engineering fromNational Polytechnic School of Algiers, Al-geria in 2012. He is currently a Ph. D. de-gree candidate at the Department of Con-trol, National Polytechnic School of Algiers,Algeria.

His research interests include systemidentification, intelligent control of mecha-

tronic systems and optimization algorithms.E-mail: [email protected] iD: 0000-0001-5935-731X

Kamel Guesmi received the B.Eng. de-gree in electrical engineering from the Uni-versity of Djelfa, Algeria in 2000, the M. Sc.and Ph.D. degrees in electrical engineeringfrom Reims University, France in 2003 and2006, respectively. Currently, he is an asso-ciate professor in the Department of Elec-trical Engineering, Djelfa University, Alge-ria.

His research interests include intelligent control, robust con-trol, power electronics and nonlinear dynamics.

E-mail: [email protected] (Corresponding author)ORCID iD: 0000-0002-3492-8339

Boualem Hemici graduated from theNational Polytechnic School (ENP) of Al-giers, Algeria in 1983. He received thePh. D. degree from National PolytechnicSchool of Algiers, Algeria in 2007. Cur-rently, he is an associate professor in theDepartment of Control, National Polytech-nic School of Algiers, Algeria.

His research interests include power elec-tronics, electrical machinery drives and process control.

E-mail: [email protected]