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