Tải bản đầy đủ (.pdf) (6 trang)

CÁC bài THỰC HÀNH môn học tín HIỆU và hệ THỐNG bài 3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (324.6 KB, 6 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA ĐIỆN

CÁC BÀI THỰC HÀNH
MÔN HỌC

TÍN HIỆU VÀ HỆ THỐNG
( 6 bài)
Họ và tên sinh viên: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mã lớp thí nghiệm: . . . . . . . . . . Mã số sinh viên: . . . . . . . . . .
(Sinh viên phải nộp lại vào buổi bảo vệ tuần cuối cùng để chấm điểm)

HÀ NỘI - 2010

3-1


BÀI 3
Mô hình trạng thái và đáp ứng xung của hệ thống
I. Mục đích





Tính toán ma trận chuyển trạng thái và đáp ứng xung của hệ thống
Tìm hiểu một số lệnh hiển thị, lệnh tính toán với ma trận của MATLAB
Sử dụng MATLAB để soạn thảo các chương trình tính ma trận chuyển trạng thái và đáp ứng
xung của hệ thống

II. Yêu cầu đối với sinh viên






Thực hiện trước Bài 3.1 và 3.2 ở nhà.
Đọc tài liệu hướng dẫn và trả lời được các câu hỏi của CBHD trước khi làm thực hành
Hoàn thành nội dung bài thực hành (kể cả các bài về nhà) trước khi tham dự buổi tiếp theo

III. Nội dung
Bài 3.1 (tự chuẩn bị và làm ở nhà): Tính ma trận chuyển trạng thái của hệ liên tục
Mô hình trạng thái tuyến tính của một hệ SISO liên tục có dạng:

x = Ax + bu,

A ∈ \n×n ,b ∈ \n

y = cT x + du,

c ∈ \n ,d ∈ \

(3.1)

Với trạng thái đầu x(0) và tín hiệu vào u(t), đáp ứng của hệ thống được xác định như sau:

x(t ) = e At x(0) +

t

∫0 eA(t −τ )bu(τ )d τ


y(t ) = cT x(t ) + du(t )
At
trong đó ma trận hàm mũ e =

(3.2)



(At )k
còn được gọi là ma trận chuyển trạng thái. Như vậy,

k =0 k !

việc tính toán đáp ứng của một hệ tuyến tính có thể dựa vào tính toán ma trận chuyển trạng thái. Ký
hiệu I là ma trận đơn vị n × n, ta đã biết các giá trị riêng λi , i = 1, 2,… , n của ma trận A là các
nghiệm của đa thức bậc n sau đây

det(λI − A) = 0

(3.3)

Cách xác định ma trận chuyển trạng thái e At , dựa trên định lý Cayley Hamilton được cho như sau
e At = c0I + c1A + c2A2 + "cn −1An −1

(3.4)

trong đó các hệ số ci là các hàm của các giá trị riêng λ . Trong trường hợp các giá trị riêng của ma
trận A là phân biệt, các hệ số ci được tính từ lời giải của hệ phương trình:

c0 + c1λ1 + c2λ12 + " + cn −1λ1n −1 = eλ1t

c0 + c1λ2 + c2λ22 + " + cn −1λ2n −1 = eλ2t
"
c0 + c1λn + c2λn2 + " + cn −1λnn −1 = eλnt
(3.5)
) Dựa vào các công thức (3.3) ÷ (3.5), các em hãy tính toán ma trận chuyển trạng thái eAt khi cho
⎡−2 1 ⎤
⎥ và ghi lời giải vào phần dưới đây.
A= ⎢
⎢⎣ 0 −1 ⎥⎦

...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
3-2


...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
Bài 3.2 (tự chuẩn bị và làm ở nhà): Tính ma trận chuyển trạng thái và đáp ứng xung của một
hệ không liên tục
Mô hình trạng thái tuyến tính của một hệ SISO không liên tục có dạng:
x(k + 1) = Ax (k ) + bu(k ),

A ∈ \n×n ,b ∈ \n

y(k ) = cT x(k ) + du(k ),


c ∈ \n ,d ∈ \

(3.6)

Với trạng thái đầu x(0) và tín hiệu vào u(k), đáp ứng của hệ thống được xác định như sau:
k −1

x(k ) = A x(0) + ∑ Ak −i −1bu(k )
k

i =0

k −1


y(k ) = cT ⎜⎜⎜ Ak x(0) + ∑ Ak −i −1bu(k ) ⎟⎟⎟ + du(k )
⎜⎝
⎠⎟
i =0

(3.7)

Đáp ứng xung g(k) của hệ sẽ là:

g(k ) = cT Ak −1b + d δ [ k ]
Ma trận chuyển trạng thái An được tính toán từ định lý Cayley Hamilton như sau
An = c0I + c1A + c2A2 + " + cN −1AN −1
trong đó


(3.8)
(3.9)

và λ1 , λ2 ,… , λN là N giá trị riêng phân biệt của ma trận A.
) Dựa trên các các công thức (3.8) và (3.9) các em hãy tìm lời giải (dạng biểu thức) cho đáp ứng
xung của hệ có các tham số:
⎡ −a1 1 ⎤
⎡ b1 − b2a1 ⎤
⎥,
⎥ , cT = [ 1 0 ] và d = b2 .
A=⎢
b=⎢
⎢⎣ −a0 0 ⎥⎦
⎢⎣ b0 − b2a0 ⎥⎦

a1 = −2, a0 = 3, b2 = 2, b1 = −3, b0 = 4.
Kết quả:
............................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
3-3


Bài 3.3 (thực hiện có hướng dẫn tại PTN): Tính đáp ứng xung của hệ liên tục
Cho hệ thống liên tục có mô hình trạng thái tuyến tính:

x (t ) = Ax(t ) + bu(t )

y(t ) = cT x (t ) + du(t )
Đáp ứng xung của hệ được cho bởi:
g(t ) = cT e Atb + d δ(t )

(3.10)

At
Bây giờ ta sẽ sử dụng MATLAB để tính toán ma trận chuyển trạng thái e
và đáp ứng xung g(t )
của hệ với bộ tham số:
⎡ -2 1 ⎤
⎡0⎤
⎥,
A= ⎢
b = ⎢ ⎥ , cT = [ 1 1 ] và d = 0.
⎢⎣ 0 1 ⎥⎦
⎢⎣ 1 ⎥⎦

a) Ta có thể dùng hàm eig(x) để tìm giá trị riêng của một ma trận n × n. Ngoài ra, MATLAB còn
có hàm fprintf(fid format, A, ...) để viết dữ liệu được định dạng vào file. Muốn biết hàm fprint
được sử dụng như thế nào, ta có thể gõ lệnh help fprintf.
) Các em hãy gõ đoạn lệnh dưới đây và ghi kết quả của đoạn lệnh này vào phần chấm chấm.
A=[-2 1;0 -1]; e = eig(A); fprintf(' \n'); fprintf('lambda1 = %5.2f \t', e(1)); ...
fprintf('lambda2 = %5.2f \t', e(2)); fprintf(' \n');

Kết quả:
................................................................................................................................................................
b) Vì A là ma trận 2 × 2, chúng ta sử dụng hai thành phần đầu tiên trong công thức (3.4)


eAt = c0I + c1A

(3.11a)

trong đó a0 và a1 nhận được từ
c0 + c1λ1 = eλ1t
c0 + c1λ2 = eλ2t

hay

c0 − 2c1 = e −2t
c0 − c1 = e −t

(3.11b)

) Các em gõ đoạn lệnh dưới đây để tìm lời giải của hệ phương trình (3.11b) và ghi kết quả của
đoạn lệnh này vào phần chấm chấm.
Q=[1 -2; 1 -1]; q=sym('[exp(-2*t); exp(-t)]'); c=Q\q; fprintf(' \n');...
disp('c0 = '); disp(c(1)); disp('c1 = '); disp(c(2));

Kết quả:
................................................................................................................................................................
c) Tiếp theo ta thực hiện việc thay thế các giá trị trên vào (3.11a) và tính toán ma trận để tìm ma
trận chuyển trạng thái. Để ý rằng hàm eye(n) trong MATLAB được sử dụng để tạo một ma trận
đơn vị n × n.
syms t ; c0 = -exp(-2*t)+2*exp(-t); c1 = -exp(-2*t)+exp(-t);
A=[-2 1;0 -1]; eAt=c0*eye(2)+c1*A ;

Kết quả:

................................................................................................................................................................
................................................................................................................................................................
d) Cuối cùng ta sử dụng công thức (3.10) để tìm đáp ứng xung của hệ. MATLAB có hàm Dirac(t)
để biểu diễn xung đơn vị δ (t ).
B=[0; 1]; C=[1 1]; D=2;
g=C*eAt*B + D*Dirac(t)

Kết quả:
...............................................................................................................................................................
3-4


Bài 3.4 (thực hiện có hướng dẫn tại PTN): Tính và vẽ đáp ứng xung của hệ không liên tục
Chương trình sau đây tính toán và vẽ đáp ứng xung của hệ không liên tục ở Bài 3.2 bằng hai cách:
a) Phương pháp lặp, áp dụng công thức (3.6)
b) Phương pháp trực tiếp, sử dụng lời giải dạng biểu thức tìm được ở Bài 3.2 (áp dụng công thức
tính đáp ứng xung 3.8)
)Các em hãy gõ lại chương trình trên và nhận xét kết quả:
% Program 3.4: Determining the impulse response using the state space model
clear; % clear variables and functions from memory
clf; % clear current figure
a1=-2;a0=3;b2=2;b1=-3;b0=4;
A=[-a1 1;-a0 0];C=[1 0];B=[b1-b2*a1; b0-b2*a0];D=b2; % state space model
N=10; % number of samples
h=(1:N)*0;
h(1)= D;% first iteration with nonzero input
x=B;
% iterative method
for n=2:N % subsequent iterations
h(n)=C*x;

x=A*x;
end
h(1:6)
% direct method
n=0:1:N-1;
ex= (sqrt(3)).^(n-1).*cos(atan(sqrt(2))*(n-1));
ex= ex-(1/sqrt(2))* (sqrt(3)).^(n-1).*sin(atan(sqrt(2))*(n-1));ex(1)=2;
ex(1:6)
plot(n,h,'*',n,ex,'o')
xlabel('n')
ylabel('h(n)')
title('Impulse response')
legend('iterative','direct')
40
computed
exact

30
20

h(n)

10
0
-10
-20
-30
-40

0


1

2

3

4

5

6

7

8

n

Hình 3.1. Đáp ứng xung của hệ thống cho Bài 3.4

3-5

9


Nhận xét:
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................

...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................

Bài 3.5 (về nhà tự làm)
Cho hệ thống liên tục được mô tả bởi mô hình trạng thái (3.1) trong đó
⎡ 0
1
0 ⎤


0
1 ⎥,
A=⎢ 0


⎢⎣ −6 −11 −6 ⎥⎦

⎡0⎤
⎢ ⎥
b = ⎢0⎥,
⎢ ⎥
⎢⎣ 1 ⎥⎦

cT = [ 1 1 0 ] và d = 0.

) Các em hãy sử dụng MATLAB để tìm đáp ứng xung của hệ thống (tham khảo Bài 3.3), sau đó

ghi lại các kết quả vào phần chấm chấm dưới đây.
Kết quả:
................................................................................................................................................................
................................................................................................................................................................
........................................................................................................................................... ................
................................................................................................................................................................
................................................................................................................................................................
........................................................................................................................................... ................
................................................................................................................................................................
................................................................................................................................................................
........................................................................................................................................... ................

3-6



×