Copyright © IFAC System Identification, Kitakyushu, Fukuoka,Japan, 1997 NONLINEAR SYSTEM IDENTIFICATION: A SOFTWARE CONCEPT AND EXAMPLES Jonas Sjoberg* and Pieter De Raedt** * Chalmers University of Technology, Department of Applied Electronics, 412 96 Gothenburg, Sweden, Phone: +46-31-772. lB. 55, Fax: +46-31-772.17.B2, Email: ** Ingenium N. V., Eikestraat BD, B-30BO Tervuren, Belgium, Phone: +34-2-767.29.93, Email: Abstract: This paper describes a software concept for non linear system identification. The models are specified by a (pseudo-) regressor and by a mapping, both chosen by the user. Depending on the choice of regressor the model the user can obtain, e.g., NARX, NOE or state-space models. The mapping from the regressor to the model output is also chosen by the user by combining building blocks from a library of different functions expansions. Depending on the choice of the mapping the user may specify Wiener, Hammerstein, or general black-box models. The user is given a logical path to follow where she/he starts with simple models and stepwise adds more complicated nonlinearities to the mapping. All the parameters of the model can be estimated simultaneously by a gradient based method. Keywords: Nonlinear Systems, Identification, Software Tools, Modeling Neural Nets 1. INTRODUCTION There are several problems which become impor- tant when one switches from linear to nonlinear system identification. Typically one needs much more data for the estimation and there are many more different model structures to test - each one of them being much more computer intensive to estimate than corresponding linear models. This explains why nonlinear system identification has attracted an increasing interest first when com- puters have become faster. For linear system identification there exist several mature software tools which are widely used to- day. When one comes to nonlinear system iden- tification there is a lack of more general software packages. Many people use Matlab's Neural Net- work Toolbox but it is better suited for nonlinear static problems. Then there is also the Neural Net- 657 work System Identification Toolbox (NNSYSID), (N 1995). This is a freeware toolbox which can be obtained by anonymous ftp. Although NNSYSID is specially intended for identification of dynamic systems, it does not give the user much freedom of chOOSing the model structure. This paper describes a software concept of a more general tool for nonlinear system identification which is being implemented in Matlab. The con- cept gives a lot of freedom to the user to de- cide upon the model structure and also allows her /him to incorporate prior knowledge. A rec- ommended path is also given how one stepwise can obtain more complicated nonlinear models as extensions of simpler models. This stepwise procedure is further explained in (Sj6berg, 1997) and (Sj6berg, 1996). The concept is closely related to the description of nonlinear system identification given in (Sj6berg Copyright © IFAC System Identification, Kitakyushu, Fukuoka,Japan, 1997 NONLINEAR SYSTEM IDENTIFICATION: A SOFTWARE CONCEPT AND EXAMPLES Jonas Sjoberg* and Pieter De Raedt** * Chalmers University of Technology, Department of Applied Electronics, 412 96 Gothenburg, Sweden, Phone: +46-31-772. lB. 55, Fax: +46-31-772.17.B2, Email: ** Ingenium N. V., Eikestraat BD, B-30BO Tervuren, Belgium, Phone: +34-2-767.29.93, Email: Abstract: This paper describes a software concept for non linear system identification. The models are specified by a (pseudo-) regressor and by a mapping, both chosen by the user. Depending on the choice of regressor the model the user can obtain, e.g., NARX, NOE or state-space models. The mapping from the regressor to the model output is also chosen by the user by combining building blocks from a library of different functions expansions. Depending on the choice of the mapping the user may specify Wiener, Hammerstein, or general black-box models. The user is given a logical path to follow where she/he starts with simple models and stepwise adds more complicated nonlinearities to the mapping. All the parameters of the model can be estimated simultaneously by a gradient based method. Keywords: Nonlinear Systems, Identification, Software Tools, Modeling Neural Nets 1. INTRODUCTION There are several problems which become impor- tant when one switches from linear to nonlinear system identification. Typically one needs much more data for the estimation and there are many more different model structures to test - each one of them being much more computer intensive to estimate than corresponding linear models. This explains why nonlinear system identification has attracted an increasing interest first when com- puters have become faster. For linear system identification there exist several mature software tools which are widely used to- day. When one comes to nonlinear system iden- tification there is a lack of more general software packages. Many people use Matlab's Neural Net- work Toolbox but it is better suited for nonlinear static problems. Then there is also the Neural Net- 657 work System Identification Toolbox (NNSYSID), (N 1995). This is a freeware toolbox which can be obtained by anonymous ftp. Although NNSYSID is specially intended for identification of dynamic systems, it does not give the user much freedom of chOOSing the model structure. This paper describes a software concept of a more general tool for nonlinear system identification which is being implemented in Matlab. The con- cept gives a lot of freedom to the user to de- cide upon the model structure and also allows her /him to incorporate prior knowledge. A rec- ommended path is also given how one stepwise can obtain more complicated nonlinear models as extensions of simpler models. This stepwise procedure is further explained in (Sj6berg, 1997) and (Sj6berg, 1996). The concept is closely related to the description of nonlinear system identification given in (Sj6berg