Uploaded by Truman

Brathi

advertisement
5. State-space analysis of LTI systems (Chapter 10).
The organization of the book permits much flexibility in teaching the continuous-time and discrete-time concepts. The natural
sequence of chapters is meant to integrate continuous-time and discrete-time analysis. It is also possible to use a sequential
approach in which all the continuous-time analysis is covered first (Chapters 1, 2, 4, 6, 7, and 8), followed by discrete-time
analysis (Chapters 3, 5, and 9).
SUGGESTIONS FOR USING THIS BOOK
The book can be readily tailored for a variety of courses spanning 30 to 45 lecture hours. Most of the material in the first eight
chapters can be covered at a brisk pace in about 45 hours. The book can also be used for a 30-lecture-hour course by
covering only analog material (Chapters 1, 2, 4, 6, 7, and possibly selected topics in Chapter 8). Alternately, one can also
select Chapters 1 to 5 for courses purely devoted to systems analysis or transform techniques. To treat continuous- and
discrete-time systems by using an integrated (or parallel) approach, the appropriate sequence of Chapters is 1, 2, 3, 4, 5, 6, 7,
and 8. For a sequential approach, where the continuous-time analysis is followed by discrete-time analysis, the proper chapter
sequence is 1, 2, 4, 6, 7, 8, 3, 5, and possibly 9 (depending on the time availability).
Logically, the Fourier transform should precede the Laplace transform. I have used such an approach in the companion
volume, Signal Processing and Linear Systems (Oxford, 1998). However, a sizable number of instructors feel that it is easier for
students to learn Fourier after Laplace. Such an approach has an appeal because of the gradual progression of difficulty, in the
sense that the relatively more difficult concepts of Fourier are treated after the simpler area of Laplace. This book is written to
accommodate that viewpoint. For those who wish to see Fourier before Laplace, there is Signal Processing and Linear
Systems.
NOTABLE FEATURES
The notable features of this book include the following:
1. Intuitive and heuristic understanding of the concepts and physical meaning of mathematical results are
emphasized throughout. Such an approach not only leads to deeper appreciation and easier comprehension of
the concepts, but also makes learning enjoyable for students.
2. Many students are handicapped by an inadequate background in basic material such as complex numbers,
sinusoids, quick sketching of functions, Cramer's rule, partial fraction expansion, and matrix algebra. I have added
a chapter that addresses these basic and pervasive topics in electrical engineering. Response by students has
been unanimously enthusiastic.
3. There are more than 200 worked examples in addition to exercises (usually with answers) for students to test their
understanding. There is also a large number of selected problems of varying difficulty at the end of each chapter.
4. For instructors who like to get students involved with computers, several examples are worked out by means of
MATLAB, which is becoming a standard software package in electrical engineering curricula. There is also a
MATLAB session at the end of each chapter. The problem set contains several computer problems. Working
computer examples or problems, though not essential for the use of this book, is highly recommended.
5. The discrete-time and continuous-time systems may be treated in sequence, or they may be integrated by using
a parallel approach.
6. The summary at the end of each chapter proves helpful to students in summing up essential developments in the
chapter.
7. There are several historical notes to enhance student's interest in the subject. This information introduces students
to the historical background that influenced the development of electrical engineering.
ACKNOWLEDGMENTS
Several individuals have helped me in the preparation of this book. I am grateful for the helpful suggestions of the several
reviewers. I am most grateful to Prof. Yannis Tsividis of Columbia University, who provided his comprehensively thorough and
insightful feedback for the book. I also appreciate another comprehensive review by Prof. Roger Green. I thank Profs. Joe
Anderson of Tennessee Technological University, Kai S. Yeung of the University of Texas at Arlington, and Alexander
Poularikis of the University of Alabama at Huntsville for very thoughtful reviews. Thanks for helpful suggestions are also due to
Profs. Babajide Familoni of the University of Memphis, Leslie Collins of Duke University, R. Rajgopalan of the University of
Arizona, and William Edward Pierson from the U.S. Air Force Research Laboratory. Only those who write a book understand
that writing a book such as this is an obsessively time-consuming activity, which causes much hardship for the family
members, where the wife suffers the most. So what can I say except to thank my wife, Rajani, for enormous but invisible
sacrifices.
B. P. Lathi
MATLAB
MATLAB is a sophisticated language that serves as a powerful tool to better understand a myriad of topics, including control
theory, filter design, and, of course, linear systems and signals. MATLAB's flexible programming structure promotes rapid
development and analysis. Outstanding visualization capabilities provide unique insight into system behavior and signal
character. By exploring concepts with MATLAB, you will substantially increase your comfort with and understanding of course
topics.
As with any language, learning MATLAB is incremental and requires practice. This book provides two levels of exposure to
MATLAB. First, short computer examples are interspersed throughout the text to reinforce concepts and perform various
computations. These examples utilize standard MATLAB functions as well as functions from the control system, signal
processing, and symbolic math toolboxes. MATLAB has many more toolboxes available, but these three are commonly
available in many engineering departments.
A second and deeper level of exposure to MATLAB is achieved by concluding each chapter with a separate MATLAB session.
Taken together, these eleven sessions provide a self-contained introduction to the MATLAB environment that allows even
novice users to quickly gain MATLAB proficiency and competence. These sessions provide detailed instruction on how to use
MATLAB to solve problems in linear systems and signals. Except for the very last chapter, special care has been taken to
avoid the use of toolbox functions in the MATLAB sessions. Rather, readers are shown the process of developing their own
code. In this way, those readers without toolbox access are not at a disadvantage.
All computer code is available online (http://www.mathworks.com/support/books). Code for the computer examples in a given
chapter, say Chapter xx, is named CExx.m. Program yy from MATLAB Session xx is named MSxxPyy.m. Additionally, complete
code for each individual MATLAB session is named MSxx.m.
Roger Green
cart2pol
>> [z_rad, z_mag] = cart2pol(2, 3);
>> z_deg = z_rad* (180/pi);
>> disp(['(a) z_mag = ',num2str(z_mag),'; z_rad = ',num2str(z_rad), ...
>>
'; z_deg = ',num2str(z_deg)]);
(a) z mag = 3.6056; z rad = 0.98279; z deg = 56.3099
>> [z_rad, z_mag] = cart2pol(-2, 1);
>> z_deg = z_rad* (180/pi);
>> disp(['(b) z_mag = ',num2str(z_mag),'; z_rad = ',num2str(z_rad), ...
>>
'; z_deg = ',num2str(z_deg)]);
(b) z mag = 2.2361; z rad = 2.6779; z deg = 153.4349
pol2cart
>> [z_real, z_imag] = pol2cart(-3*pi/4,4);
>> disp (['z_real = ',num2str(z_real),'; z_imag = ',num2str(z_imag)]);
z real = -2.8284; z imag = -2.8284
>> z_1 = 3+j*4; z_2 = 2+j*3;
>> z_1z_2 = z_1*z_2;
>> z_1divz_2 = z_1/z_2;
>> disp(['z_1*z_2 = ',num2str(z_1 z_2),'; z_1/z_2 = ',num2str(z_1divz_2)]);
z 1*z 2 = -6+17i; z 1/z 2 = 1.3846-0.076923i
>> a= -3; b = 4;
>> [theta,C] = cart2pol(a,-b);
>> theta_deg = (180/pi)*theta;
>> disp(['C = ',num2str(C),'; theta = ',num2str(theta),...
>>
'; theta_deg = ',nu,2str(theta_deg)]);
C = 5; theta = -2.2143; theta deg = -126.8699
Q x
F x
m
n
workspace
whos
whos
whos
who
clear
clear
clc
clf
save
save
load
help.
help
help
help help
lookfor
help
lookfor
lookfor
print
format
exit
i
>> z = -3-j*4
z = -3.0000 - 4.0000i
real
imag
>> z_real = real(z); z_imag = imag(z);
z_real
z_imag
sqrt
>> z_mag = sqrt(z_real^2 + z_imag^2)
z_mag = 5
sqrt,
conj
>> z_mag = sqrt(z*conj(z))
z_mag = 5
abs
j
>> z_mag = abs(z)
z_mag = 5
angle
>> z_rad = angle(z)
>> z_deg = angle(z)*180/pi
pi
atan2
>> z_deg = atan(z_imag,z_real)
z_rad = -2.2143
cos sin tan
cot
acos asin atan asec acsc acot
acosh asinh atanh asech acsch
acoth
angle
sec csc
cosh sinh tanh sech csch coth
cos
>> cos(j)
ans = 1.5431
log10
log
>> log(-1)
ans = 0 + 3.1416i
a: b: c
c
>> k = 0:2:11
k = 0 2 4 6 8 10
0: 2: 11
>> k = 11:-10/3:00
k = 11.0000 7.6667 4.3333 1.0000
>> k = 0:11
k = 0 1 2 3 4 5 6 7 8 9 10 11
>> k = 0:2;
>> w = exp(j*(pi/3 + 2*pi*k/3))
w = 0.5000 + 0.8660i -1.0000 + 0.0000i 0.5000 - 0.8660i
>> k = 0:99;
>> w = exp(j*(pi/100 + 2*pi*k/100));
a
b
>> w(5)
ans = 0.9603 + 0.2790i
>> k(5)
ans = 4
98:100
>> w(98:100)
ans = 0.9877 - 0.1564i 0.9956 - 0.0941i 0.9995 - 0.0314i
>> t = 0:0.2/500:0.2-0.2/500;
>> f = sin(2*pi*10*t+pi/6);
>> f(1)
ans = 0.5000
f(1)
plot
>> plot(t, f);
xlabel
ylabel
>> xlabel('t'); ylabel('f(t)')
title
plot
>> plot(real(w),imag(w),'o');
o
>> xlabel('Re(w); ylabel('Im(w)');
>> axis equal
axis equal
axis
equal
semilogx semilogy
loglog
plot
image
contour
plot3 contour3 mesh
>> g = exp(-10*t);
>> h = f.*g;
plot
>> plot(t, f,'-k',t,h,':k');
>> xlabel('t'); ylabel('Amplitude');
>> legend('f(t)','h(t)');
-k
:k
surf
m n
ones(m,n)
x
diag(x)
a: b: c
>> r = [1 0 0]
r = 1 0 0
>> A = [2 3; 4 5; 0 6]
A = 2
3
4
5
0
6
>> c = r'
c = 1
0
0
r.
>> B = [c A]
B = 1
2
3
0
4
5
0
0
6
(conj (r))
x
eye(m)
>> B(1, 2)
ans = 2
>> B(1:2,2:3)
ans = 2
3
4
5
B(2,:)
>> B(2,:)
ans = 0
4 5
>> A = [1 -2 3;-sqrt(3) 1 -sqrt(5);3 -sqrt(7) 1];
>> y = [1;pi;exp(1)];
>> x = inv(A)*y
x = -1.9999
-3.8998
-1.5999
x = A\y
det
>> x1 = det([y,A(:,2:3)])/det(A)
x1 = -1.9999
>> alpha = (0:10);
>> t = (0:0.001:0.2)';
T
>> T = t*ones(1,11);
T
>> H = exp(-T*diag(alpha)).*sin(2*pi*10*T+pi/6);
T
>> plot(t,H); xlabel('t'); ylabel('h(t)');
residue
>> [R,P,K] = residue(B,A)
B
A
R
P
K
residue
>> [R,P,K] = residue( [1 0 0 0 0 pi], [1 -sqrt(8) 0 sqrt(32) -4])
R = 7.8888
5.9713
3.1107
0.1112
P = 1.4142
1.4142
1.4142
-1.4142
K = 1.0000
2.8284
residuez
residue
residue
repmat
T = repmat(t,1,11)
residuez
sound
det
residue
fr
fi
R
R
f = [f r; f i];
RRf
RRRf
u t
t
est
M
K
K
B
M
K
x(t)
q
q
y(t)
ht
x t
x t
x t x t
x t x t
est
x t
C
ej t
x t
t
x t
t
y
y
output
output
outputN
filename(input
input
inputM
variable = expression, statement,..., statement
n
un
hn
hn
hn
n
k
x k
zn
x n
n
x n
C
filename
x t
X s
x t
X s
T
ka a b b
H s
H s
RC
RC
z
X z
z
X n
X z
z
h n
H z
z
n
z
n
z
x n
X z
z
z
H S
T
z
ha t
hn
H z
Ha s
z
z
z
n
z
Download