intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

CÁC BÀI THỰC HÀNH MÔN HỌC TÍN HIỆU VÀ HỆ THỐNG - Bài 3

Chia sẻ: Nguyen Trung Kien | Ngày: | Loại File: PDF | Số trang:6

248
lượt xem
55
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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

Chủ đề:
Lưu

Nội dung Text: CÁC BÀI THỰC HÀNH MÔN HỌC TÍN HIỆU VÀ HỆ THỐNG - Bài 3

  1. 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
  2. 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: n×n n x = Ax + bu, A∈ ,b ∈ (3.1) y = cT x + du, n c∈ ,d ∈ 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: t ∫0 eA(t −τ )bu(τ )d τ x(t ) = e At x(0) + (3.2) y(t ) = cT x(t ) + du(t ) ∞ (At )k ∑ At trong đó ma trận hàm mũ e = 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 cn −1An −1 e At = c0I + c1A + c2A2 + (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: + cn −1λ1 −1 = eλ1t 2 n c0 + c1λ1 + c2λ1 + + cn −1λ2 −1 = eλ2t 2 n c0 + c1λ2 + c2λ2 + + cn −1λn −1 = eλnt 2 n c0 + c1λn + c2λn + (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 ⎤ A= ⎢ ⎥ và ghi lời giải vào phần dưới đây. ⎢⎣ 0 −1 ⎥⎦ ........................................................................................................................................................... ........................................................................................................................................................... ........................................................................................................................................................... ........................................................................................................................................................... 3-2
  3. ........................................................................................................................................................... ........................................................................................................................................................... ........................................................................................................................................................... ........................................................................................................................................................... ........................................................................................................................................................... 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: n×n n x(k + 1) = Ax (k ) + bu(k ), A∈ ,b ∈ (3.6) y(k ) = cT x(k ) + du(k ), n c∈ ,d ∈ 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 (3.7) ⎛ ⎞ k −1 y(k ) = cT ⎜ Ak x(0) + ∑ Ak −i −1bu(k ) ⎟ + du(k ) ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎝ ⎠ i =0 Đáp ứng xung g(k) của hệ sẽ là: g(k ) = cT Ak −1b + d δ [ k ] (3.8) 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 (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ố: ⎡ −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
  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: 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 và đáp ứng xung g(t ) Bây giờ ta sẽ sử dụng MATLAB để tính toán ma trận chuyển trạng thái e của hệ với bộ tham số: ⎡ -2 1 ⎤ ⎡0⎤ b = ⎢ ⎥ , cT = [ 1 1 ] và d = 0. A= ⎢ ⎥, ⎢⎣ 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 − 2c1 = e −2t hay (3.11b) c0 + c1λ2 = eλ2t c0 − c1 = e −t 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
  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') 40 computed 30 exact 20 10 h(n) 0 -10 -20 -30 -40 0 1 2 3 4 5 6 7 8 9 n Hình 3.1. Đáp ứng xung của hệ thống cho Bài 3.4 3-5
  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 0⎤ ⎡0⎤ 1 ⎢ ⎥ ⎢⎥ cT = [ 1 1 0 ] và d = 0. A=⎢ 0 1 ⎥, b = ⎢0⎥, 0 ⎢ ⎥ ⎢⎥ ⎢⎣ −6 −11 −6 ⎥⎦ ⎢⎣ 1 ⎥⎦ 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
8=>2