0 valutazioniIl 0% ha trovato utile questo documento (0 voti)

16 visualizzazioni37 pagineFeb 11, 2015

© © All Rights Reserved

PDF, TXT o leggi online da Scribd

© All Rights Reserved

0 valutazioniIl 0% ha trovato utile questo documento (0 voti)

16 visualizzazioni37 pagine© All Rights Reserved

Sei sulla pagina 1di 37

Gaurav Kumar Singh

U NIVERSITY OF M ICHIGAN , A NN A RBOR

This project report is written as a part of the course requirements of AE566 Data Analysis

and System Identification taught by Prof. Dennis Bernstein in fall 2014.

Copyrights reserved

Contents

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.1

Motivation

1.2

Objective

1.3

Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1

2.2

2.3

11

2.4

12

Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1

13

3.2

13

3.3

14

Linear Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.1

20

4.2

20

4.3

Toy Example

21

4.4

24

4.5

25

4.6

N4SID algorithm

26

Nonlinear Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.1

NARMAX

29

5.2

31

5.3

31

6.1

35

6.2

Final Comments

36

Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

R Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

MATLAB

List of Figures

2.1

2.2

2.3

Aircraft coordinate systems and configuration. . . . . . . . .

Test aircraft. The tested aircraft has conventional wing-tail

configuration . . . . . . . . . . . . . . . . . . . . . . . . .

3.1

First hands on data. [a] shows the hovering movement of the aircraft in

earth coordinates, [b],[c],[d] show the inputs and outputs of the data. . . .

Pairwise coherence of input with outputs. Top to bottom: coherence for

elevator input, coherence for aileron input and coherence for rudder input

Power-spectrum of inputs and outputs. From left to right: power spectrum

of elevator, aileron and rudder; power spectrum of pitch, yaw and roll . .

Pair-wise cross correlation between inputs and outputs. From left to right:

cross-correlation with respect to elevator, aileron and rudder . . . . . . .

Pairwise scatterplots. From top to down: elevator-pitch system, aileron-roll

system and rudder-yaw system . . . . . . . . . . . . . . . . . . . . . . .

Partition of data for outputs for estimation and validation purposes . . . .

Partition of data for inputs for estimation and validation purposes . . . . .

3.2

3.3

3.4

3.5

3.6

3.7

4.1

4.2

4.3

4.4

4.5

. . .

. . .

with

. . .

. . . . . . . 10

. . . . . . . 10

tractor

. . . . . . . 11

. . . 14

. . . 15

. . . 15

. . . 17

. . . 18

. . . 19

. . . 19

Frequency domain identification. Notice the first subplot shows the magnitude of the response while the second one is phase of the response. . . . .

Estimation of output using MIMO least squares algorithm. The fits are not

great, interesting though . . . . . . . . . . . . . . . . . . . . . . . . . . .

Estimation of output for validation input. The fits become worse as expected

FFT of fit-error for MIMO system. High peaks are seen at 0 frequency . . .

Application of the MIMO least squares algorithm on a known linear system.

The algorithm looks perfectly alright . . . . . . . . . . . . . . . . . . . . .

. . 21

. . 22

. . 22

. . 23

. . 23

6

4.6

4.7

Estimation of output for elevator-pitch SISO system. Again, estimation

looks a bit off. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.8 Markov parameters of the system obtained by providing impulse input to

the estimated system . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.9 Estimation of markov parameters through ERA . . . . . . . . . . . . . .

4.10 Application of N4SID algorithm on our data set. Looks like N4SID barely

manages to stick to the mean value of the response . . . . . . . . . . . .

5.1

5.2

5.3

5.4

5.5

5.6

5.7

bottom: NARMAX algorithm on estimation data; estimation of output from

derived model structure for validation data . . . . . . . . . . . . . . . . .

Input augmentation using basis functions on data for estimation for elevpitch SISO system. From left to right: measured output and estimated

output, scatter plots for measured output and estimated output . . . . . .

Input augmentation using basis functions on data for validation for elevpitch SISO system. From left to right: measured output and estimated

output, scatter plots for measured output and estimated output . . . . . .

Block diagram of the Hammerstein Wiener system identification created in

Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Hammerstein Wiener Identification for un-detrended elev-pitch SISO system in Simulink. From left to right: for estimation data; for validation

data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Hammerstein Wiener Identification for detrended elev-pitch SISO system

in Simulink. From left to right: for estimation data; for validation data . .

Pole-zero map of the identified Hammerstein Wiener Model for elev-pitch

SISO system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . 24

. . . 25

. . . 26

. . . 27

. . . 28

. . . 30

. . . 31

. . . 32

. . . 32

. . . 33

. . . 33

. . . 34

1. Introduction

1.1

Motivation

Developing mathematical models of physical systems based on imperfect observations or

measurements is known as system identification. System identification lets us create and

use models of dynamic systems not easily modeled from first principles or specifications.

We can use time-domain and frequency-domain input-output data to identify continuoustime and discrete-time transfer functions, process models, and state-space models.A good

practical definition of system identification is that of Zadeh [1] :

System identification is the determination, on the basis of observation of input

and output, of a system within a specified class of systems to which the system

under test is equivalent.

When the system to be modeled is an aircraft, the models are generally dynamic with

multiple inputs and outputs, and the measurements are noisy. In this project report, we wish

to identify a system from the data obtained from a fixed-wing aircraft hovering over a place.

1.2

Objective

For many applications, an aircraft can be assumed to be a rigid body, whose motion

is governed by the laws of Newtonian physics. System identification can be used to

characterize applied forces and moments acting on the aircraft that arise from aerodynamics

and propulsion. Typically, thrust forces and moments are obtained from ground tests, so

aircraft system identification is applied to model the functional dependence of aerodynamic

forces and moments on aircraft motion and control variables. We are given a set of data

obtained from a series of initial flight test to perform a hover-control of a fixed wing aircraft.

The goal is to perform several tests, analysis and experiments on the data that we learned in

the AE566 Course on Data Analysis and System Identification.

Chapter 1. Introduction

1.3

This chapter is an introduction that describes the goals of the report and a brief overview

of the contents of the report. Chapter 2 describes the application from which the data are

taken. Visual aids like diagrams and figures are shown explaining the source of the data and

its physical meaning. Chapter 3 analyzes the data, where we perform statistical and spectral

analysis of the data to get insight into its properties before we begin identification. Chapter

4 is on linear identification, including time-domain and frequency-domain identification.

Chapter 5 is on nonlinear identification. The next chapter includes discussion and conclusions. Chapter 6 is followed by bibliography and a short appendix. The appendix contains

the name of m-files that are used in this project.

R

Since, the data set I am working upon is provided by someone else, I agree to allow

the data provider to read my report.

2. Data Source

2.1

In the field of UAVs, there is seen to be surge in research about vertical take-off / landing

(VTOL) and hovering capabilities. Though, existing rotary-wing aircraft satisfy VTOL

and hovering requirements but they are found to bepoor in cruise performance. But, with

high thrust-to-weight ratio (T/W), it is possible to hover a fixed-wing aircraft over a place.

However, the problem turns out to be difficult in the presence of wind-disturbances and

needs an active feedback to achieve hovering capability.

2.2

Aerospace engineers develop control systems for a vehicles orientation (attitude) about

its center of mass. The control systems include actuators, which exert forces in various

directions, and generate rotational forces or moments about the aerodynamic center of

the aircraft, and thus rotate the aircraft in pitch, roll, or yaw [2]. For example, a pitching

moment is a vertical force applied at a distance forward or aft from the aerodynamic center

of the aircraft, causing the aircraft to pitch up or down.

Roll, pitch and yaw (see fig 2.1) refer to rotations about the respective axes starting from

a defined steady flight equilibrium state. The equilibrium roll angle is known as wings level

or zero bank angle, equivalent to a level heeling angle on a ship. Yaw is known as "heading".

The equilibrium pitch angle in submarine and airship parlance is known as "trim", but in

aircraft, this usually refers to angle of attack, rather than orientation. However, common

usage ignores this distinction between equilibrium and dynamic cases. The most common

aeronautical convention defines the roll as acting about the longitudinal axis, positive with

the starboard (right) wing down. The yaw is about the vertical body axis, positive with the

nose to starboard. Pitch is about an axis perpendicular to the longitudinal plane of symmetry,

10

positive nose up. A fixed-wing aircraft increases or decreases the lift generated by the wings

when it pitches nose up or down by increasing or decreasing the angle of attack (AOA). The

roll angle is also known as bank angle on a fixed-wing aircraft, which usually "banks" to

change the horizontal direction of flight. An aircraft is usually streamlined from nose to

tail to reduce drag making it typically advantageous to keep the sideslip angle near zero,

though there are instances when an aircraft may be deliberately "sideslipped" (see fig 2.2)

11

Figure 2.3: Test aircraft. The tested aircraft has conventional wing-tail with tractor configuration

for example a slip in a fixed-wing aircraft.

2.3

In this test, an aircraft (see fig 2.3) is being flown by a trained pilot. In all the flights, first it

is tried to manually achieve hovering and then switch to the control to maintain the hover

attitude of the aircraft. The data has two modes pilot mode and the autopilot mode.

Switch signal 3 stands for manual mode of operation, and swithc signal 1 and 2 are for

controller mode of operation.

The following variables are identified as inputs and outputs of this complex system.

Input Signals

Throttle

Elevetor

Aileron

Rudder

Output Signals

Euler Angles (pitch, roll, yaw)

3-axis rates (p, q, r)

Positions (x, y, z)

Quaternions (q0 , q1 , q2 , q3 )

12

2.4

The data provided has sufficiently large number of points (48000) for identification problem.

The time associated with each data-point is available as well. The variable cmd-mode

denotes a switch signal which indicates the mode in the which the aircraft is operating in.

Switch signal 3 denotes manual mode implying that a trained pilot is steering the aircraft.

While mode 1 and 2 denotes that the controller is trying to make the aircraft hover at a place.

Obviously, we would be interested in the controller mode, thus removing all the manual

mode data. After this operation, all variables are in ready-to-use format.

In almost all the aircraft related identification articles the triplets of elevator, aileron

and rudder are considered inputs, and the triplets of pitch angle, roll angle, yaw angle are

considered outputs to a 3-Input 3-Output system identification problem. We will be looking

to identify this system only.

3. Data Analysis

3.1

Before we go on analyzing the data, we first need to identify what our data looks like and

more importantly, what we should be looking for in our data. Firstly we take the given

R m-file called

data and generate plots of the variables of interest. We run the MATLAB

process.m accompanied by the data and get the plots shown in fig 3.1.

3.2

Now, with our data ready, we might to want to make it clean in the sense its more smooth

fro identification purposes. By cleaning we mean stripping off data from not so significant

R

hidden parts of it. The MATLAB function

detrend subtracts the mean or a best-fit line

(in the least-squares sense) from a given data. If the data contains several data columns,

detrend treats each data column separately [3].

Removing a trend from the data enables us to focus our analysis on the fluctuations in

the data about the trend. While trends can be meaningful, some types of analysis yield better

insight once you remove trend. So, we will create two data-sets, one with de-trended data,

and one as it is. We wish to apply all our algorithms on both of the data. Unless explicitly

mentioned otherwise, it should be assumed that the results of a particular algorithm was

similar for both the data sets.

14

[a]

[b]

[c]

[d]

Figure 3.1: First hands on data. [a] shows the hovering movement of the aircraft in earth

coordinates, [b],[c],[d] show the inputs and outputs of the data.

3.3

Next thing to look for in a data-set is its sampling rate. Sampling rate can be easily identified

using the given formula and found to be 0.009999625.

T s = (max(time) min(time))/length(time);

(3.1)

Fs = 1/T s;

(3.2)

Then we wish to look for coherence between various inputs and outputs. This can be

R command mscohere. Results are shown in the fig 3.2. We notice

done using MATLAB

that there is strong coherence between, elevator and pitch, which is expected. However,

aileron and rudder signal do not show that much of coherence with roll and yaw respectively.

Maybe, its because of noise in the signal, or maybe its because of the feedback.

15

Figure 3.2: Pairwise coherence of input with outputs. Top to bottom: coherence for elevator

input, coherence for aileron input and coherence for rudder input

Figure 3.3: Power-spectrum of inputs and outputs. From left to right: power spectrum of

elevator, aileron and rudder; power spectrum of pitch, yaw and roll

16

Next thing we do is to find the power spectrum of each of the inputs and outputs. Powerspectrum can be seen as a way to qualify the noise content of a signal. This can be done

R . Results are shown in fig 3.3.

using periodogram command of MATLAB

Figure 3.4: Pair-wise cross correlation between inputs and outputs. From left to right:

cross-correlation with respect to elevator, aileron and rudder

Similarly, we can check for cross correlation also, using xcorr command. The results

are shown in fig 3.4

17

As we have mentioned, that our MIMO system is kind of pairwise SISO, we can figure

out how individual inputs result in individual outputs. We can show this graphically using

scatter plots. A scatter plot displays data points on a graph with inputs as abscissa and

outputs as ordinates. Scatter plots are shown in fig 3.5 .

Figure 3.5: Pairwise scatterplots. From top to down: elevator-pitch system, aileron-roll

system and rudder-yaw system

We mention in the previous section that the first thing to do is to remove the data which

corresponds to the manual mode of operation. This can be easily done using find command

R . Then, we remove the non-moving portions as doing ID on that portion

in MATLAB

may not be very sensible. This is followed by breaking the data into two portions; one for

estimation and other for validation. Fig 3.6 and fig 3.7 show this step.

18

Figure 3.6: Partition of data for outputs for estimation and validation purposes

Figure 3.7: Partition of data for inputs for estimation and validation purposes

We know our data well, and we know what kind of behavior these data should be

demonstrating since we know the source of the data. So, let us move on to the

identification.

4. Linear Identification

4.1

To perform frequency domain identification, we first need to get our time-domain data

converted into frequency-domain. This is done by taking Discrete Fourier Transform (DFT)

of the data. There is a computationally effective algorithm to compute DFT, called Fast

Fourier Transform (FFT). We use fft command of MATLAB to do the needed. In this section

we perform frequency domain identification on a SISO system which is chosen to be the

elev-pitch SISO system. The DFTs of output and input are taken and an vector is formed

with their element-wise ratio. This ratio is called complex frequency response. Being a

complex quantity, it is possible to plot magnitude and phase of the complex frequency

response obtained. Such a plot is called Bode plot. The bode plot for frequency response

estimated is shown in fig 4.1.

4.2

In this section, we employ the MIMO least squares code we developed while working on

homework 3. MIMO least squares code is just least squares with elements of coefficient

matrix in block form. The algorithm assumes an input-output model structure with known

inputs and initial conditions for outputs. The algorithm is based on solving a set of linear

equations with the goal to minimize the errors between output and the estimated output and

thus produce a suitable coefficients matrix.

Now, we should remember that we have partitioned our data into two parts (see fig 3.6)

and fig 3.7, labeled as data for estimation and data for validation. To verify the accuracy and

fitness of this method, we perform this algorithm on the data for estimation, and by using

the same coefficients matrix, we make a guess about the data for validation. We measure

the error in the fitting and call the errors as fit error and prediction error. The outputs of our

20

Figure 4.1: Frequency domain identification. Notice the first subplot shows the magnitude

of the response while the second one is phase of the response.

code are shown in fig 4.2 and 4.3.

Now, we check the fourier transform of the fir error of this identification. High peaks in

the plot at a certain frequency indicate that there is mismatch of dynamics at that particular

frequency. We show this plot in fig 4.4.

In the plot we can see that there are high peaks at 0 frequency, which indicate that

our DC estimates are not accurate at all. Thus, it looks like the code failed to capture the

dynamics of the data provided. But, the code itself is correct. We show in the next section

that the code works by demonstrating it on a toy example. Also, using fit-error vs prediction

error, which normally gives us a convex plot, with minima at the best possible system order,

doesnt make sense, as both the errors will be large since our estimated system is not able to

match dynamics well.

4.3

Toy Example

Using the same algorithm, we perform ID on a known system, i.e. we create input vector

and the coefficient matrix, and using them we compute our output vector. Using the MIMO

21

Figure 4.2: Estimation of output using MIMO least squares algorithm. The fits are not great,

interesting though

Figure 4.3: Estimation of output for validation input. The fits become worse as expected

22

Figure 4.4: FFT of fit-error for MIMO system. High peaks are seen at 0 frequency

least squares code, we make an estimate of the coefficient matrix. This estimated coefficient

matrix along with the input vector will give us our estimated output. We see, how much we

are able to match the estimated output to the computed output (see fig 4.5).

Figure 4.5: Application of the MIMO least squares algorithm on a known linear system.

The algorithm looks perfectly alright

Looks like we did well. To confirm that we are not missing any of the dynamics, we

show that the fft of fit error for the toy example doesnt have high peaks anywhere (see fig

23

4.6). Then why didnt the algorithm work for the given data set. Probably, its not even

linear!!

Figure 4.6: FFT of fit-error for toy system. No high peaks are seen

4.4

The Markov parameter sequence for a state-space model is a kind of matrix impulse response

that easily found by direct calculation using Eq. (G.1):

h(0) = Cx(0) + D (0) = D

x(1) = A x(0) + B (0) = B

h(1) = CB

x(2) = A x(1) + B (1) = AB

h(2) = CAB

x(3) = A x(2) + B (2) = A2 B

h(3) = CA2 B

..

.

h(n) = CAn1 B,

n>0

Note that we have assumed x(0) = 0 (zero initial state or zero initial conditions). The

notation (n) denotes a qq matrix having (n) along the diagonal and zeros elsewhere.G.2

Since the system input is a q 1 vector, we may regard (n) as a sequence of q successive

input vectors, each providing an impulse at one of the input components.

24

(

h(n) =

D,

n=0

CAn1 B, n > 0

The impulse response terms CAn B for n 0 are known as the Markov parameters of the

state-space model.

Now, to identify markov parameters, we take the elev-pitch SISO system and we try

to identify it. After identification, we have an input-output model, to which if we supply

an impulse input, we get impulse response, and thus we get markov parameters. For

identification, we will use the same MIMO least squares code. The results are shown in fig

4.7 and fig 4.8

Figure 4.7: Estimation of output for elevator-pitch SISO system. Again, estimation looks a

bit off.

Since, our estimated response couldnt match the original response, we can safely

assume that the impulse response obtained are also not very much accurate. But, still, we

have got our Markov parameters. We can use these markov parameters in the next section.

4.5

Eigensystem Realization algorithm is a system identification technique, originally proposed

in a seminal paper by Juang and Pappa [4]. ERA can be used as a modal analysis technique

and generates a system realization using the time domain response (multi-)input and (multi)output data.

We use the pulse response data to form the Hankel matrix

25

Figure 4.8: Markov parameters of the system obtained by providing impulse input to the

estimated system

Y (k + 1)

...

Y (k + 1)

H(k-1) =

..

Y (k)

Y (k + p)

..

Y (k + r)

Y (k + p + r)

response at time step k.

Now, by using singular value decomposition (SVD) followed by some analytical calculations we come up with a minimal state space system producing same markov parameters

as those were used to form the Hankel Matrix. We also know that the similar state space

systems have same markov parameters and same transfer functions, so, basically, we have

estimated our transfer function. It is also possible to estimate the order of the system through

ERA.

We use our elev-pitch SISO system to perform ERA upon. Now, we have two sources

of Markov parameters : we can get it by the impulse response of the estimated system we

developed in last section; also, we can get it by inverse Fourier transform of the complex

frequency response we computed in section on frequency domain identification. Let us use

the second method. The result for order 3, which we find to be most satisfactory, is shown

in the fig 4.9. Thus we can make aguess about the system order to be 3.

4.6

N4SID algorithm

In this section we try our hands on N4SID algorithm, which is based on subspace identification methods and is very popular in linear identification. The subspace identification

26

27

problem is: given a set of input/output measurements, estimate the system matrices (A, B,

C, D), Kalman filter gain K up to within a similarity transformation, and the innovation

R comman n4sid, we try to find a fit for our 3 inputcovariance matrix R. Using MATLAB

3 output system. Assuming various model orders is possible in n4sid; we present estimates

for order 3 (best than others) in fig 4.10.

Figure 4.10: Application of N4SID algorithm on our data set. Looks like N4SID barely

manages to stick to the mean value of the response

It looks like N4SID algorithm can only give mean value response, which is kind of

better, as we are more interested in fluctuations. But, there must be some better way!

R

Although, most of our methods could not live up to the expectation, but still, we have

got many insights about the system we wish to identify. The results of this section

indicate presence of non-linearity in the system, the prospects of which we explore in

the next section.

5. Nonlinear Identification

So far, we have tried our best to identify the system from the provided data. We did identify

some systems, but the fits are not satisfactory. We have also speculated the presence of

non-linearity in the system leading to failure of our linear least squares method. Hence, we

move to nonlinear identification.

5.1

NARMAX

The nonlinear auto-regressive moving average model with exogenous inputs (NARMAX

model) can represent a wide class of nonlinear systems, and is defined as

y(k) = F[y(k 1), . . . , y(k ny ), u(k d), . . . , u(k d nu ), e(k 1), . . . , e(k ne )] + e(k)

(5.1)

where y(k), u(k) and e(k) are the system output, input, and noise sequences respectively;

F[.] is some nonlinear function, d is a time delay typically set to d = 1; maximum lags for

the system output, input and noise are denoted by ny , nu , ne .

The model is essentially an expansion of past inputs, outputs and noise terms. Because

the noise is modelled explicitly unbiased estimates of the system model can be obtained in

the presence of unobserved highly correlated and nonlinear noise [5].

In our algorithm, we use several radial basis functions centered at several points on

a grid determined by range of input and output. Such radial basis functions together can

mimic system behavior provided proper scaling. Determining scale factors for each of the

functions is again a matter of least squares. We use this algorithm on our data for estimation

and data for validation as well. Results are shown in the fig 5.1.

5.1 NARMAX

29

Figure 5.1: NARMAX model structure algorithm on elev-pitch system. From top to bottom:

NARMAX algorithm on estimation data; estimation of output from derived model structure

for validation data

30

5.2

In this section we use the technique of augmenting input with basis functions such as

Gaussian, sinusoidal functions, etc. Basically, we assume that the input is unknown, and

it can be decomposed into a known and an unknown component. We find that unknown

component by augmenting another input to the system, thus changing the total number of

inputs to the system. After this, we just need to implement least squares to find the unknown

input. Let us take the example of elev-pitch SISO system with sum of sines and cosines as

basis functions to be used in input augmentation. The results are shown in fig 5.2.

Figure 5.2: Input augmentation using basis functions on data for estimation for elev-pitch

SISO system. From left to right: measured output and estimated output, scatter plots for

measured output and estimated output

The fits look good, and now we can try the obtained model for the data for validation

(see fig 5.3). For vaildation data, the fits, as always, are not too great, but are satisfactory

though.

5.3

R codes to carry out system identification. Now, we wish to

So far, we have used MATLAB

experiment with the inbuilt blocks of the Simulink environment to identify our elev-pitch

SISO system. In this subsection we consider Hammerstein Wiener block [6] available in

system identification toolbox for our estimation purposes. The block diagram we need to

construct is shown in the fig 5.4 and the code to run the block is provided below:

ze =

zv =

mhw1

x0 =

i d d a t a ( p i t c h _ e , e l e v _ e , Ts , Name , e l e v p i t c h ) ;

i d d a t a ( p i t c h _ v , e l e v _ v , Ts , Name , e l e v p i t c h ) ;

= nlhw ( ze , [ 3 3 0 ] , p w l i n e a r , p w l i n e a r ) ;

f i n d s t a t e s ( mhw1 , ze , [ ] , m a x i t e r , 5 0 ) ;

31

Figure 5.3: Input augmentation using basis functions on data for validation for elev-pitch

SISO system. From left to right: measured output and estimated output, scatter plots for

measured output and estimated output

p l o t ( mhw1 )

Figure 5.4: Block diagram of the Hammerstein Wiener system identification created in

Simulink

We first use the un-detrended data to create a system structure using iddata command.

Then by using nlhw command to feed data to the Hammerstein Wiener block. We do

this process first for estimation data, and after identifying the model structure we use

the validation input to create an estimation for validation input. By tweaking order and

non-linearity types, we are able to get the results as shown in fig 5.5.

Wait a second, this is interesting, looks like we are estimating the output well, its just

needs to be shifted. And we also know, doing what can help that. Yes, if we use detrended

data, we are able to eliminate this shift (see fig 5.6).

That has been a good identification. But what do we just learn about the system?

Hammerstein Wiener block allows us to interpret results of the identifications. In the code

32

Figure 5.5: Hammerstein Wiener Identification for un-detrended elev-pitch SISO system in

Simulink. From left to right: for estimation data; for validation data

Figure 5.6: Hammerstein Wiener Identification for detrended elev-pitch SISO system in

Simulink. From left to right: for estimation data; for validation data

33

we used for running the simulation block, we have assumed our both input and output

nonlinearities as piecewise linear, and the output-error model is assumed to be [3 3 0],

which indicates that there are 2 (3-1) zeros, 3 poles of the system, and there is no delay from

input to the output in terms of the number of samples. The pole-zero map of the identified

model is shown in fig 5.7.

Figure 5.7: Pole-zero map of the identified Hammerstein Wiener Model for elev-pitch SISO

system

In this report we have seen how a data-set can be analyzed and worked upon so as to

identify the dynamics behind the data. There have been several steps and several methods

in identifying the system corresponding to given data. Some of the methods worked okay, a

few worked very well; but most of them failed. This is expected, otherwise who would need

these many methods. In this section we try to comprehend why a particular method worked

and why others didnt.

6.1

With the data-set in our hand, we just do not start working on the identification. First, we

need to understand the experiment from which the data has been obtained. Knowing the

underlying physics may not be absolutely necessary but having an idea of it helps in making

intuitive guesses about the system to be identified. Now, we focus on data, we try to qualify

data in terms of its sample rate, spectral content, noise content. Another thing to look for in

a data set is a linear trend. Removing a trend from the data enables us to focus our analysis

on the fluctuations in the data about the trend. Now we are all set for the identification.

Although almost everything in this world is non-linear, we begin ID by linear methods.

R to compute

First we do frequency domain identification by using fft tool of MATLAB

a complex frequency response. Now, here we come up with an algorithm without which

system identification is almost impossible, the least squares algorithm. The least squares

algorithm is explained in chapter 4. We do MIMO least squares on our data set to come up

with an input-output model which tries to give same output as the original system would

give if both are fed with same input. As it turns out, the estimated model doesnt lives up

to the expectations. But, we show in the next section, that the algorithm is highly capable

of estimating near to perfect model for a linear system. At this point, we start thinking

that the system might be non-linear. Next thing we do is to identify Markov parameters.

35

Markov parameters are used in Eigensystem realization algorithm to make a guess on the

system order. Now, we move to non-linear identification, where, we demonstrate three

techniques by which we can estimate a non-linear system. We start with NARMAX, where

we use radial basis functions with variable centering and spread to approximate for system

output. Secondly, we try our techniques of augmenting input with basis functions and do

identification accordingly. The last thing we do is using Hammerstein Wiener block of

Simulink to identify system. We show poles and zeros of the system and the associated

non-linearity with inputs and outputs. Most of the algorithms require working knowledge

of matrix mathematics. One great source on the subject is [7].

6.2

Final Comments

Out of several things we tried in this project, we wish to discuss few of them to conclude

this report.

Let us talk about detrend first. A linear trend typically indicates a systematic increase or

decrease in the data. A systematic shift can result from sensor drift, for example. Whether it

makes sense to remove trend effects in the data often is a subjective question and it largely

depends on the objectives of our analysis. We have performed this experiment using the

both sets of data, and in a few cases removing trend has helped us to obtain better fits.

In system identification, we need to come up with a model, which we think can be a

great fit for the data we have. For assuming a model structure, some knowledge of the

dynamics of the experiment which produced the data is always helpful. However, its not

absolutely necessary. Also, we do not have to stick with the model we choose. There are

lots of options available. We can pick an ARX model, or an input-output model, or even an

output-error model. Evaluating the model parameters is the core of the system identification.

If we have an idea of the underlying dynamics of the variables of the experiment, we might

actually guess order of the system. If we do not know the order of the system, we can

always play with various system orders to pick the right one.

Another important thing is maintaining the logical flow of identification. We do not

jump straight to non-linear identification unless there are strong evidences to do so. In this

report, we show that the inaccuracies in least squares, and in the ERA help us to decide on

whether we need non-linear identification or not. And then of course, there are many ways

to do non-linear identification.

Finally, getting a perfect identification in data from real experiments is almost impossible

because of effects from noise, feedback, and sensor and actuator inaccuracies. But, perfect

identification is not really required. In control systems, with so many tools, we just dont

require a perfect system, right ? ^

7. Bibliography

[1] Zadeh, L. A., From Circuit Theory to System Theory, Proceedings of the IRE, Vol.

50, May 1962, pp. 856865

[2] http://en.wikipedia.org/wiki/Flight_dynamics

[3] http://www.mathworks.com/help/matlab/ref/detrend.html

[4] J.-N. JUANG and R. S. PAPPA. "An eigensystem realization algorithm for modal

parameter identification and model reduction", Journal of Guidance, Control, and

Dynamics, Vol. 8, No. 5 (1985), pp. 620-627. doi: 10.2514/3.20031

[5] http://en.wikipedia.org/wiki/Nonlinear_system_identification#

NARMAX_methods

[6] http://www.mathworks.com/help/ident/ref/idnlhwmodel.html

[7] Bernstein, D. (2009). Matrix mathematics. Princeton, N.J.: Princeton University Press

R Codes

A. MATLAB

sys_id_main.m: This is a big file which contains almost all the codes divided into

sections.

hammerstein_weiner_simulink_runner: code to run hammerstein_wiener_

simulation_block.

process.m: file accompanied with data set.

narmax.m: code to run NARMAX for elevator-pitch system.

basis_function_augmentation.m: code for basis function augmentation.

detrend.matandundetrend.mat: data set without and with linear trend, respectively.

hammerstein_wiener_simulation_block.slx: simulink model for HammersteinWiener system.

## Molto più che documenti.

Scopri tutto ciò che Scribd ha da offrire, inclusi libri e audiolibri dei maggiori editori.

Annulla in qualsiasi momento.