1. Trang chủ
  2. » Công Nghệ Thông Tin

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

6 296 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 324,6 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ớ

Trang 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

Trang 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:

u

×

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:

( ) 0

t

T

trong đó ma trận hàm mũ

0

( )

!

k At

k

At e

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, ,… của ma trận A là các n

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 , dựa trên định lý Cayley Hamilton được cho như sau At

n

e A =c I +c A+c A +"cA − (3.4)

trong đó các hệ số c là các hàm của các giá trị riêng i λ 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ố c được tính từ lời giải của hệ phương trình: i

1 2 2 1 0 1 1 2 1 1 1 2 1 0 1 2 2 2 1 2 2 1 0 1 2 1

n n t n n t n n t n n n n c c c c e c c c c e c c c c e λ λ λ λ λ λ λ λ λ λ λ λ − − − − − − + + + + = + + + + = + + + + = " " " "

(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 e A t khi cho 2 1 = 0 1 ⎡− ⎤ ⎢ ⎥ ⎢ − ⎥ ⎣ ⎦ A và ghi lời giải vào phần dưới đây

Trang 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: ( 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à: g k( ) =c A b T k− 1 +d k δ[ ] (3.8) Ma trận chuyển trạng thái A n được tính toán từ định lý Cayley Hamilton như sau 2 1 0 1 2 1 n N N A =c I +c A+c A +"+cA − (3.9) trong đó và λ λ1, , ,2 … λNN 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 T a b b a a b b a ⎡− ⎤ ⎡ − ⎤ ⎢ ⎥ ⎢ ⎥ = = = ⎢− ⎥ ⎢ − ⎥ ⎣ ⎦ ⎣ ⎦ A b cd =b2 1 2, 3, 2, 3, 4.0 2 1 0 a = − a = b = b = − b = Kết quả:

Trang 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:

c



Đáp ứng xung của hệ được cho bởi:

g t =c e A b +d t δ (3.10) Bây giờ ta sẽ sử dụng MATLAB để tính toán ma trận chuyển trạng thái e A t và đáp ứng xung ( ) của hệ với bộ tham số:

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)

t

trong đó a và 0 a nhận được từ 1

1

2

0 1 1

0 1 2

t t

c c e

c c e

λ λ

λ λ

+ = hay

2

0 1

0 1

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ả:

Trang 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

computed exact

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

Trang 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 cd = 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ả:

Ngày đăng: 04/12/2015, 00:10

HÌNH ẢNH LIÊN QUAN

Hình 3.1. Đáp ứng xung của hệ thống cho Bài 3.4 - CÁC bài THỰC HÀNH môn học tín HIỆU và hệ THỐNG   bài 3
Hình 3.1. Đáp ứng xung của hệ thống cho Bài 3.4 (Trang 5)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w