Bài thực hành môn Tín hiệu và hệ thống - 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
.......................................................................................
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:
( 1) ( ) ( ), ,
( ) ( ) ( ), ,
n n n
T n
k x k u k
y k x k du k d
×+ = + ∈ ∈
= + ∈ ∈
x A b A b
c c
\ \
\ \ (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:
1
1
0
1
1
0
( ) (0) ( )
( ) (0) ( ) ( )
k
k k i
i
k
T k k i
i
k bu k
y k bu k du k
−
− −
=
−
− −
=
= +
⎛ ⎞⎟⎜ ⎟= + +⎜ ⎟⎜ ⎟⎟⎜⎝ ⎠
∑
∑
x A x A
c A x A
(3.7)
Đáp ứng xung g(k) của hệ sẽ là:
[ ]1( ) T kg k d kδ−= +c A b (3.8)
Ma trận chuyển trạng thái nA được tính toán từ định lý Cayley Hamilton như sau
2 1
0 1 2 1
n N
NA c I c A c A c A −−= + + + +" (3.9)
trong đó
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ố:
[ ]1 1 2 1
0 0 2 0
1
, , 1 0
0
Ta b b a
a b b a
⎡− ⎤ ⎡ − ⎤⎢ ⎥ ⎢ ⎥= = =⎢ ⎥ ⎢ ⎥− −⎣ ⎦ ⎣ ⎦
A b c và 2.d b=
1 0 2 1 02, 3, 2, 3, 4.a a b b b= − = = = − =
Kết quả:
............................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
...........................................................................................................................................................
3-4
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:
( ) ( ) ( )
( ) ( ) ( )T
t t u t
y t x t du t
= +
= +
x Ax b
c
Đáp ứng xung của hệ được cho bởi:
( ) ( )T tg t e d tδ= +Ac b (3.10)
Bây giờ ta sẽ sử dụng MATLAB để tính toán ma trận chuyển trạng thái teA và đáp ứng xung ( )g t
của hệ với bộ tham số:
[ ]
-2 1 0
= , , 1 1
0 1 1
Tb c
⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦
A và 0.d =
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)
0 1te c c= +A I A (3.11a)
trong đó 0a và 1a nhận được từ
1
2
0 1 1
0 1 2
t
t
c c e
c c e
λ
λ
λ
λ
+ =
+ = hay
2
0 1
0 1
2 t
t
c c e
c c e
−
−
− =
− = (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-5
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')
0 1 2 3 4 5 6 7 8 9
-40
-30
-20
-10
0
10
20
30
40
n
h(
n)
computed
exact
Hình 3.1. Đáp ứng xung của hệ thống cho Bài 3.4
3-6
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
0 0 1 , 0 , 1 1 0
6 11 6 1
T
⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥= = =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥− − −⎣ ⎦ ⎣ ⎦
A b c và 0.d =
) 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ả:
................................................................................................................................................................
................................................................................................................................................................
........................................................................................................................................... ................
................................................................................................................................................................
................................................................................................................................................................
........................................................................................................................................... ................
................................................................................................................................................................
................................................................................................................................................................
........................................................................................................................................... ................
File đính kèm:
bai_thuc_hanh_mon_tin_hieu_va_he_thong_bai_3_mo_hinh_trang_t.pdf

