Structure and Interpretation of Signals and Systems by Edward Ashford Lee and Pravin Varaiya - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub for a complete version.

α

1

0

1

0

0

0 

0 

0 

A =

,

,

,

b = 

c = 

d =

1

.

0

1

0

0 

0 

0 

0

0

1

0

0

α

To use (5.36) we need to know An−1. It is easy to check that

0

0

α

0

0

α

0

0

0

0

0

α 

0

0

α

0 

A2 =

,

,

A3 = 

1

0

0

0 

0

0

0

α 

0

1

0

0

1

0

0

0

Lee & Varaiya, Signals and Systems

213

5.3. THE [A, B,C, D] REPRESENTATION OF A SYSTEM

α

0

0

0

0

α

0

0 

A4 = 

 = αI,

0

0

α

0 

0

0

0

α

where I is the 4 × 4 identity matrix. Thus,

A5 =

2

αA, A6 = αA2, A7 = αA3, A8 = αA4 = α I.

The pattern continues. Note that because of the particular structure of b, An−1b is

simply the first column of An−1. Thus,

1 

0 

h(1) = cT A0b = [0 0 0 α] 

 = 0.

0 

0

Similarly,

0 

1 

h(2) = cT Ab = [0 0 0 α] 

 = 0,

0 

0

and

0 

0 

h(3) = cT A2b = [0 0 0 α] 

 = 0.

1 

0

Only when we get to h(4) do we get a non-zero result,

0 

0 

h(4) = cT A3b = [0 0 0 α] 

 = α.

0 

1

Continuing in this fashion, we can determine that 3 of every four samples of the

impulse response are zero, and the non-zero ones have the form

n/4

α

where n is a

multiple of four, in perfect agreement with figure 5.3.

214

Lee & Varaiya, Signals and Systems

5. LINEAR SYSTEMS

The echo system of the previous example is an example of an infinite impulse response

(IIR) system because the response to an impulse never completely dies out. Here is an-

other example of an IIR system.

Example 5.17: An audio oscillator is a system that produces a sinusoidal signal

of a given frequency. We can construct one with the two-dimensional system given

by

cos(ω)

−sin(ω)

0

1

A =

, b =

, c =

,d = 0,

sin(ω)

cos(ω)

1

0

where ω is a constant that will turn out to be the oscillation frequency. It can be

shown (see Exercise 14) that for all n = 0, 1, 2, · · ·

cos(nω)

−sin(nω)

An =

,

sin(nω)

cos(nω)

Suppose the initial state is

initialState = [0, 1]T .

Then the zero-input state response is

szero−input(n) = An initialState

cos(nω)

−sin(nω)

0

=

sin(nω)

cos(nω)

1

−sin(nω)

=

,

cos(nω)

and the zero-input response is

yzero−input(n) = cT An initialState

−sin(nω)

=

1

0

cos(nω)

=

−sin(nω).

Notice that without any input, as long as the initial state is non-zero, the system

will produce a sinusoidal output in perpetuity.

Lee & Varaiya, Signals and Systems

215

5.3. THE [A, B,C, D] REPRESENTATION OF A SYSTEM

If we instead consider the situation where the system is initially at rest, then we find

that the impulse response is

d,

if n = 0

h(n) =

.

cT An−1b,

if n ≥ 1

For the values of A, b, c in this example we obtain

0,

if n = 0

h(n) =

.

sin((n − 1)ω),

if n ≥ 1

Thus, if the oscillator is initially at rest, it can be started with an impulse, and its

output will henceforth be sinusoidal, similar to the zero-input response. Thus, if

the oscillator is initially at rest, it can be started with an impulse at the input.

5.3.5

Multidimensional MIMO systems

In the preceding sections, the input and output were both scalars. A MIMO system is only

slightly more complicated. A state-space model for such a system is

∀ n ∈ Z+, s(n + 1) = As(n) + Bx(n)

(5.38)

y(n)

= Cs(n) + Dx(n)

(5.39)

where, s(n) ∈ N

M

K

R , x(n) ∈ R

and y(n) ∈ R , for any integer n. In the [A, B,C, D] repre-

sentation, A is an N × N (square) matrix, B is an N × M matrix, C is a K × N matrix, and

D is a K × M matrix. Now that these are all matrices, it is conventional to write them with

capital letters.

Let initialState ∈ N

R

be a given initial state. Let x(0), x(1), x(2), · · · , be a sequence of

inputs in

M

R

(each input is a vector of dimension M). The state response of (5.38) is

given by

n−1

s(n) = AninitialState + ∑ An−1−mBx(m)

(5.40)

m=0

for all n ≥ 0, and the output sequence of (5.39) is given by

n−1

y(n) = CAninitialState +

∑ CAn−1−mBx(m) + Dx(n)

(5.41)

m=0

216

Lee & Varaiya, Signals and Systems

5. LINEAR SYSTEMS

for all n ≥ 0 (each output is a vector of dimension K).

The right-hand sides of these equations are the sum of a zero-input response and a zero-

state response. Consider the zero-state output response,

n−1

y(n) = ∑ CAn−1−mBx(m) + Dx(n)

(5.42)

m=0

for all n ≥ 0. Define the sequence h(0), h(1), h(2), · · · of K × M matrices by

D,

if n = 0

h(n) =

(5.43)

CAn−1B,

if n ≥ 1

This can no longer be called an impulse response, because the input cannot be an impulse;

it has the wrong dimension (see box).

From (5.42) it follows that the zero-state output response is given by

n

y(n) = ∑ h(n − m)x(m), n ≥ 0

(5.44)

m=0

This is once again a convolution sum.

The i, jth element of the matrix sequence h(0), h(1), · · · , namely

hi, j(0), hi, j(1), · · · ,

is indeed the impulse response of the SISO system whose input is x j and whose output is

yi. In terms of Figure 5.1, this is the SISO system obtained by setting all inputs except

the jth input to zero, and considering only the ith output. If B j denotes the jth column of

B and CT denotes the ith row of C, then h

i

i, j is the impulse response of the SISO system

[A, B j,Ci, Di,j]. All these SISO systems have the same A matrix.

5.3.6

Linear input-output function

In the systems that this chapter considers, the nextState and output functions are linear.

Recall that a function f : X → Y is linear if (and only if) it satisfies the superposition

property: for all x1, x2 ∈ X, and w, u ∈ R,

f (wx1 + ux2) = w f (x1) + u f (x2).

Lee & Varaiya, Signals and Systems

217

5.4. CONTINUOUS-TIME STATE-SPACE MODELS

What does it mean for a system to be linear? Recall that a system S is a function S : X → Y ,

where X and Y are signal spaces. For a MIMO system, X = [

M

K

Z → R ], and Y = [Z → R ].

The function S is defined by (5.41), which gives y = S(x), given x. So the answer is

obvious. S is a linear system if S is a linear function. (It is an LTI system if it is also time

invariant).

Examining (5.41), or its simpler SISO versions, (5.25) or (5.35), it is easy to see that superposition is satisfied if initialState is zero. This is because with zero initial state, the

output y(n) is a linear combination of the input samples x(n). Hence, a system given by

a state-space model that is initially at rest is a linear system. The superposition property

turns out to be an extremely useful property, as we will discover in the next chapters.

5.4

Continuous-time state-space models

A continuous-time state-space model for an LTI SISO system has the form

∀ t ∈ R+, ż(t) = Az(t) + bv(t)

(5.45)

w(t) = cT z(t) + dv(t)

(5.46)

where

• z:

N

R+ → R

gives the state response;

• ż(t) is the derivative with respect to time of z evaluated at t ∈ R+;

• v: R+ → R is the input signal; and

• w: R+ → R is the output signal.

As with the discrete-time SISO model, A is an N × N matrix, b and c are N × 1 column

vectors, and d is a scalar. As before, this is the [A, b, c, d] representation of the system, but

the equations are different.

Continuous-time systems are no longer state machines, since inputs, outputs, and state

transitions do not occur at discrete instances. Nevertheless, they share many properties of

discrete systems. The major difference between this model and that of (5.30) and (5.31)

is that instead of giving new state as a function of the input and the old state, (5.45) gives

the derivative of the state. The derivative of a vector z is simply the vector consisting of

the derivative of each element of the vector. A derivative, of course, gives the trend of the

state at any particular time. Giving a trend makes more sense than giving a new state for

a continuous-time system, because the state evolves continuously.

218

Lee & Varaiya, Signals and Systems

5. LINEAR SYSTEMS

All of the methods that we have developed for discrete-time systems can also be developed

for continuous-time systems. However, they get somewhat more challenging mathemat-

ically because the summations become integrals. We leave it to a more advanced text to

explore this.

A continuous-time state-space model may be approximated by a discrete-time state-space

model (see box). In fact, this approximation forms the basis for most computer simula-

tions of continuous-time systems.

5.5

Summary

This chapter has begun the exploration of state machines whose state update and output

functions are linear. The number of possible states for such systems is typically infinite,

so brute-force methods that enumerate the states will be ineffective. Instead, powerful

mathematical tools leverage the linearity of the key functions. This chapter barely begins

an exploration of the very rich set of tools that engineers have developed for such systems.

Subsequent chapters will continue that exploration.

Lee & Varaiya, Signals and Systems

219

5.5. SUMMARY

Basics: Functions yielding tuples

The ranges of the nextState and output functions are tuples. It helps if we break them

down further into an N-tuple and K-tuple of functions, one for each element of the result

tuple. That is, we define the functions

nextState

N

M

i : R

× R → R, i = 1,··· ,N,

such that ∀ s ∈ N

M

R , ∀x ∈ R ,

nextState(s, x) = (nextState1(s, x), · · · , nextStateN(s, x)).

We write simply

nextState = (nextState1, · · · , nextStateN).

The output function can be given similarly as

output = (output , · · · ,

1

output ),

K

where

output

N × M →

i : R

R

R, i = 1, · · · , K.

Using these, the state update equation and output equation can be written as follows.

For all n ∈ Z, n ≥ 0,

s1(n + 1)

=

nextState1((s1(n), · · · , sN(n)), (x1(n), · · · , xM(n))),

s2(n + 1)

=

nextState2((s1(n), · · · , sN(n)), (x1(n), · · · , xM(n))),

···

(5.6)

sN(n + 1)

=

nextStateN((s1(n), · · · , sN(n)), (x1(n), · · · , xM(n))),

and

y1(n)

=

output1((s1(n), · · · , sN(n)), (x1(n), · · · , xM(n))),

y2(n)

=

output2((s1(n), · · · , sN(n)), (x1(n), · · · , xM(n))),

···

(5.7)

yK(n)

=

output ((

K

s1(n), · · · , sN(n)), (x1(n), · · · , xM(n))).

This system of equations shows the structure of the operation of such a machine.

220

Lee & Varaiya, Signals and Systems

5. LINEAR SYSTEMS

Basics: Matrices and vectors

An M × N matrix A is written as

a

1,1

a1,2

··· a1,N

a

A =

2,1

a2,2

··· a2,N

.

···

···

··· ···

CaM,1 aM,2 · · · aM,N

The dimension of the matrix is said to be M × N, where the number of rows is always

given first, and the number of columns is given second. In general, the coefficients

of the matrix are real or complex numbers, so they support all the standard arithmetic

operations. We write the matrix more compactly as

A = [ai, j, 1 ≤ i ≤ M, 1 ≤ j ≤ N],

or, even more simply as A = [ai, j] when the dimension of A is understood. The matrix

entries ai, j are called the coefficients of the matrix.

Lee & Varaiya, Signals and Systems

221

5.5. SUMMARY

Basics: Vectors

A vector is a matrix with only one row or only one column. An N-dimensional column

vector s is written as an N × 1 matrix

s

1

s

s =

2

.

··· 

sN

An N-dimensional row vector zT is written as a 1 × N matrix

zT = [z1, z2, · · · , zN].

The transpose of a M × N matrix A = [ai, j] is the N × M matrix AT = [a j,i]. Therefore,

the transpose of an N-dimensional column vector s is the N-dimensional row vector sT ,

and the transpose of an N-dimensional row vector z is the N-dimensional column vector

zT .

From now on, unless explicitly stated otherwise, all vectors denoted s, x, y, b, c etc.

without the transpose notation are column vectors, and vectors denoted sT , xT , yT , bT , cT

with the transpose notation are row vectors. We follow convention and use lower case

letters to denote vectors and upper case letters to denote matrices.

A tuple of numeric values is often represented as a vector. A tuple, however, is neither

a “row” nor a “column.” Thus, the representation as a vector carries the additional

information that it is either a row or a column vector.

222

Lee & Varaiya, Signals and Systems

5. LINEAR SYSTEMS

Basics: Matrix arithmetic

Two matrices (or vectors, since they are also matrices) can be added or subtracted pro-

vided that they have the same dimension. Just as with adding or subtracting tuples,

the elements are added or subtracted. Thus if A = [ai, j] and B = [bi, j] and both have

dimension M × N, then

A + B = [ai, j + bi, j].

Under certain circumstances, matrices can also be multiplied. If A has dimension M × N

and B has dimension N × P, then the product AB is defined. The number of columns of

A must equal the number of rows of B. Suppose the matrices are given by

a

1,1

a1,2

··· a1,N

b1,1

b1,2

··· b1,P

a

b

A =

2,1

a2,2

··· a2,N

,

2,1

b2,2

··· b2,P

.

···

···

··· ···

B =  ··· ··· ··· ··· 

aM,1 aM,2 · · · aM,N

bN,1 bN,2 · · · bN,P

Then the i, j element of the product C = AB isa

N

ci, j = ∑ ai,mbm,j.

(5.9)

m=1

The product C has dimension M × P. (Continued on page 224. )

aIf this notation is unfamiliar, see box on page 77.

Lee & Varaiya, Signals and Systems

223

5.5. SUMMARY

Basics: Matrix arithmetic (continued from page 223)

Matrix multiplication also works if one of the matrices is a vector. If b is a column

vector of dimension N, then c = Ab as defined by (5.9) is a column vector of dimension

M. If on the other hand bT is a row vector of dimension M, then cT = bT A as defined by

(5.9) is a row vector of dimension N.

Multiplying a matrix by a vector can be interpreted as applying a function to a tuple.

The vector is the tuple and the matrix (together with the definition of matrix multiplica-

tion) defines the function. Thus, in introducing matrix multiplication into our systems,

we are doing nothing new except introducing a more compact notation for defining a

particular class of functions.

A matrix A is a square matrix if it has the same number of rows and columns. A

square matrix may be multiplied by itself. Thus, An for some integer n > 0 is defined to

be A multiplied by itself n times. A0 is defined to be the identity matrix, also written I,

which has ones along the diagonal and zeros everywhere else. If A has an inverse, then

that inverse is denoted A−1, and AA−1 = A−1A = I.

1

2.5

0.8

2

0.6

1.5

x

s

0.4

1

0.2

0.5

0

0

-5

0

5

10

-5

0

5

10

n

n

Figure 5.2: Plots of the impulse (left) and the impulse response of example 5.12 (right)

for r = 0.1.

224

Lee & Varaiya, Signals and Systems

5. LINEAR SYSTEMS

h( n)

1

0.7

0.49

0.343

...

... n

Figure 5.3: Impulse response of the echo example 5.16 for α = 0.7 and N = 4.

Probing Further: Impulse Responses of MIMO Systems

The h function in (5.43) is not the impulse response of a MIMO system with represen-

tation [A, B,C, D]. However, with some care, it is possible to relate it to a set of impulse

responses that characterize the system.

The system has M inputs and K outputs, and for each integer n, h(n) in (5.43) is a

K × M matrix. Each input symbol x(n) is an M-tuple of reals. Let xm(n) represent the m-

th element in this tuple, and let xm represent the sequence of such elements. Similarly,

let yk(n) represent the k-th element of the output tuple, and yk the sequence of such

outputs. Finally, let hk,m(n) represent the k, m-th element of the matrix h(n), and let hk,m

represen