A First Course in FUZZY and NEURAL CONTROL

(singke) #1
6.5. NEURAL NETWORKS IN INDIRECT NEURAL CONTROL 219

6.5.2 Example: system identification ...............


As indicated previously, the goal in system identification is to obtain a satis-
factory model of the nonlinear system by observing the input-output behavior
of the system. Given a nonlinear process, we need to determine the functional
relationship between output and the input. The system itself is a black box
whose internal structure is not available. All we can observe is what goes into
the black box and what comes out of the black box. For such identification,
neural networks have been found to yield excellent results.
In this section, we discuss a step-by-step procedure for developing a neural
network-based identification of a nonlinear system. This example, originally
appearing on pages 731ó733 in [40], has been adapted here with permission.
Let us consider a nonlinear system of the form:


yp(k+1)=f(yp(k),yp(k−1),∑∑∑)+u(k)

wheref(yp(k),yp(k−1),∑∑∑)isthenonlinearsystemtobeidentified, andu(k)
is the input applied to the system. The functionf(yp(k),yp(k−1),∑∑∑)repre-
sents the internal structure of the nonlinear system that is used in obtaining the
next stateyp(k+1). Clearly, therefore, if the responseyp(k)of the nonlinear
system can be sampled over a range of possible system operating conditions ñ
that is, for a range of inputsu(k)∈[min,max]over which stable plant opera-
tion can be guaranteed, then mapping the input-output behavior onto a neural
network becomes a viable choice for identifying the nonlinear system. In this
example, a nonlinear system is given by


yp(k+1)=

yp(k)(yp(k−1) + 2) (yp(k)+2.5)
8 .5+(yp(k))^2 +(yp(k−1))^2

+u(k)

which is of the form


yp(k+1)=f(yp(k),yp(k−1)) +u(k)

For this system, stable plant operation is guaranteed foru(k)∈[− 2 ,2].The
objective in this example is to train a feedforward neural network with error
backpropagation such that the outputs of the trained neural network and the
actual plant are the same for the specified inputs. We can now proceed to
demonstrate the identification process usingMatlab.


Step 1.Wefirst need to obtain the input-output pairs of data that can be
used to train a neural network. In this example, we simulate the behavior of the
nonlinear system and develop the appropriate training data. For a real-world
process however, this amounts to obtaining measured data of the input and
output of the plant. Since we are computing the next state,yp(k+1),weneed
to initialize the parameters foryp(k)andyp(k−1). The followingMatlabcode
provides this requiredfirst step.


yp(1)=0; yp(2)=0; %yp(1)=yp(k−1);yp(2)=yp(k)

Step 2. Generate an input vector ìuî in the range[− 2 ,2].Ourobjectivein
this step is to develop a vector of random inputs for which we can generate a

Free download pdf